![]() |
v0.14.0 |
Field evaluator interface. More...
#include <src/interfaces/FieldEvaluator.hpp>
Classes | |
struct | SetPts |
Default evaluator for setting integration points. More... | |
struct | SetPtsData |
Public Member Functions | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
FieldEvaluatorInterface (const MoFEM::Core &core) | |
template<typename VE , typename SPD = SetPtsData, typename SP = SetPts> | |
boost::shared_ptr< SPD > | getData (const double *ptr=nullptr, const int nb_eval_points=0, const double eps=1e-12, VERBOSITY_LEVELS verb=QUIET) |
Get the Data object. More... | |
DEPRECATED MoFEMErrorCode | buildTree3D (boost::shared_ptr< SetPtsData > spd_ptr, const std::string finite_element) |
DEPRECATED MoFEMErrorCode | buildTree2D (boost::shared_ptr< SetPtsData > spd_ptr, const std::string finite_element) |
DEPRECATED MoFEMErrorCode | evalFEAtThePoint3D (const double *const point, const double distance, const std::string problem, const std::string finite_element, boost::shared_ptr< SetPtsData > data_ptr, int lower_rank, int upper_rank, boost::shared_ptr< CacheTuple > cache_ptr, MoFEMTypes bh=MF_EXIST, VERBOSITY_LEVELS verb=QUIET) |
DEPRECATED MoFEMErrorCode | evalFEAtThePoint2D (const double *const point, const double distance, const std::string problem, const std::string finite_element, boost::shared_ptr< SetPtsData > data_ptr, int lower_rank, int upper_rank, boost::shared_ptr< CacheTuple > cache_ptr, MoFEMTypes bh=MF_EXIST, VERBOSITY_LEVELS verb=QUIET) |
template<int D> | |
MoFEMErrorCode | buildTree (boost::shared_ptr< SetPtsData > spd_ptr, const std::string finite_element) |
Build spatial tree. More... | |
template<int D> | |
MoFEMErrorCode | evalFEAtThePoint (const double *const point, const double distance, const std::string problem, const std::string finite_element, boost::shared_ptr< SetPtsData > data_ptr, int lower_rank, int upper_rank, boost::shared_ptr< CacheTuple > cache_ptr, MoFEMTypes bh=MF_EXIST, VERBOSITY_LEVELS verb=QUIET) |
Evaluate field at artbitray position. More... | |
template<> | |
MoFEMErrorCode | buildTree (boost::shared_ptr< SetPtsData > spd_ptr, const std::string finite_element) |
template<> | |
MoFEMErrorCode | buildTree (boost::shared_ptr< SetPtsData > spd_ptr, const std::string finite_element) |
template<> | |
MoFEMErrorCode | evalFEAtThePoint (const double *const point, const double distance, const std::string problem, const std::string finite_element, boost::shared_ptr< SetPtsData > data_ptr, int lower_rank, int upper_rank, boost::shared_ptr< CacheTuple > cache_ptr, MoFEMTypes bh, VERBOSITY_LEVELS verb) |
template<> | |
MoFEMErrorCode | evalFEAtThePoint (const double *const point, const double distance, const std::string problem, const std::string finite_element, boost::shared_ptr< SetPtsData > data_ptr, int lower_rank, int upper_rank, boost::shared_ptr< CacheTuple > cache_ptr, MoFEMTypes bh, VERBOSITY_LEVELS verb) |
template<> | |
MoFEMErrorCode | buildTree (boost::shared_ptr< SetPtsData > spd_ptr, const std::string finite_element) |
template<> | |
MoFEMErrorCode | buildTree (boost::shared_ptr< SetPtsData > spd_ptr, const std::string finite_element) |
template<> | |
MoFEMErrorCode | evalFEAtThePoint (const double *const point, const double distance, const std::string problem, const std::string finite_element, boost::shared_ptr< SetPtsData > data_ptr, int lower_rank, int upper_rank, boost::shared_ptr< CacheTuple > cache_ptr, MoFEMTypes bh, VERBOSITY_LEVELS verb) |
template<> | |
MoFEMErrorCode | evalFEAtThePoint (const double *const point, const double distance, const std::string problem, const std::string finite_element, boost::shared_ptr< SetPtsData > data_ptr, int lower_rank, int upper_rank, boost::shared_ptr< CacheTuple > cache_ptr, MoFEMTypes bh, VERBOSITY_LEVELS verb) |
![]() | |
template<class IFACE > | |
MoFEMErrorCode | registerInterface (bool error_if_registration_failed=true) |
Register interface. More... | |
template<class IFACE > | |
MoFEMErrorCode | getInterface (IFACE *&iface) const |
Get interface reference to pointer of interface. More... | |
template<class IFACE > | |
MoFEMErrorCode | getInterface (IFACE **const iface) const |
Get interface pointer to pointer of interface. More... | |
template<class IFACE , typename boost::enable_if< boost::is_pointer< IFACE >, int >::type = 0> | |
IFACE | getInterface () const |
Get interface pointer to pointer of interface. More... | |
template<class IFACE , typename boost::enable_if< boost::is_reference< IFACE >, int >::type = 0> | |
IFACE | getInterface () const |
Get reference to interface. More... | |
template<class IFACE > | |
IFACE * | getInterface () const |
Function returning pointer to interface. More... | |
virtual | ~UnknownInterface ()=default |
Public Attributes | |
MoFEM::Core & | cOre |
Private Member Functions | |
template<int D> | |
MoFEMErrorCode | buildTreeImpl (boost::shared_ptr< SetPtsData > spd_ptr, const std::string finite_element) |
template<int D> | |
MoFEMErrorCode | evalFEAtThePointImpl (const double *const point, const double distance, const std::string problem, const std::string finite_element, boost::shared_ptr< SetPtsData > data_ptr, int lower_rank, int upper_rank, boost::shared_ptr< CacheTuple > cache_ptr, MoFEMTypes bh=MF_EXIST, VERBOSITY_LEVELS verb=QUIET) |
Additional Inherited Members | |
![]() | |
static MoFEMErrorCode | getLibVersion (Version &version) |
Get library version. More... | |
static MoFEMErrorCode | getFileVersion (moab::Interface &moab, Version &version) |
Get database major version. More... | |
static MoFEMErrorCode | setFileVersion (moab::Interface &moab, Version version=Version(MoFEM_VERSION_MAJOR, MoFEM_VERSION_MINOR, MoFEM_VERSION_BUILD)) |
Get database major version. More... | |
static MoFEMErrorCode | getInterfaceVersion (Version &version) |
Get database major version. More... | |
Field evaluator interface.
Definition at line 21 of file FieldEvaluator.hpp.
MoFEM::FieldEvaluatorInterface::FieldEvaluatorInterface | ( | const MoFEM::Core & | core | ) |
Definition at line 8 of file FieldEvaluator.cpp.
MoFEMErrorCode MoFEM::FieldEvaluatorInterface::buildTree | ( | boost::shared_ptr< SetPtsData > | spd_ptr, |
const std::string | finite_element | ||
) |
Definition at line 58 of file FieldEvaluator.cpp.
MoFEMErrorCode MoFEM::FieldEvaluatorInterface::buildTree | ( | boost::shared_ptr< SetPtsData > | spd_ptr, |
const std::string | finite_element | ||
) |
Definition at line 65 of file FieldEvaluator.cpp.
MoFEMErrorCode MoFEM::FieldEvaluatorInterface::buildTree | ( | boost::shared_ptr< SetPtsData > | spd_ptr, |
const std::string | finite_element | ||
) |
Build spatial tree.
finite_element | finite element name |
MoFEMErrorCode MoFEM::FieldEvaluatorInterface::buildTree | ( | boost::shared_ptr< SetPtsData > | spd_ptr, |
const std::string | finite_element | ||
) |
MoFEMErrorCode MoFEM::FieldEvaluatorInterface::buildTree | ( | boost::shared_ptr< SetPtsData > | spd_ptr, |
const std::string | finite_element | ||
) |
MoFEMErrorCode MoFEM::FieldEvaluatorInterface::buildTree2D | ( | boost::shared_ptr< SetPtsData > | spd_ptr, |
const std::string | finite_element | ||
) |
Definition at line 77 of file FieldEvaluator.cpp.
MoFEMErrorCode MoFEM::FieldEvaluatorInterface::buildTree3D | ( | boost::shared_ptr< SetPtsData > | spd_ptr, |
const std::string | finite_element | ||
) |
Definition at line 71 of file FieldEvaluator.cpp.
|
private |
Definition at line 42 of file FieldEvaluator.cpp.
MoFEMErrorCode MoFEM::FieldEvaluatorInterface::evalFEAtThePoint | ( | const double *const | point, |
const double | distance, | ||
const std::string | problem, | ||
const std::string | finite_element, | ||
boost::shared_ptr< SetPtsData > | data_ptr, | ||
int | lower_rank, | ||
int | upper_rank, | ||
boost::shared_ptr< CacheTuple > | cache_ptr, | ||
MoFEMTypes | bh, | ||
VERBOSITY_LEVELS | verb | ||
) |
MoFEMErrorCode MoFEM::FieldEvaluatorInterface::evalFEAtThePoint | ( | const double *const | point, |
const double | distance, | ||
const std::string | problem, | ||
const std::string | finite_element, | ||
boost::shared_ptr< SetPtsData > | data_ptr, | ||
int | lower_rank, | ||
int | upper_rank, | ||
boost::shared_ptr< CacheTuple > | cache_ptr, | ||
MoFEMTypes | bh, | ||
VERBOSITY_LEVELS | verb | ||
) |
MoFEMErrorCode MoFEM::FieldEvaluatorInterface::evalFEAtThePoint | ( | const double *const | point, |
const double | distance, | ||
const std::string | problem, | ||
const std::string | finite_element, | ||
boost::shared_ptr< SetPtsData > | data_ptr, | ||
int | lower_rank, | ||
int | upper_rank, | ||
boost::shared_ptr< CacheTuple > | cache_ptr, | ||
MoFEMTypes | bh, | ||
VERBOSITY_LEVELS | verb | ||
) |
Definition at line 379 of file FieldEvaluator.cpp.
MoFEMErrorCode MoFEM::FieldEvaluatorInterface::evalFEAtThePoint | ( | const double *const | point, |
const double | distance, | ||
const std::string | problem, | ||
const std::string | finite_element, | ||
boost::shared_ptr< SetPtsData > | data_ptr, | ||
int | lower_rank, | ||
int | upper_rank, | ||
boost::shared_ptr< CacheTuple > | cache_ptr, | ||
MoFEMTypes | bh, | ||
VERBOSITY_LEVELS | verb | ||
) |
Definition at line 390 of file FieldEvaluator.cpp.
MoFEMErrorCode MoFEM::FieldEvaluatorInterface::evalFEAtThePoint | ( | const double *const | point, |
const double | distance, | ||
const std::string | problem, | ||
const std::string | finite_element, | ||
boost::shared_ptr< SetPtsData > | data_ptr, | ||
int | lower_rank, | ||
int | upper_rank, | ||
boost::shared_ptr< CacheTuple > | cache_ptr, | ||
MoFEMTypes | bh = MF_EXIST , |
||
VERBOSITY_LEVELS | verb = QUIET |
||
) |
Evaluate field at artbitray position.
point | point used to find tetrahedrons |
distance | distance from the point where tetrahedrons are searched |
problem | problem name |
finite_element | finite element name |
data_ptr | pointer to data abut gauss points |
lower_rank | lower processor |
upper_rank | upper process |
cache_ptr | cache or problem entities |
bh | control looping over entities, e.g. throwing error if element not found |
verb | verbosity level |
MoFEMErrorCode MoFEM::FieldEvaluatorInterface::evalFEAtThePoint2D | ( | const double *const | point, |
const double | distance, | ||
const std::string | problem, | ||
const std::string | finite_element, | ||
boost::shared_ptr< SetPtsData > | data_ptr, | ||
int | lower_rank, | ||
int | upper_rank, | ||
boost::shared_ptr< CacheTuple > | cache_ptr, | ||
MoFEMTypes | bh = MF_EXIST , |
||
VERBOSITY_LEVELS | verb = QUIET |
||
) |
Definition at line 409 of file FieldEvaluator.cpp.
MoFEMErrorCode MoFEM::FieldEvaluatorInterface::evalFEAtThePoint3D | ( | const double *const | point, |
const double | distance, | ||
const std::string | problem, | ||
const std::string | finite_element, | ||
boost::shared_ptr< SetPtsData > | data_ptr, | ||
int | lower_rank, | ||
int | upper_rank, | ||
boost::shared_ptr< CacheTuple > | cache_ptr, | ||
MoFEMTypes | bh = MF_EXIST , |
||
VERBOSITY_LEVELS | verb = QUIET |
||
) |
Definition at line 400 of file FieldEvaluator.cpp.
|
private |
Definition at line 175 of file FieldEvaluator.cpp.
|
inline |
Get the Data object.
Pack pointers with data structures for field evaluator and finite element. Function return shared pointer if returned shared pointer is reset; all data are destroyed. The idea is to pack all data in one structure, create shared pointer to it and return aliased shared pointer to one of the elements of the data structure. It is a bit complicated, but has great flexibility.
VE | |
SetPtsData | |
SetPts |
ptr | |
nb_eval_points | |
eps | |
verb |
Definition at line 107 of file FieldEvaluator.hpp.
|
virtual |
MoFEM::Core& MoFEM::FieldEvaluatorInterface::cOre |
Definition at line 26 of file FieldEvaluator.hpp.