28 const int mNumDimensions ;
31 bool mFlipSign = false ;
34 const uint mDofMaganerIndex ;
73 const bool aFlipSign =
false,
74 const uint aDofManagerIndex = 0 );
79 set_fields(
const string & aScalarField,
const string & aGradientField );
104 poly1_2d(
const real x,
const real y );
107 poly2_2d(
const real x,
const real y );
110 poly3_2d(
const real x,
const real y );
113 poly4_2d(
const real x,
const real y );
134 (this->*mFunComputePoly)( aX );
140 (this->*mFunPoly2D )( aX( 0, 0 ), aX( 0, 1 ) );
144 Gradient::compute_poly_3d(
const Matrix< real > & aX )
146 (this->*mFunPoly3D )( aX( 0, 0 ), aX( 0, 1 ), aX( 0, 2 ) );
150 Gradient::poly1_2d(
const real x,
const real y )
158 Gradient::poly2_2d(
const real x,
const real y )
169 Gradient::poly3_2d(
const real x,
const real y )
177 mP( 6, 0 ) = mP( 3, 0 )*
x ;
178 mP( 7, 0 ) = mP( 3, 0 )*y ;
179 mP( 8, 0 ) =
x * mP( 5, 0 );
180 mP( 9, 0 ) = y * mP( 5, 0 );
184 Gradient::poly4_2d(
const real x,
const real y )
192 mP( 6, 0 ) = mP( 3, 0 )*
x ;
193 mP( 7, 0 ) = mP( 3, 0 )*y ;
194 mP( 8, 0 ) =
x * mP( 5, 0 );
195 mP( 9, 0 ) = y * mP( 5, 0 );
196 mP( 10, 0 ) = mP( 3, 0 ) * mP( 3, 0 );
197 mP( 11, 0 ) = mP( 6, 0 ) * y ;
198 mP( 12, 0 ) = mP( 3, 0 ) * mP( 5, 0 ) ;
199 mP( 13, 0 ) =
x * mP( 9, 0 ) ;
200 mP( 14, 0 ) = mP( 5, 0 ) * mP( 5, 0 ) ;
204 Gradient::poly1_3d(
const real x,
const real y,
const real z )
213 Gradient::poly2_3d(
const real x,
const real y,
const real z )
228 Gradient::poly3_3d(
const real x,
const real y,
const real z )
240 mP( 10, 0 ) = mP( 4, 0 ) *
x ;
241 mP( 11, 0 ) = mP( 4, 0 ) * y ;
242 mP( 12, 0 ) =
x * mP( 6, 0 ) ;
243 mP( 13, 0 ) = y * mP( 6, 0 ) ;
244 mP( 14, 0 ) = z * mP( 6, 0 ) ;
245 mP( 15, 0 ) = y * mP( 8, 0 ) ;
246 mP( 16, 0 ) = z * mP( 8, 0 ) ;
247 mP( 17, 0 ) =
x * mP( 8, 0 ) ;
248 mP( 18, 0 ) = mP( 4, 0 ) * z ;
249 mP( 19, 0 ) =
x * y * z ;
253 Gradient::poly4_3d(
const real x,
const real y,
const real z )
265 mP( 10, 0 ) = mP( 4, 0 ) *
x ;
266 mP( 11, 0 ) = mP( 4, 0 ) * y ;
267 mP( 12, 0 ) =
x * mP( 6, 0 ) ;
268 mP( 13, 0 ) = y * mP( 6, 0 ) ;
269 mP( 14, 0 ) = z * mP( 6, 0 ) ;
270 mP( 15, 0 ) = y * mP( 8, 0 ) ;
271 mP( 16, 0 ) = z * mP( 8, 0 ) ;
272 mP( 17, 0 ) =
x * mP( 8, 0 ) ;
273 mP( 18, 0 ) = mP( 4, 0 ) * z ;
274 mP( 19, 0 ) =
x * y * z ;
275 mP( 20, 0 ) = mP( 4, 0 ) * mP( 4, 0 ) ;
276 mP( 21, 0 ) = mP( 4, 0 ) * mP( 5, 0 ) ;
277 mP( 22, 0 ) = mP( 4, 0 ) * mP( 6, 0 ) ;
278 mP( 23, 0 ) = mP( 5, 0 ) * mP( 6, 0 ) ;
279 mP( 24, 0 ) = mP( 6, 0 ) * mP( 6, 0 ) ;
280 mP( 25, 0 ) = mP( 6, 0 ) * mP( 7, 0 ) ;
281 mP( 26, 0 ) = mP( 6, 0 ) * mP( 8, 0 ) ;
282 mP( 27, 0 ) = mP( 7, 0 ) * mP( 8, 0 ) ;
283 mP( 28, 0 ) = mP( 8, 0 ) * mP( 8, 0 ) ;
284 mP( 29, 0 ) = mP( 9, 0 ) * mP( 8, 0 ) ;
285 mP( 30, 0 ) = mP( 4, 0 ) * mP( 8, 0 ) ;
286 mP( 31, 0 ) = mP( 9, 0 ) * mP( 4, 0 ) ;
287 mP( 32, 0 ) = mP( 4, 0 ) * mP( 7, 0 ) ;
288 mP( 33, 0 ) = mP( 6, 0 ) * mP( 9, 0 ) ;
289 mP( 34, 0 ) = mP( 5, 0 ) * mP( 8, 0 ) ;
Cell is a wrapper around the standard vector.
Definition cl_Cell.hpp:42
Hash map (unordered key-value).
Definition cl_Map.hpp:75
void set_fields(const string &aScalarField, const string &aGradientField)
Definition cl_Gradient.cpp:79
Gradient(Kernel *aKernel, const Vector< id_t > &aBlocksIDs, const bool aFlipSign=false, const uint aDofManagerIndex=0)
Definition cl_Gradient.cpp:11
~Gradient() override=default
void run() override
Definition cl_Gradient.cpp:291
void set_order(const uint aOrder)
Definition cl_Gradient.cpp:229
virtual void process_node(mesh::Node *aNode)
Definition cl_Gradient.cpp:100
Top-level orchestrator; owns the mesh, materials, boundary conditions and DOF managers.
Definition cl_FEM_Kernel.hpp:50
Postprocessor(Kernel *aKernel, DofManager *aField=nullptr)
Definition cl_FEM_Postprocessor.cpp:20
Definition cl_IFB_LINE3.hpp:21
USER GUIDES:
Definition cl_Capacitor.cpp:16
unsigned int uint
Definition typedefs.hpp:30
double real
Definition typedefs.hpp:36
float x
Definition test_curve_frame.py:28