|
IFEM
90A354
|
A vector-valued spatial function, defined through a vector field. More...
#include <FieldFunctions.h>


Public Member Functions | |
| VecFieldFunction (const std::string &fileName, const std::string &basisName, const std::string &fieldName, int level=0) | |
| The constructor creates a field from the provided HDF5-file. More... | |
| VecFieldFunction (const std::vector< Fields * > &fields) | |
| Wrap existing fields. More... | |
| virtual | ~VecFieldFunction () |
| Empty destructor. | |
| bool | initPatch (size_t pIdx) override |
| Sets the active patch. | |
Public Member Functions inherited from VecFunc | |
| unsigned char | getType () const override |
| Returns the function type flag. | |
| std::vector< Real > | getValue (const Vec3 &X) const override |
| Returns the function value as an array. | |
| Real | getScalarValue (const Vec3 &X) const override |
| Returns a representative scalar equivalent of the function value. | |
| Tensor | gradient (const Vec3 &X) const |
| Evaluates first derivatives of the function. | |
| utl::matrix3d< Real > | hessian (const Vec3 &X) const |
| Evaluates second derivatives of the function. | |
| Vec3 | timeDerivative (const Vec3 &X) const |
| Evaluates time derivatives of the function. | |
Public Member Functions inherited from utl::SpatialFunction< Vec3 > | |
| virtual Vec3 | deriv (const Vec3 &, int) const |
| Returns a first-derivative of the function. | |
| virtual Vec3 | dderiv (const Vec3 &, int, int) const |
| Returns a second-derivative of the function. | |
Public Member Functions inherited from utl::Function< Arg, Result > | |
| virtual | ~Function () |
| Empty destructor. | |
| virtual bool | isZero () const |
| Returns whether the function is identically zero or not. | |
| virtual bool | isConstant () const |
| Returns whether the function is time-independent or not. | |
| Result | operator() (const Arg &x) const |
| Operator returning the function value for the given argument. | |
Public Member Functions inherited from FunctionBase | |
| virtual | ~FunctionBase () |
| Empty destructor. | |
| size_t | dim () const |
| Returns the number of components of the return value. | |
| virtual bool | inDomain (const Vec3 &) const |
| Checks if a specified point is within the function domain. | |
| virtual void | setParam (const std::string &, Real) |
| Sets an additional parameter in the function. | |
| void | setParam (const std::string &name, const Vec3 &value) |
| Sets additional parameter values in the function. | |
Protected Member Functions | |
| Vec3 | evaluate (const Vec3 &X) const override |
| Evaluates the vectorial field function. | |
| std::vector< Real > | evalGradient (const Vec3 &X) const override |
| Returns the gradient of the function as a 1D array. | |
| std::vector< Real > | evalHessian (const Vec3 &X) const override |
| Returns the hessian of the function as a 1D array. | |
Protected Member Functions inherited from VecFunc | |
| VecFunc (size_t n=3) | |
| The constructor is protected to allow sub-class instances only. | |
Protected Member Functions inherited from utl::SpatialFunction< Vec3 > | |
| SpatialFunction (const Vec3 &val) | |
| The constructor is protected to allow sub-class instances only. | |
| virtual std::vector< Real > | evalTimeDerivative (const Vec3 &) const |
| Returns the time derivatives of the function as a 1D array. | |
Protected Member Functions inherited from utl::Function< Arg, Result > | |
| Function () | |
| The constructor is protected to allow sub-class instances only. | |
| virtual Result | evaluate (const Arg &x) const =0 |
| Evaluates the function for the argument x. | |
Protected Member Functions inherited from FunctionBase | |
| FunctionBase () | |
| The constructor is protected to allow sub-class instances only. | |
Additional Inherited Members | |
Public Types inherited from utl::Function< Arg, Result > | |
| typedef Arg | Input |
| Input type. | |
| typedef Result | Output |
| Output type. | |
Protected Attributes inherited from utl::SpatialFunction< Vec3 > | |
| Vec3 | zero |
| Return value for default implementations of derivatives. | |
Protected Attributes inherited from FunctionBase | |
| size_t | ncmp |
| Number of components in the return value. | |
Private Member Functions inherited from FieldsFuncBase | |
| FieldsFuncBase (const std::vector< Fields * > &fields) | |
| Construct from vector of fields. More... | |
| FieldsFuncBase (const std::string &fileName, const std::string &basisName, const std::string &fieldName, int level) | |
| The constructor creates a field from the provided HDF5-file. More... | |
| virtual | ~FieldsFuncBase () |
| The destructor deletes the vector fields. | |
| virtual void | addPatchField (ASMbase *pch, const std::vector< Real > &coefs, int nf, int basis) |
| Adds a patch-wise field with the given coefficient values. More... | |
| virtual void | clearField () |
| Clears the field container. | |
| std::vector< Real > | getValues (const Vec3 &X) |
| Evaluates the field at the givent point X. | |
| std::vector< Real > | getGradient (const Vec3 &X) const |
| Evaluates the field gradient at the givent point X. | |
| std::vector< Real > | getHessian (const Vec3 &X) const |
| Evaluates the field gradient at the givent point X. | |
Private Member Functions inherited from FieldFuncHDF5 | |
| FieldFuncHDF5 () | |
| Default constructor. | |
| FieldFuncHDF5 (const std::string &fileName) | |
| The constructor opens the provided HDF5-file. More... | |
| FieldFuncHDF5 (const FieldFuncHDF5 &)=delete | |
| No copying of this class. | |
| virtual | ~FieldFuncHDF5 () |
| The destructor closes the HDF5-file. | |
| bool | load (const std::vector< std::string > &fieldNames, const std::string &basisName, int level, bool isScalar=false) |
| Loads field values for the specified time level. More... | |
| int | findClosestLevel (double time) const |
| Finds the level whose time is closest to the specified time. | |
Private Member Functions inherited from FieldFuncBase | |
| FieldFuncBase () | |
| Default constructor. | |
| FieldFuncBase (const FieldFuncBase &)=delete | |
| No copying of this class. | |
| virtual | ~FieldFuncBase () |
| The destructor deletes the patches. | |
| bool | setPatch (size_t pIdx) |
| Sets the active patch. | |
Private Attributes inherited from FieldsFuncBase | |
| std::vector< std::string > | fName |
| Name of field components. | |
| std::string | bName |
| Name of basis. | |
| std::vector< Fields * > | field |
| The vector field to be evaluated. | |
Private Attributes inherited from FieldFuncHDF5 | |
| bool | hasMultipleLevels |
| True if we have multiple time levels. | |
| int | lastLevel |
| The last time level read from. | |
Private Attributes inherited from FieldFuncBase | |
| std::vector< ASMbase * > | patch |
| The patches on which the field is defined. | |
| size_t | pidx |
| Current patch index. | |
| size_t | npch |
| Number of patches in the field. | |
Static Private Attributes inherited from FieldFuncBase | |
| static constexpr int | FIXED_LEVEL = 1 << 24 |
| Bit flag in level for using fixed. | |
A vector-valued spatial function, defined through a vector field.
| VecFieldFunction::VecFieldFunction | ( | const std::string & | fileName, |
| const std::string & | basisName, | ||
| const std::string & | fieldName, | ||
| int | level = 0 |
||
| ) |
The constructor creates a field from the provided HDF5-file.
| [in] | fileName | Name of the HDF5-file |
| [in] | basisName | Name of the basis which the field values refer to |
| [in] | fieldName | Name of the field in the HDF5-file |
| [in] | level | Time level to read for |
References FieldsFuncBase::field, and FunctionBase::ncmp.
| VecFieldFunction::VecFieldFunction | ( | const std::vector< Fields * > & | fields | ) |
Wrap existing fields.
| fields | Fields to evaluate |
Takes ownership of given fields.
References FunctionBase::ncmp, and FieldFuncBase::npch.