18 #ifndef CURL_CURL_EXACT_SOLUTION_H 19 #define CURL_CURL_EXACT_SOLUTION_H 21 #include "libmesh/libmesh_common.h" 22 #include "libmesh/vector_value.h" 34 const Real ux = (1.0 - y*y)*(1.0 - z*z);
35 const Real uy = (1.0 - x*x)*(1.0 - z*z);
36 const Real uz = (1.0 - x*x)*(1.0 - y*y);
43 const Real dux_dx = 0.0;
44 const Real dux_dy = (1.0 - z*z)*(-2.0*y);
45 const Real dux_dz = (1.0 - y*y)*(-2.0*z);
47 const Real duy_dx = (1.0 - z*z)*(-2.0*x);
48 const Real duy_dy = 0.0;
49 const Real duy_dz = (1.0 - x*x)*(-2.0*z);
51 const Real duz_dx = (1.0 - y*y)*(-2.0*x);
52 const Real duz_dy = (1.0 - x*x)*(-2.0*y);
53 const Real duz_dz = 0.0;
55 return RealTensor(dux_dx, dux_dy, dux_dz, duy_dx, duy_dy, duy_dz, duz_dx, duz_dy, duz_dz);
60 const Real duz_dy = (1.0 - x*x)*(-2.0*y);
61 const Real duy_dz = (1.0 - x*x)*(-2.0*z);
63 const Real dux_dz = (1.0 - y*y)*(-2.0*z);
64 const Real duz_dx = (1.0 - y*y)*(-2.0*x);
66 const Real dux_dy = (1.0 - z*z)*(-2.0*y);
67 const Real duy_dx = (1.0 - z*z)*(-2.0*x);
69 return RealGradient(duz_dy - duy_dz, dux_dz - duz_dx, duy_dx - dux_dy);
74 const Real fx = 2.0*(1.0 - y*y) + 2.0*(1.0 - z*z) + (1.0 - y*y)*(1.0 - z*z);
75 const Real fy = 2.0*(1.0 - x*x) + 2.0*(1.0 - z*z) + (1.0 - x*x)*(1.0 - z*z);
76 const Real fz = 2.0*(1.0 - x*x) + 2.0*(1.0 - y*y) + (1.0 - x*x)*(1.0 - y*y);
83 #endif // CURL_CURL_EXACT_SOLUTION_H RealVectorValue RealGradient
RealGradient forcing(Real x, Real y, Real z)
RealTensorValue RealTensor
RealGradient curl(Real x, Real y, Real z)
The libMesh namespace provides an interface to certain functionality in the library.
RealTensor grad(Real x, Real y, Real z)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
RealGradient operator()(Real x, Real y, Real z)
This class defines a tensor in LIBMESH_DIM dimensional Real or Complex space.