User Tools

Site Tools


docs:classes:fieldsymmetry

This is an old revision of the document!


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

====== FieldSymmetry ====== The FieldSymmetry class represents the symmetry group of FlowFields. Specifically, the periodic in x,z and polynomial in y expansions inherent in FlowFields allow the follow symmetries <latex> $ \begin{align*} [u,v,w](x,y,z) &\rightarrow [-u,-v,-w](x,y,z) \\ [u,v,w](x,y,z) &\rightarrow [-u, v, w](-x,y,z) \\ [u,v,w](x,y,z) &\rightarrow [ u, -v, w](x,-y,z) \\ [u,v,w](x,y,z) &\rightarrow [ u, v, -w](x, y,-z) \\ [u,v,w](x,y,z) &\rightarrow [ u, v, w](x+\ell_x, y, z+\ell_z) \end{align*} $ </latex> Let G be the group generated by these symmetries. Specific choice of boundary conditions at the walls might constrain the symmetry group of a specific flow to a subgroup G. But for generality,the FieldSymmetry class can represent any symmetry in G. The FieldSymmetry class parameterizes symmetries σ symmetries as follows. Any element of the symmetry group is defined by six parameters sigma = (sx, sy, sx, ax, az, s) sx, sy, sz, s = \pm 1 ax, az \in [-0.5, 0.5) with the action of sigma on a velocity field u as sigma [u, v, w](x,y,z) = s (sx u, sy v, sz w)(sx x + ax Lx, sy y, sz z + az Lz) In C++ code, elements of the symmetry group can be defined as follows FieldSymmetry sigma0(sx, sy, sz, ax, az, s); FieldSymmetry sigma1(sx, sy, sz, ax, az); // s defaults to 1 FieldSymmetry sigma2(sx, sy, sz); // s defaults to 1; ax,az to 0 FieldSymmetry tau(ax, az); // pure translation: s,sx,sy,sz default to 1 FieldSymmetry sigma3; // the identity: s defaults to 1; ax,az to 0; sx,sy,sz to 1 where sx,sy,sz are of type int and ax, az are of type Real. FieldSymmetries act on each other and velocity fields as follows FieldSymmetry sigma4 = sigma2 * sigma1; // group multiplication sigma4 *= sigma3; // sigma4 now equals sigma3*sigma2*sigma1 ---note order! FlowField u("u"); // read velocity field u from disk FlowField v = sigma1 * u; // v v *= sigma2; // v now equals sigma2 * sigma1 * u FieldSymmetries can be saved to / read from disk as follows sigma1.save("sigma1"); // saves to ASCII file sigma1.asc Any element of G is of the form

docs/classes/fieldsymmetry.1234795567.txt.gz · Last modified: 2009/02/16 06:46 by gibson