v0.14.0 |
Get field values and gradients at Gauss points. More...
#include <src/finite_elements/DataOperators.hpp>
Public Member Functions | |
OpGetDataAndGradient (MatrixDouble &data_at_gauss_pt, MatrixDouble &data_grad_at_gauss_pt) | |
template<int R> | |
FTensor::Tensor1< double *, R > | getValAtGaussPtsTensor (MatrixDouble &data) |
template<int R, int D> | |
FTensor::Tensor2< double *, R, D > | getGradAtGaussPtsTensor (MatrixDouble &data) |
MoFEMErrorCode | calculateValAndGrad (int side, EntityType type, EntitiesFieldData::EntData &data) |
Calculate gradient and values at integration points. More... | |
MoFEMErrorCode | doWork (int side, EntityType type, EntitiesFieldData::EntData &data) |
Operator for linear form, usually to calculate values on right hand side. More... | |
FTensor::Tensor1< double *, 3 > | getValAtGaussPtsTensor (MatrixDouble &data) |
Specialization for field with 3 coefficients in 3 dimension. More... | |
FTensor::Tensor2< double *, 3, 3 > | getGradAtGaussPtsTensor (MatrixDouble &data) |
Specialization for field with 3 coefficients in 3 dimension. More... | |
MoFEMErrorCode | calculateValAndGrad (int side, EntityType type, EntitiesFieldData::EntData &data) |
Specialization for field with 3 coefficients in 3 dimension. More... | |
MoFEMErrorCode | calculateValAndGrad (int side, EntityType type, EntitiesFieldData::EntData &data) |
Specialization for field with for scalar field in 3 dimension. More... | |
FTensor::Tensor1< double *, 3 > | getValAtGaussPtsTensor (MatrixDouble &data) |
FTensor::Tensor2< double *, 3, 3 > | getGradAtGaussPtsTensor (MatrixDouble &data) |
MoFEMErrorCode | calculateValAndGrad (int side, EntityType type, EntitiesFieldData::EntData &data) |
MoFEMErrorCode | calculateValAndGrad (int side, EntityType type, EntitiesFieldData::EntData &data) |
Public Member Functions inherited from MoFEM::DataOperator | |
DataOperator (const bool symm=true) | |
virtual | ~DataOperator ()=default |
virtual MoFEMErrorCode | doWork (int row_side, int col_side, EntityType row_type, EntityType col_type, EntitiesFieldData::EntData &row_data, EntitiesFieldData::EntData &col_data) |
Operator for bi-linear form, usually to calculate values on left hand side. More... | |
virtual MoFEMErrorCode | opLhs (EntitiesFieldData &row_data, EntitiesFieldData &col_data) |
virtual MoFEMErrorCode | opRhs (EntitiesFieldData &data, const bool error_if_no_base=false) |
bool | getSymm () const |
Get if operator uses symmetry of DOFs or not. More... | |
void | setSymm () |
set if operator is executed taking in account symmetry More... | |
void | unSetSymm () |
unset if operator is executed for non symmetric problem More... | |
Public Attributes | |
MatrixDouble & | dataAtGaussPts |
MatrixDouble & | dataGradAtGaussPts |
Public Attributes inherited from MoFEM::DataOperator | |
DoWorkLhsHookFunType | doWorkLhsHook |
DoWorkRhsHookFunType | doWorkRhsHook |
bool | sYmm |
If true assume that matrix is symmetric structure. More... | |
std::array< bool, MBMAXTYPE > | doEntities |
If true operator is executed for entity. More... | |
bool & | doVertices |
\deprectaed If false skip vertices More... | |
bool & | doEdges |
\deprectaed If false skip edges More... | |
bool & | doQuads |
\deprectaed More... | |
bool & | doTris |
\deprectaed More... | |
bool & | doTets |
\deprectaed More... | |
bool & | doPrisms |
\deprectaed More... | |
Additional Inherited Members | |
Public Types inherited from MoFEM::DataOperator | |
using | DoWorkLhsHookFunType = boost::function< MoFEMErrorCode(DataOperator *op_ptr, int row_side, int col_side, EntityType row_type, EntityType col_type, EntitiesFieldData::EntData &row_data, EntitiesFieldData::EntData &col_data)> |
using | DoWorkRhsHookFunType = boost::function< MoFEMErrorCode(DataOperator *op_ptr, int side, EntityType type, EntitiesFieldData::EntData &data)> |
Get field values and gradients at Gauss points.
Definition at line 240 of file DataOperators.hpp.
|
inline |
Definition at line 245 of file DataOperators.hpp.
|
inline |
Calculate gradient and values at integration points.
side | side of entity on element |
type | type of entity |
data | data stored on entity (dofs values, dofs indices, etc.) |
Definition at line 273 of file DataOperators.hpp.
MoFEMErrorCode MoFEM::OpGetDataAndGradient< 3, 3 >::calculateValAndGrad | ( | int | side, |
EntityType | type, | ||
EntitiesFieldData::EntData & | data | ||
) |
Specialization for field with 3 coefficients in 3 dimension.
MoFEMErrorCode MoFEM::OpGetDataAndGradient< 1, 3 >::calculateValAndGrad | ( | int | side, |
EntityType | type, | ||
EntitiesFieldData::EntData & | data | ||
) |
Specialization for field with for scalar field in 3 dimension.
MoFEMErrorCode MoFEM::OpGetDataAndGradient< 3, 3 >::calculateValAndGrad | ( | int | side, |
EntityType | type, | ||
EntitiesFieldData::EntData & | data | ||
) |
Definition at line 840 of file DataOperators.cpp.
MoFEMErrorCode MoFEM::OpGetDataAndGradient< 1, 3 >::calculateValAndGrad | ( | int | side, |
EntityType | type, | ||
EntitiesFieldData::EntData & | data | ||
) |
Definition at line 898 of file DataOperators.cpp.
|
inlinevirtual |
Operator for linear form, usually to calculate values on right hand side.
Reimplemented from MoFEM::DataOperator.
Definition at line 305 of file DataOperators.hpp.
FTensor::Tensor2< double *, 3, 3 > MoFEM::OpGetDataAndGradient< 3, 3 >::getGradAtGaussPtsTensor< 3, 3 > | ( | MatrixDouble & | data | ) |
Specialization for field with 3 coefficients in 3 dimension.
|
inline |
Return tensor associated with matrix storing gradient values
Definition at line 262 of file DataOperators.hpp.
FTensor::Tensor2< double *, 3, 3 > MoFEM::OpGetDataAndGradient< 3, 3 >::getGradAtGaussPtsTensor< 3, 3 > | ( | MatrixDouble & | data | ) |
Definition at line 832 of file DataOperators.cpp.
FTensor::Tensor1< double *, 3 > MoFEM::OpGetDataAndGradient< 3, 3 >::getValAtGaussPtsTensor< 3 > | ( | MatrixDouble & | data | ) |
Specialization for field with 3 coefficients in 3 dimension.
|
inline |
Return tensor associated with matrix storing values
Definition at line 254 of file DataOperators.hpp.
FTensor::Tensor1< double *, 3 > MoFEM::OpGetDataAndGradient< 3, 3 >::getValAtGaussPtsTensor< 3 > | ( | MatrixDouble & | data | ) |
Definition at line 824 of file DataOperators.cpp.
MatrixDouble& MoFEM::OpGetDataAndGradient< RANK, DIM >::dataAtGaussPts |
Definition at line 242 of file DataOperators.hpp.
MatrixDouble& MoFEM::OpGetDataAndGradient< RANK, DIM >::dataGradAtGaussPts |
Definition at line 243 of file DataOperators.hpp.