v0.14.0 |
Manages complexities for integrating over finite elements and dofs. More...
Making loops on elements and entities | |
virtual MoFEMErrorCode | MoFEM::CoreInterface::problem_basic_method_postProcess (const Problem *problem_ptr, BasicMethod &method, int verb=DEFAULT_VERBOSITY)=0 |
Set data for BasicMethod. More... | |
virtual MoFEMErrorCode | MoFEM::CoreInterface::problem_basic_method_postProcess (const std::string &problem_name, BasicMethod &method, int verb=DEFAULT_VERBOSITY)=0 |
Set data for BasicMethod. More... | |
virtual MoFEMErrorCode | MoFEM::CoreInterface::loop_finite_elements (const std::string problem_name, const std::string &fe_name, FEMethod &method, boost::shared_ptr< NumeredEntFiniteElement_multiIndex > fe_ptr=nullptr, MoFEMTypes bh=MF_EXIST, CacheTupleWeakPtr cache_ptr=CacheTupleSharedPtr(), int verb=DEFAULT_VERBOSITY)=0 |
Make a loop over finite elements. More... | |
virtual MoFEMErrorCode | MoFEM::CoreInterface::loop_finite_elements (const Problem *problem_ptr, const std::string &fe_name, FEMethod &method, int lower_rank, int upper_rank, boost::shared_ptr< NumeredEntFiniteElement_multiIndex > fe_ptr=nullptr, MoFEMTypes bh=MF_EXIST, CacheTupleWeakPtr cache_ptr=CacheTupleSharedPtr(), int verb=DEFAULT_VERBOSITY)=0 |
Make a loop over finite elements on partitions from upper to lower rank. More... | |
virtual MoFEMErrorCode | MoFEM::CoreInterface::loop_finite_elements (const std::string problem_name, const std::string &fe_name, FEMethod &method, int lower_rank, int upper_rank, boost::shared_ptr< NumeredEntFiniteElement_multiIndex > fe_ptr=nullptr, MoFEMTypes bh=MF_EXIST, CacheTupleWeakPtr cache_ptr=CacheTupleSharedPtr(), int verb=DEFAULT_VERBOSITY)=0 |
Make a loop over finite elements on partitions from upper to lower rank. More... | |
virtual MoFEMErrorCode | MoFEM::CoreInterface::loop_dofs (const Problem *problem_ptr, const std::string &field_name, RowColData rc, DofMethod &method, int lower_rank, int upper_rank, int verb=DEFAULT_VERBOSITY)=0 |
Make a loop over dofs. More... | |
virtual MoFEMErrorCode | MoFEM::CoreInterface::loop_dofs (const std::string &problem_name, const std::string &field_name, RowColData rc, DofMethod &method, int lower_rank, int upper_rank, int verb=DEFAULT_VERBOSITY)=0 |
Make a loop over dofs. More... | |
virtual MoFEMErrorCode | MoFEM::CoreInterface::loop_dofs (const std::string &problem_name, const std::string &field_name, RowColData rc, DofMethod &method, int verb=DEFAULT_VERBOSITY)=0 |
Make a loop over dofs. More... | |
Manages complexities for integrating over finite elements and dofs.
|
pure virtual |
Make a loop over dofs.
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
Make a loop over dofs.
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
Make a loop over dofs.
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
Make a loop over finite elements on partitions from upper to lower rank.
This function is like swiss knife, is can be used to post-processing or matrix and vectors assembly. It makes loop over given finite element for given problem. The particular methods executed on each element are given by class derived form Interface::FEMethod. At beginning of each loop user defined function (method) preProcess() is called, for each element operator() is executed, at the end loop finalizes with user defined function (method) postProcess().
For more details please look to examples.
Interface::FEMethod
problem_ptr | pointer to problem consisting set of elements |
fe_name | name of element in problem |
method | class derived form Interface::FEMethod |
lower_rank | lower rank of process owned by finite element |
upper_rank | lower rank of process owned by finite element |
fe_ptr | pointer to finite elements multi-index |
bh | if bH = MF_EXIST, throws error if fe_name does not exist |
cache_data | cache data vector |
cache_row | cache row vector |
cache_col | cache row vector |
verb | verbosity level |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
Make a loop over finite elements.
This function is like swiss knife, is can be used to post-processing or matrix and vectors assembly. It makes loop over given finite element for given problem. The particular methods executed on each element are given by class derived form Interface::FEMethod. At beginning of each loop user defined function (method) preProcess() is called, for each element operator() is executed, at the end loop finalizes with user defined function (method) postProcess().
Methods are executed only for local elements at given processor.
For more details pleas look to examples.
problem_name | problem consisting set of elements |
fe_name | name of element in problem |
method | class derived form Interface::FEMethod |
fe_ptr | pointer to finite elements multi-index |
bh | if bH = MF_EXIST, throws error if fe_name does not exist |
cache_tuple_ptr | cache |
verb | verbosity level |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
Make a loop over finite elements on partitions from upper to lower rank.
This function is like swiss knife, is can be used to post-processing or matrix and vectors assembly. It makes loop over given finite element for given problem. The particular methods executed on each element are given by class derived form Interface::FEMethod. At beginning of each loop user defined function (method) preProcess() is called, for each element operator() is executed, at the end loop finalizes with user defined function (method) postProcess().
For more details please look to examples.
problem_name | pointer to problem consisting set of elements |
fe_name | name of element in problem |
method | class derived form Interface::FEMethod |
lower_rank | lower rank of process owned by finite element |
upper_rank | lower rank of process owned by finite element |
fe_ptr | pointer to finite elements multi-index |
bh | if bH = MF_EXIST, throws error if fe_name does not exist |
cache_data | cache data vector |
cache_row | cache row vector |
cache_col | cache row vector |
verb | verbosity level |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
Set data for BasicMethod.
This function set data about problem, adjacencies and other multi-indices in database. This function can be used a special case when user need to do some pre- and post-processing before matrix or vector is initiated, or to assemble matrix for group of FEMethods. Is used by classes SnesCtx and TsCtx. Look for more details there.
FIXME: Here we need example
pointer | to problem data structure |
method | user method derived from BasicMethod |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
Set data for BasicMethod.
This function set data about problem, adjacencies and other multi-indices in database. This function can be used a special case when user need to do some pre- and post-processing before matrix or vector is initiated, or to assemble matrix for group of FEMethods. Is used by classes SnesCtx and TsCtx. Look for more details there.
FIXME: Here we need example
problem_name | name of the problem |
method | user method derived from BasicMethod |
Implemented in MoFEM::CoreTmp< 0 >.