|
IFEM
90A354
|
Class for Lagrange-based finite element scalar fields in 3D. More...
#include <LagrangeField3D.h>


Public Member Functions | |
| LagrangeField3D (const ASMs3DLag *patch, const RealArray &v, char basis=1, char cmp=1, const char *name=nullptr) | |
| The constructor sets the number of space dimensions and fields. More... | |
| virtual | ~LagrangeField3D () |
| Empty destructor. | |
| double | valueNode (size_t node) const |
| Computes the value in a given node/control point. More... | |
| double | valueFE (const ItgPoint &x) const |
| Computes the value at a given local coordinate. More... | |
| bool | gradFE (const ItgPoint &x, Vector &grad) const |
| Computes the gradient for a given local coordinate. More... | |
Public Member Functions inherited from FieldBase | |
| virtual | ~FieldBase () |
| Empty destructor. | |
| size_t | getNoElm () const |
| Returns the number of elements. | |
| size_t | getNoNodes () const |
| Returns the number of nodal/control points. | |
Public Member Functions inherited from Field | |
| virtual | ~Field () |
| Empty destructor. | |
| const char * | getFieldName () const |
| Returns the name of field. | |
| virtual double | valueCoor (const Vec4 &x) const |
| Computes the value at a given global coordinate. More... | |
| virtual bool | valueGrid (RealArray &val, const int *npe) const |
| Computes the value at a grid of visualization points. More... | |
| virtual bool | gradCoor (const Vec4 &x, Vector &grad) const |
| Computes the gradient for a given global/physical coordinate. More... | |
| virtual bool | hessianFE (const ItgPoint &x, Matrix &H) const |
| Computes the hessian for a given local coordinate. More... | |
Protected Types | |
| using | IntMat = std::vector< std::vector< int > > |
| Convenience type. | |
Protected Attributes | |
| Matrix | coord |
| Matrix of nodel coordinates. | |
| IntMat | mnpc |
| Matrix of element nodes. | |
| int | p1 |
| Element order in first parameter direction. | |
| int | p2 |
| Element order in second parameter direction. | |
| int | p3 |
| Element order in third parameter direction. | |
Protected Attributes inherited from FieldBase | |
| size_t | nelm |
| Number of elements/knot-spans. | |
| size_t | nno |
| Number of nodes/control points. | |
| Vector | values |
| Nodal field values. | |
Protected Attributes inherited from Field | |
| std::string | fname |
| Name of the field. | |
Additional Inherited Members | |
Static Public Member Functions inherited from Field | |
| static Field * | create (const ASMbase *pch, const RealArray &v, char basis=1, char cmp=1, const char *name=nullptr) |
| Creates a dynamically allocated field object. More... | |
Protected Member Functions inherited from FieldBase | |
| FieldBase (const char *name=nullptr) | |
| The constructor sets the field name. More... | |
Protected Member Functions inherited from Field | |
| Field (const char *name=nullptr) | |
| The constructor sets the field name. More... | |
Class for Lagrange-based finite element scalar fields in 3D.
This class implements the methods required to evaluate a 3D Lagrange scalar field at a given point in parametrical or physical coordinates.
| LagrangeField3D::LagrangeField3D | ( | const ASMs3DLag * | patch, |
| const RealArray & | v, | ||
| char | basis = 1, |
||
| char | cmp = 1, |
||
| const char * | name = nullptr |
||
| ) |
The constructor sets the number of space dimensions and fields.
| [in] | patch | The spline patch on which the field is to be defined |
| [in] | v | Array of control point field values |
| [in] | basis | Basis to use from patch |
| [in] | cmp | Component to use |
| [in] | name | Name of field |
References utl::vector< T >::begin(), coord, ASMs3DLag::getNodalCoordinates(), ASMbase::getNoElms(), ASMbase::getNoFields(), ASMs3D::getNoNodes(), ASMs3DLag::getOrder(), FieldBase::nelm, FieldBase::nno, p1, p2, p3, utl::vector< T >::resize(), and FieldBase::values.
Computes the gradient for a given local coordinate.
| [in] | x | Local coordinate of evaluation point |
| [out] | grad | Gradient of solution in a given local coordinate |
Implements Field.
References Lagrange::computeBasis(), coord, ItgPoint::eta, utl::matrix< T >::fillColumn(), utl::matrix< T >::getColumn(), ItgPoint::iel, utl::Jacobian(), mnpc, utl::matrix< T >::multiply(), FieldBase::nelm, p1, p2, p3, utl::vector< T >::resize(), FieldBase::values, ItgPoint::xi, and ItgPoint::zeta.
|
virtual |
Computes the value at a given local coordinate.
| [in] | x | Local coordinate of evaluation point |
Implements Field.
References Lagrange::computeBasis(), ItgPoint::eta, ItgPoint::iel, mnpc, FieldBase::nelm, p1, p2, p3, FieldBase::values, ItgPoint::xi, and ItgPoint::zeta.
|
virtual |
Computes the value in a given node/control point.
| [in] | node | Node number |
Implements Field.
References FieldBase::nno, and FieldBase::values.