v0.9.0
Public Member Functions | Protected Attributes | List of all members
MoFEM::DerivedDataForcesAndSourcesCore::DerivedEntData Struct Reference

Derived ata on single entity (This is passed as argument to DataOperator::doWork) More...

#include <src/finite_elements/DataStructures.hpp>

Inheritance diagram for MoFEM::DerivedDataForcesAndSourcesCore::DerivedEntData:
[legend]
Collaboration diagram for MoFEM::DerivedDataForcesAndSourcesCore::DerivedEntData:
[legend]

Public Member Functions

 DerivedEntData (const boost::shared_ptr< DataForcesAndSourcesCore::EntData > &ent_data_ptr)
 
int getSense () const
 get entity sense, need to calculate base functions with conforming approximation fields More...
 
boost::shared_ptr< MatrixDouble > & getNSharedPtr (const FieldApproximationBase base)
 
boost::shared_ptr< MatrixDouble > & getDiffNSharedPtr (const FieldApproximationBase base)
 
const boost::shared_ptr< MatrixDouble > & getNSharedPtr (const FieldApproximationBase base) const
 
const boost::shared_ptr< MatrixDouble > & getDiffNSharedPtr (const FieldApproximationBase base) const
 
MoFEMErrorCode baseSwap (const std::string &field_name, const FieldApproximationBase base)
 
- Public Member Functions inherited from MoFEM::DataForcesAndSourcesCore::EntData
template<>
FTensor::Tensor1< FTensor::PackPtr< double *, 3 >, 3 > getFTensor1FieldData ()
 
template<>
FTensor::Tensor1< FTensor::PackPtr< double *, 2 >, 2 > getFTensor1FieldData ()
 
template<>
FTensor::Tensor2< FTensor::PackPtr< double *, 9 >, 3, 3 > getFTensor2FieldData ()
 
template<>
FTensor::Tensor2_symmetric< FTensor::PackPtr< double *, 6 >, 3 > getFTensor2SymmetricFieldData ()
 
template<>
FTensor::Tensor1< double *, 3 > getFTensor1DiffN (const FieldApproximationBase base)
 
template<>
FTensor::Tensor1< double *, 3 > getFTensor1DiffN ()
 
template<>
FTensor::Tensor1< double *, 2 > getFTensor1DiffN (const FieldApproximationBase base)
 
template<>
FTensor::Tensor1< double *, 2 > getFTensor1DiffN ()
 
template<>
FTensor::Tensor1< double *, 3 > getFTensor1DiffN (const FieldApproximationBase base, const int bb)
 
template<>
FTensor::Tensor1< double *, 3 > getFTensor1DiffN (const int bb)
 
template<>
FTensor::Tensor1< double *, 2 > getFTensor1DiffN (const FieldApproximationBase base, const int bb)
 
template<>
FTensor::Tensor1< double *, 2 > getFTensor1DiffN (const int bb)
 
template<>
FTensor::Tensor1< FTensor::PackPtr< double *, 3 >, 3 > getFTensor1FieldData ()
 
template<>
FTensor::Tensor1< FTensor::PackPtr< double *, 2 >, 2 > getFTensor1FieldData ()
 
template<>
FTensor::Tensor2< FTensor::PackPtr< double *, 9 >, 3, 3 > getFTensor2FieldData ()
 
template<>
FTensor::Tensor2_symmetric< FTensor::PackPtr< double *, 6 >, 3 > getFTensor2SymmetricFieldData ()
 
template<>
FTensor::Tensor1< double *, 3 > getFTensor1DiffN (const FieldApproximationBase base)
 Get spatial derivative of base function tensor for dimension 3d. More...
 
template<>
FTensor::Tensor1< double *, 3 > getFTensor1DiffN ()
 Get spatial derivative of base function tensor for dimension 3d. More...
 
template<>
FTensor::Tensor1< double *, 3 > getFTensor1DiffN (const FieldApproximationBase base, const int bb)
 Get spatial derivative of base function tensor for dimension 3d. More...
 
template<>
FTensor::Tensor1< double *, 3 > getFTensor1DiffN (const int bb)
 Get spatial derivative of base function tensor for dimension 3d. More...
 
template<>
FTensor::Tensor1< double *, 2 > getFTensor1DiffN (const FieldApproximationBase base)
 Get spatial derivative of base function tensor for dimension 2d. More...
 
template<>
FTensor::Tensor1< double *, 2 > getFTensor1DiffN ()
 Get spatial derivative of base function tensor for dimension 2d. More...
 
template<>
FTensor::Tensor1< double *, 2 > getFTensor1DiffN (const FieldApproximationBase base, const int bb)
 Get spatial derivative of base function tensor for dimension 3d. More...
 
template<>
FTensor::Tensor1< double *, 2 > getFTensor1DiffN (const int bb)
 Get spatial derivative of base function tensor for dimension 3d. More...
 
template<>
FTensor::Tensor1< double *, 3 > getFTensor1DiffN (const FieldApproximationBase base, const int gg, const int bb)
 Get spatial derivative of base function tensor for dimension 3d. More...
 
template<>
FTensor::Tensor1< double *, 3 > getFTensor1DiffN (const int gg, const int bb)
 Get spatial derivative of base function tensor for dimension 3d. More...
 
template<>
FTensor::Tensor1< double *, 2 > getFTensor1DiffN (const FieldApproximationBase base, const int gg, const int bb)
 Get spatial derivative of base function tensor for dimension 2d. More...
 
template<>
FTensor::Tensor1< double *, 2 > getFTensor1DiffN (const int gg, const int bb)
 Get spatial derivative of base function tensor for dimension 2d. More...
 
template<>
FTensor::Tensor2< FTensor::PackPtr< double *, 6 >, 3, 2 > getFTensor2DiffN (FieldApproximationBase base)
 
template<>
FTensor::Tensor2< FTensor::PackPtr< double *, 6 >, 3, 2 > getFTensor2DiffN (FieldApproximationBase base, const int gg, const int bb)
 
 EntData (const bool allocate_base_matrices=true)
 
virtual ~EntData ()=default
 
ApproximationOrder getOrder () const
 get approximation order More...
 
const VectorIntgetIndices () const
 Get global indices of dofs on entity. More...
 
const VectorIntAdaptor getIndicesUpToOrder (int order)
 get global indices of dofs on entity up to given order More...
 
const VectorIntgetLocalIndices () const
 get local indices of dofs on entity More...
 
const VectorIntAdaptor getLocalIndicesUpToOrder (int order)
 get local indices of dofs on entity up to given order More...
 
intgetSense ()
 
ApproximationOrdergetDataOrder ()
 
VectorIntgetIndices ()
 
VectorIntgetLocalIndices ()
 
const VectorDoublegetFieldData () const
 get dofs values More...
 
const VectorAdaptor getFieldDataUpToOrder (int order)
 get dofs values up to given order More...
 
const VectorDofsgetFieldDofs () const
 get dofs data stature FEDofEntity More...
 
VectorDoublegetFieldData ()
 
template<int Tensor_Dim>
FTensor::Tensor1< FTensor::PackPtr< double *, Tensor_Dim >, Tensor_Dim > getFTensor1FieldData ()
 Return FTensor of rank 1, i.e. vector from filed data coeffinects. More...
 
template<int Tensor_Dim0, int Tensor_Dim1>
FTensor::Tensor2< FTensor::PackPtr< double *, Tensor_Dim0 *Tensor_Dim1 >, Tensor_Dim0, Tensor_Dim1 > getFTensor2FieldData ()
 Return FTensor rank 2, i.e. matrix from filed data coeffinects. More...
 
template<int Tensor_Dim>
FTensor::Tensor2_symmetric< FTensor::PackPtr< double *,(Tensor_Dim *(Tensor_Dim+1))/2 >, Tensor_Dim > getFTensor2SymmetricFieldData ()
 Return symmetric FTensor rank 2, i.e. matrix from filed data coeffinects. More...
 
FTensor::Tensor0< FTensor::PackPtr< double *, 1 > > getFTensor0FieldData ()
 Resturn scalar files as a FTensor of rank 0. More...
 
VectorDofsgetFieldDofs ()
 
FieldApproximationBasegetBase ()
 Get approximation base. More...
 
FieldSpacegetSpace ()
 Get field space. More...
 
MatrixDoublegetN (const FieldApproximationBase base)
 get base functions this return matrix (nb. of rows is equal to nb. of Gauss pts, nb. of columns is equal to number of base functions on this entity. More...
 
MatrixDoublegetN (const std::string &field_name)
 get base functions this return matrix (nb. of rows is equal to nb. of Gauss pts, nb. of columns is equal to number of base functions on this entity. More...
 
MatrixDoublegetN ()
 get base functions this return matrix (nb. of rows is equal to nb. of Gauss pts, nb. of columns is equal to number of base functions on this entity. More...
 
MatrixDoublegetDiffN (const FieldApproximationBase base)
 get derivatives of base functions More...
 
MatrixDoublegetDiffN (const std::string &field_name)
 get derivatives of base functions More...
 
MatrixDoublegetDiffN ()
 get derivatives of base functions More...
 
const VectorAdaptor getN (const FieldApproximationBase base, const int gg)
 get base functions at Gauss pts More...
 
const VectorAdaptor getN (const int gg)
 get base functions at Gauss pts More...
 
const MatrixAdaptor getDiffN (const FieldApproximationBase base, const int gg)
 get derivative of base functions at Gauss pts More...
 
const MatrixAdaptor getDiffN (const int gg)
 get derivative of base functions at Gauss pts More...
 
const VectorAdaptor getN (const FieldApproximationBase base, const int gg, const int nb_base_functions)
 get base functions at Gauss pts More...
 
const VectorAdaptor getN (const int gg, const int nb_base_functions)
 get base functions at Gauss pts More...
 
const MatrixAdaptor getDiffN (const FieldApproximationBase base, const int gg, const int nb_base_functions)
 get derivatives of base functions at Gauss pts More...
 
const MatrixAdaptor getDiffN (const int gg, const int nb_base_functions)
 get derivatives of base functions at Gauss pts More...
 
template<int DIM>
const MatrixAdaptor getVectorN (const FieldApproximationBase base, const int gg)
 get Hdiv of base functions at Gauss pts More...
 
template<int DIM>
const MatrixAdaptor getVectorN (const int gg)
 get Hdiv of base functions at Gauss pts More...
 
template<int DIM0, int DIM1>
const MatrixAdaptor getVectorDiffN (FieldApproximationBase base, const int gg)
 get DiffHdiv of base functions at Gauss pts More...
 
template<int DIM0, int DIM1>
const MatrixAdaptor getVectorDiffN (const int gg)
 get DiffHdiv of base functions at Gauss pts More...
 
template<int DIM0, int DIM1>
const MatrixAdaptor getVectorDiffN (const FieldApproximationBase base, const int dof, const int gg)
 get DiffHdiv of base functions at Gauss pts More...
 
template<int DIM0, int DIM1>
const MatrixAdaptor getVectorDiffN (const int dof, const int gg)
 get DiffHdiv of base functions at Gauss pts More...
 
FTensor::Tensor0< FTensor::PackPtr< double *, 1 > > getFTensor0N (const FieldApproximationBase base)
 Get base function as Tensor0. More...
 
FTensor::Tensor0< FTensor::PackPtr< double *, 1 > > getFTensor0N ()
 Get base function as Tensor0. More...
 
FTensor::Tensor0< double * > getFTensor0N (const FieldApproximationBase base, const int bb)
 Get base function as Tensor0 (Loop by integration points) More...
 
FTensor::Tensor0< double * > getFTensor0N (const int bb)
 Get base function as Tensor0 (Loop by integration points) More...
 
FTensor::Tensor0< FTensor::PackPtr< double *, 1 > > getFTensor0N (const FieldApproximationBase base, const int gg, const int bb)
 Get base function as Tensor0 (Loop by integration points) More...
 
FTensor::Tensor0< FTensor::PackPtr< double *, 1 > > getFTensor0N (const int gg, const int bb)
 Get base function as Tensor0 (Loop by integration points) More...
 
template<int Tensor_Dim>
FTensor::Tensor1< double *, Tensor_Dim > getFTensor1DiffN (const FieldApproximationBase base)
 Get derivatives of base functions. More...
 
template<int Tensor_Dim>
FTensor::Tensor1< double *, Tensor_Dim > getFTensor1DiffN ()
 Get derivatives of base functions. More...
 
template<int Tensor_Dim>
FTensor::Tensor1< double *, Tensor_Dim > getFTensor1DiffN (const FieldApproximationBase base, const int bb)
 Get derivatives of base functions (Loop by integration points) More...
 
template<int Tensor_Dim>
FTensor::Tensor1< double *, Tensor_Dim > getFTensor1DiffN (const int bb)
 Get derivatives of base functions (Loop by integration points) More...
 
template<int Tensor_Dim>
FTensor::Tensor1< double *, Tensor_Dim > getFTensor1DiffN (const FieldApproximationBase base, const int gg, const int bb)
 Get derivatives of base functions (Loop by integration points) More...
 
template<int Tensor_Dim>
FTensor::Tensor1< double *, Tensor_Dim > getFTensor1DiffN (const int gg, const int bb)
 Get derivatives of base functions (Loop by integration points) More...
 
template<int Tensor_Dim>
FTensor::Tensor1< FTensor::PackPtr< double *, Tensor_Dim >, Tensor_Dim > getFTensor1N (FieldApproximationBase base)
 Get base functions for Hdiv/Hcurl spaces. More...
 
template<int Tensor_Dim>
auto getFTensor1N ()
 Get base functions for Hdiv space. More...
 
template<int Tensor_Dim0, int Tensor_Dim1>
FTensor::Tensor2< FTensor::PackPtr< double *, Tensor_Dim0 *Tensor_Dim1 >, Tensor_Dim0, Tensor_Dim1 > getFTensor2DiffN (FieldApproximationBase base)
 Get derivatives of base functions for Hdiv space. More...
 
template<int Tensor_Dim0, int Tensor_Dim1>
FTensor::Tensor2< FTensor::PackPtr< double *, Tensor_Dim0 *Tensor_Dim1 >, Tensor_Dim0, Tensor_Dim1 > getFTensor2DiffN (FieldApproximationBase base, const int gg, const int bb)
 Get derivatives of base functions for Hdiv space at integration pts. More...
 
template<int Tensor_Dim0, int Tensor_Dim1>
FTensor::Tensor2< FTensor::PackPtr< double *, Tensor_Dim0 *Tensor_Dim1 >, Tensor_Dim0, Tensor_Dim1 > getFTensor2DiffN ()
 Get derivatives of base functions for Hdiv space. More...
 
template<int Tensor_Dim0, int Tensor_Dim1>
FTensor::Tensor2< FTensor::PackPtr< double *, Tensor_Dim0 *Tensor_Dim1 >, Tensor_Dim0, Tensor_Dim1 > getFTensor2DiffN (const int gg, const int bb)
 Get derivatives of base functions for Hdiv space at integration pts. More...
 
template<int Tensor_Dim>
FTensor::Tensor1< FTensor::PackPtr< double *, Tensor_Dim >, Tensor_Dim > getFTensor1N (FieldApproximationBase base, const int gg, const int bb)
 Get Hdiv base functions at integration point. More...
 
template<int Tensor_Dim>
auto getFTensor1N (const int gg, const int bb)
 Get Hdiv base functions at integration point. More...
 
template<int Tensor_Dim0, int Tensor_Dim1>
FTensor::Tensor2< FTensor::PackPtr< double *, Tensor_Dim0 *Tensor_Dim1 >, Tensor_Dim0, Tensor_Dim1 > getFTensor2N (FieldApproximationBase base)
 Get base functions for Hdiv/Hcurl spaces. More...
 
template<int Tensor_Dim0, int Tensor_Dim1>
auto getFTensor2N ()
 Get base functions for Hdiv space. More...
 
template<int Tensor_Dim0, int Tensor_Dim1>
FTensor::Tensor2< FTensor::PackPtr< double *, Tensor_Dim0 *Tensor_Dim1 >, Tensor_Dim0, Tensor_Dim1 > getFTensor2N (FieldApproximationBase base, const int gg, const int bb)
 Get base functions for tensor Hdiv/Hcurl spaces. More...
 
template<int Tensor_Dim0, int Tensor_Dim1>
auto getFTensor2N (const int gg, const int bb)
 Get base functions for Hdiv space. More...
 
MoFEMErrorCode resetFieldDependentData ()
 
VectorIntgetBBNodeOrder ()
 Get orders at the nodes. More...
 
MatrixIntgetBBAlphaIndices ()
 Get file BB indices. More...
 
virtual std::map< std::string, boost::shared_ptr< MatrixInt > > & getBBAlphaIndicesMap ()
 
virtual std::map< std::string, boost::shared_ptr< MatrixDouble > > & getBBNMap ()
 
virtual std::map< std::string, boost::shared_ptr< MatrixDouble > > & getBBDiffNMap ()
 
virtual boost::shared_ptr< MatrixInt > & getBBAlphaIndicesByOrderSharedPtr (const size_t o)
 
virtual boost::shared_ptr< MatrixDouble > & getBBNByOrderSharedPtr (const size_t o)
 
virtual const boost::shared_ptr< MatrixDouble > & getBBNByOrderSharedPtr (const size_t o) const
 
virtual boost::shared_ptr< MatrixDouble > & getBBDiffNByOrderSharedPtr (const size_t o)
 
virtual const boost::shared_ptr< MatrixDouble > & getBBDiffNByOrderSharedPtr (const size_t o) const
 
virtual std::array< boost::shared_ptr< MatrixInt >, MaxBernsteinBezierOrder > & getBBAlphaIndicesByOrderArray ()
 
virtual std::array< boost::shared_ptr< MatrixDouble >, MaxBernsteinBezierOrder > & getBBNByOrderArray ()
 
virtual std::array< boost::shared_ptr< MatrixDouble >, MaxBernsteinBezierOrder > & getBBDiffNByOrderArray ()
 
template<>
FTensor::Tensor1< FTensor::PackPtr< double *, 3 >, 3 > getFTensor1N (FieldApproximationBase base)
 
template<>
FTensor::Tensor1< FTensor::PackPtr< double *, 3 >, 3 > getFTensor1N (FieldApproximationBase base, const int gg, const int bb)
 
template<>
FTensor::Tensor2< FTensor::PackPtr< double *, 9 >, 3, 3 > getFTensor2DiffN (FieldApproximationBase base)
 
template<>
FTensor::Tensor2< FTensor::PackPtr< double *, 9 >, 3, 3 > getFTensor2DiffN (FieldApproximationBase base, const int gg, const int bb)
 
template<>
FTensor::Tensor2< FTensor::PackPtr< double *, 6 >, 3, 2 > getFTensor2DiffN (FieldApproximationBase base)
 
template<>
FTensor::Tensor2< FTensor::PackPtr< double *, 6 >, 3, 2 > getFTensor2DiffN (FieldApproximationBase base, const int gg, const int bb)
 
template<>
FTensor::Tensor2< FTensor::PackPtr< double *, 9 >, 3, 3 > getFTensor2N (FieldApproximationBase base)
 
template<>
FTensor::Tensor2< FTensor::PackPtr< double *, 9 >, 3, 3 > getFTensor2N (FieldApproximationBase base, const int gg, const int bb)
 

Protected Attributes

const boost::shared_ptr< DataForcesAndSourcesCore::EntDataentDataPtr
 
- Protected Attributes inherited from MoFEM::DataForcesAndSourcesCore::EntData
int sEnse
 Entity sense (orientation) More...
 
ApproximationOrder oRder
 Entity order. More...
 
FieldSpace sPace
 Entity space. More...
 
FieldApproximationBase bAse
 Field approximation base. More...
 
VectorInt iNdices
 Global indices on entity. More...
 
VectorInt localIndices
 Local indices on entity. More...
 
VectorDofs dOfs
 DoFs on entity. More...
 
VectorDouble fieldData
 Field data on entity. More...
 
std::array< boost::shared_ptr< MatrixDouble >, LASTBASEN
 Base functions. More...
 
std::array< boost::shared_ptr< MatrixDouble >, LASTBASEdiffN
 Derivatives of base functions. More...
 
std::string bbFieldName
 field name More...
 
VectorInt bbNodeOrder
 order of nodes More...
 
std::map< std::string, boost::shared_ptr< MatrixDouble > > bbN
 
std::map< std::string, boost::shared_ptr< MatrixDouble > > bbDiffN
 
std::map< std::string, boost::shared_ptr< MatrixInt > > bbAlphaInduces
 Indices for Bernstein-Bezier base. More...
 
std::array< boost::shared_ptr< MatrixDouble >, MaxBernsteinBezierOrderbbNByOrder
 
std::array< boost::shared_ptr< MatrixDouble >, MaxBernsteinBezierOrderbbDiffNByOrder
 
std::array< boost::shared_ptr< MatrixInt >, MaxBernsteinBezierOrderbbAlphaInducesByOrder
 
boost::shared_ptr< MatrixDoubleswapBaseNPtr
 
boost::shared_ptr< MatrixDoubleswapBaseDiffNPtr
 

Bernstein-Bezier base only functions

boost::shared_ptr< MatrixInt > & getBBAlphaIndicesSharedPtr (const std::string &field_name)
 
boost::shared_ptr< MatrixDouble > & getBBNSharedPtr (const std::string &field_name)
 
const boost::shared_ptr< MatrixDouble > & getBBNSharedPtr (const std::string &field_name) const
 
boost::shared_ptr< MatrixDouble > & getBBDiffNSharedPtr (const std::string &field_name)
 
const boost::shared_ptr< MatrixDouble > & getBBDiffNSharedPtr (const std::string &field_name) const
 

DerivedEntData

boost::shared_ptr< MatrixDouble > & getDerivedNSharedPtr (const FieldApproximationBase base)
 
boost::shared_ptr< MatrixDouble > & getDerivedDiffNSharedPtr (const FieldApproximationBase base)
 

Additional Inherited Members

- Static Public Attributes inherited from MoFEM::DataForcesAndSourcesCore::EntData
static constexpr size_t MaxBernsteinBezierOrder = BITFEID_SIZE
 

Detailed Description

Derived ata on single entity (This is passed as argument to DataOperator::doWork)

DerivedEntData share part information with EntData except infomation about base functions.

Definition at line 1077 of file DataStructures.hpp.

Constructor & Destructor Documentation

◆ DerivedEntData()

MoFEM::DerivedDataForcesAndSourcesCore::DerivedEntData::DerivedEntData ( const boost::shared_ptr< DataForcesAndSourcesCore::EntData > &  ent_data_ptr)

Definition at line 232 of file DataStructures.cpp.

234  : DataForcesAndSourcesCore::EntData(false), entDataPtr(ent_data_ptr) {}
const boost::shared_ptr< DataForcesAndSourcesCore::EntData > entDataPtr
DataForcesAndSourcesCore::EntData EntData

Member Function Documentation

◆ baseSwap()

MoFEMErrorCode MoFEM::DerivedDataForcesAndSourcesCore::DerivedEntData::baseSwap ( const std::string &  field_name,
const FieldApproximationBase  base 
)
virtual

Reimplemented from MoFEM::DataForcesAndSourcesCore::EntData.

Definition at line 211 of file DataStructures.cpp.

212  {
214  auto make_swap = [](boost::shared_ptr<MatrixDouble> &ptr,
215  boost::shared_ptr<MatrixDouble> &ptrBB,
216  boost::shared_ptr<MatrixDouble> &swap_ptr) {
217  if (swap_ptr) {
218  ptr = swap_ptr;
219  swap_ptr.reset();
220  } else {
221  swap_ptr = ptr;
222  ptr = ptrBB;
223  }
224  };
225  make_swap(getDerivedNSharedPtr(base), getBBNSharedPtr(field_name),
226  swapBaseNPtr);
227  make_swap(getDerivedDiffNSharedPtr(base), getBBDiffNSharedPtr(field_name),
230 }
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:477
boost::shared_ptr< MatrixDouble > & getBBNSharedPtr(const std::string &field_name)
boost::shared_ptr< MatrixDouble > & getBBDiffNSharedPtr(const std::string &field_name)
boost::shared_ptr< MatrixDouble > swapBaseNPtr
boost::shared_ptr< MatrixDouble > & getDerivedDiffNSharedPtr(const FieldApproximationBase base)
boost::shared_ptr< MatrixDouble > & getDerivedNSharedPtr(const FieldApproximationBase base)
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:407
boost::shared_ptr< MatrixDouble > swapBaseDiffNPtr

◆ getBBAlphaIndicesSharedPtr()

boost::shared_ptr< MatrixInt > & MoFEM::DerivedDataForcesAndSourcesCore::DerivedEntData::getBBAlphaIndicesSharedPtr ( const std::string &  field_name)
virtual

Reimplemented from MoFEM::DataForcesAndSourcesCore::EntData.

Definition at line 838 of file DataStructures.cpp.

839  {
840  return entDataPtr->getBBAlphaIndicesSharedPtr(field_name);
841 }
const boost::shared_ptr< DataForcesAndSourcesCore::EntData > entDataPtr

◆ getBBDiffNSharedPtr() [1/2]

boost::shared_ptr< MatrixDouble > & MoFEM::DerivedDataForcesAndSourcesCore::DerivedEntData::getBBDiffNSharedPtr ( const std::string &  field_name)
virtual

Get shared pointer to BB derivatives of base base functions

Reimplemented from MoFEM::DataForcesAndSourcesCore::EntData.

Definition at line 859 of file DataStructures.cpp.

860  {
861  return entDataPtr->getBBDiffNSharedPtr(field_name);
862 }
const boost::shared_ptr< DataForcesAndSourcesCore::EntData > entDataPtr

◆ getBBDiffNSharedPtr() [2/2]

const boost::shared_ptr< MatrixDouble > & MoFEM::DerivedDataForcesAndSourcesCore::DerivedEntData::getBBDiffNSharedPtr ( const std::string &  field_name) const
virtual

Get shared pointer to derivatives of BB base base functions

Reimplemented from MoFEM::DataForcesAndSourcesCore::EntData.

Definition at line 868 of file DataStructures.cpp.

869  {
870  return entDataPtr->getBBDiffNSharedPtr(field_name);
871 }
const boost::shared_ptr< DataForcesAndSourcesCore::EntData > entDataPtr

◆ getBBNSharedPtr() [1/2]

boost::shared_ptr< MatrixDouble > & MoFEM::DerivedDataForcesAndSourcesCore::DerivedEntData::getBBNSharedPtr ( const std::string &  field_name)
virtual

Get shared pointer to BB base base functions

Reimplemented from MoFEM::DataForcesAndSourcesCore::EntData.

Definition at line 844 of file DataStructures.cpp.

845  {
846  return entDataPtr->getBBNSharedPtr(field_name);
847 }
const boost::shared_ptr< DataForcesAndSourcesCore::EntData > entDataPtr

◆ getBBNSharedPtr() [2/2]

const boost::shared_ptr< MatrixDouble > & MoFEM::DerivedDataForcesAndSourcesCore::DerivedEntData::getBBNSharedPtr ( const std::string &  field_name) const
virtual

Get shared pointer to BB base base functions

Reimplemented from MoFEM::DataForcesAndSourcesCore::EntData.

Definition at line 850 of file DataStructures.cpp.

851  {
852  return entDataPtr->getBBNSharedPtr(field_name);
853 }
const boost::shared_ptr< DataForcesAndSourcesCore::EntData > entDataPtr

◆ getDerivedDiffNSharedPtr()

boost::shared_ptr< MatrixDouble > & MoFEM::DerivedDataForcesAndSourcesCore::DerivedEntData::getDerivedDiffNSharedPtr ( const FieldApproximationBase  base)

Definition at line 1568 of file DataStructures.hpp.

1569  {
1570  return diffN[base];
1571 }
std::array< boost::shared_ptr< MatrixDouble >, LASTBASE > diffN
Derivatives of base functions.

◆ getDerivedNSharedPtr()

boost::shared_ptr< MatrixDouble > & MoFEM::DerivedDataForcesAndSourcesCore::DerivedEntData::getDerivedNSharedPtr ( const FieldApproximationBase  base)

Definition at line 1562 of file DataStructures.hpp.

1563  {
1564  return N[base];
1565 }
std::array< boost::shared_ptr< MatrixDouble >, LASTBASE > N
Base functions.

◆ getDiffNSharedPtr() [1/2]

boost::shared_ptr< MatrixDouble > & MoFEM::DerivedDataForcesAndSourcesCore::DerivedEntData::getDiffNSharedPtr ( const FieldApproximationBase  base)
virtual

Get shared pointer to derivatives of base base functions

Reimplemented from MoFEM::DataForcesAndSourcesCore::EntData.

Definition at line 249 of file DataStructures.cpp.

250  {
251  if (diffN[base])
252  return diffN[base];
253  else
254  return entDataPtr->getDiffNSharedPtr(base);
255 }
const boost::shared_ptr< DataForcesAndSourcesCore::EntData > entDataPtr
std::array< boost::shared_ptr< MatrixDouble >, LASTBASE > diffN
Derivatives of base functions.

◆ getDiffNSharedPtr() [2/2]

const boost::shared_ptr< MatrixDouble > & MoFEM::DerivedDataForcesAndSourcesCore::DerivedEntData::getDiffNSharedPtr ( const FieldApproximationBase  base) const
virtual

Get shared pointer to derivatives of base base functions

Reimplemented from MoFEM::DataForcesAndSourcesCore::EntData.

Definition at line 265 of file DataStructures.cpp.

266  {
267  if (diffN[base])
268  return diffN[base];
269  else
270  return entDataPtr->getDiffNSharedPtr(base);
271 }
const boost::shared_ptr< DataForcesAndSourcesCore::EntData > entDataPtr
std::array< boost::shared_ptr< MatrixDouble >, LASTBASE > diffN
Derivatives of base functions.

◆ getNSharedPtr() [1/2]

boost::shared_ptr< MatrixDouble > & MoFEM::DerivedDataForcesAndSourcesCore::DerivedEntData::getNSharedPtr ( const FieldApproximationBase  base)
virtual

Get shared pointer to base base functions

Reimplemented from MoFEM::DataForcesAndSourcesCore::EntData.

Definition at line 241 of file DataStructures.cpp.

242  {
243  if (N[base])
244  return N[base];
245  else
246  return entDataPtr->getNSharedPtr(base);
247 }
std::array< boost::shared_ptr< MatrixDouble >, LASTBASE > N
Base functions.
const boost::shared_ptr< DataForcesAndSourcesCore::EntData > entDataPtr

◆ getNSharedPtr() [2/2]

const boost::shared_ptr< MatrixDouble > & MoFEM::DerivedDataForcesAndSourcesCore::DerivedEntData::getNSharedPtr ( const FieldApproximationBase  base) const
virtual

Get shared pointer to base base functions

Reimplemented from MoFEM::DataForcesAndSourcesCore::EntData.

Definition at line 257 of file DataStructures.cpp.

258  {
259  if (N[base])
260  return N[base];
261  else
262  return entDataPtr->getNSharedPtr(base);
263 }
std::array< boost::shared_ptr< MatrixDouble >, LASTBASE > N
Base functions.
const boost::shared_ptr< DataForcesAndSourcesCore::EntData > entDataPtr

◆ getSense()

int MoFEM::DerivedDataForcesAndSourcesCore::DerivedEntData::getSense ( ) const
virtual

get entity sense, need to calculate base functions with conforming approximation fields

Reimplemented from MoFEM::DataForcesAndSourcesCore::EntData.

Definition at line 236 of file DataStructures.cpp.

236  {
237  return entDataPtr->getSense();
238 }
const boost::shared_ptr< DataForcesAndSourcesCore::EntData > entDataPtr

Member Data Documentation

◆ entDataPtr

const boost::shared_ptr<DataForcesAndSourcesCore::EntData> MoFEM::DerivedDataForcesAndSourcesCore::DerivedEntData::entDataPtr
protected

Definition at line 1133 of file DataStructures.hpp.


The documentation for this struct was generated from the following files: