User Tools

Site Tools


docs:utils:symmetryop

This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== symmetryop ====== ''symmetryop'': apply a symmetry operation to a given field <code> options : -sn --sn <int> default == 0 apply s1, s2, or s3 symmetry (0 => use sx,sy,sz,ax,az,a) -sx --x-sign change u,x sign -sy --y-sign change v,y sign -sz --z-sign change w,z sign -ax --axshift <real> default == 0 translate x by ax*Lx -az --azshift <real> default == 0 translate z by az*Lz -anti --anti antisymmetry instead of symmetry -v --verbose print out some diagnostics <flowfield> (trailing arg 2) input field <flowfield> (trailing arg 1) output field </code> The [[:doc:math:symmetry|symmetries of 3D fields]] on x,z periodic, y bounded domains with Dirichlet or Neumann conditions at the walls can be parameterized as <latex> \sigma [u,v,w](x,y,z) = s [s_x u, s_y v, s_z w](s_x x + a_x L_x , \, s_y y, \, s_z z +a_z L_z) </latex> where s,sx,sy,sz, and are +/-1 and ax,az are real. The options to symmetryop set the values of these parameters, and the resulting symmetry is applied to the input field and saved to disk as the output field. The -sx,-sy,-sz options work as flags: using -sx sets sx = -1; otherwise sx = 1. Likewise the -anti option sets s = -1. For convenience the -sn option allows application of a few predefined symmetries that figure prominently in our research, namely <latex> $ \begin{align*} s_1 [u,v,w](u,v,w) &= [u, v, -w](x + L_x/2 , \, y, \, -z) \\ s_2 [u,v,w](u,v,w) &= [-u, -v, w](-x + L_x/2 , \, -y, \, z+L_z/2) \\ s_3 [u,v,w](u,v,w) &= [-u, -v, -w](-x , \, -y, \, -z+L_z/2) \end{align*} $ </latex> ====== Usage examples ====== ===== Translation ===== Translate the field g.ff by Lx/2 in x and save it in h.ff <code> symmetryop -ax 0.5 g h </code> ===== General ===== Apply s1 = [u,v,w] %%->%% [-u, -v, w](-x + L_x/2 , \, -y, \, z+L_z/2) to g.ff and save it in h.ff <code> symmetryop -sx -sy -ax 0.5 -az 0.5 g h </code> ===== Convenience ===== Apply s1 to g.ff and save it in h.ff, using the convenience -sn option <code> symmetryop -sn 1 g h </code>

docs/utils/symmetryop.1234372182.txt.gz · Last modified: 2009/02/11 09:09 by gibson