Standing Wave

y1[x_,t_,A_,v_,f_]=A*Cos[2*π*f*((x/v)-t)];
y2[x_,t_,A_,v_,f_,ϕ_]=A*Cos[2*π*f*((-x/v)-t)-ϕ];
y[x_,t_,A_,v_,f_,ϕ_]=y1[x,t,A,v,f]+y2[x,t,A,v,f,ϕ];
Manipulate[
GraphicsGrid[
{
{Plot[y1[x,t,A,v,f],{x,0,40},
ImageSize->500,
PlotRange->{{0,40},{-0.4,0.4}},
PlotStyle->{RGBColor[0, 0.501961, 1],Thickness[0.010]},
Mesh->{Range[0,20,20]},
MeshStyle->{PointSize[.02],Red}]
},
{Plot[y2[x,t,A,v,f,ϕ],{x,0,40},
PlotRange->{{0,40},{-0.4,0.4}},
PlotStyle->{RGBColor[0, 0.501961, 1],Thickness[0.010]},
Mesh->{Range[0,20,20]},
MeshStyle->{PointSize[.02],Red}]
},
{Plot[y[x,t,A,v,f,ϕ],{x,0,40},
PlotRange->{{0,40},{-0.4,0.4}},
PlotStyle->{RGBColor[0, 0.501961, 1],Thickness[0.010]},
Mesh->{Range[0,20,20]},
MeshStyle->{PointSize[.02],Red}]
}
}
],
{{A,0.1,"A"},0,0.4, 0.01,Appearance->"Labeled"},
{{v,20,"v"},-50,50,1,Appearance->"Labeled"},
{{f,1,"f"},0.25,5,0.25,Appearance->"Labeled"},
Delimiter,
 {{ϕ,π},0,2π,(π/100),Appearance->"Labeled"},
Delimiter,
 {{t,0,"t"},0,20,0.0001,ControlType-> Animator, AnimationRunning-> False, AnimationRate->.25},
ControlPlacement->Right,
SaveDefinitions->True
]