![]() |
v0.10.0 |
default operator for Flat Prism element More...
#include <src/finite_elements/FatPrismElementForcesAndSourcesCore.hpp>
Public Member Functions | |
double | getArea (const int dd) |
get face aRea More... | |
double | getAreaF3 () |
double | getAreaF4 () |
VectorDouble & | getNormal () |
get triangle normal More... | |
VectorAdaptor | getNormalF3 () |
VectorAdaptor | getNormalF4 () |
MatrixDouble & | getGaussPts () |
get Gauss pts. in the prism More... | |
MatrixDouble & | getGaussPtsTrianglesOnly () |
get Gauss pts. on triangles More... | |
MatrixDouble & | getGaussPtsThroughThickness () |
get Gauss pts. through thickness More... | |
MatrixDouble & | getCoordsAtGaussPts () |
get coordinates at Gauss pts. More... | |
MatrixDouble & | getCoordsAtGaussPtsTrianglesOnly () |
get coordinates at Gauss pts. More... | |
MatrixDouble & | getHoCoordsAtGaussPtsF3 () |
coordinate at Gauss points on face 3 (if hierarchical approximation of element geometry) More... | |
MatrixDouble & | getHoCoordsAtGaussPtsF4 () |
coordinate at Gauss points on face 4 (if hierarchical approximation of element geometry) More... | |
MatrixDouble & | getNormalsAtGaussPtF3 () |
if higher order geometry return normals at face F3 at Gauss pts. More... | |
MatrixDouble & | getNormalsAtGaussPtF4 () |
if higher order geometry return normals at face F4 at Gauss pts. More... | |
ublas::matrix_row< MatrixDouble > | getNormalsAtGaussPtF3 (const int gg) |
if higher order geometry return normals at Gauss pts. More... | |
ublas::matrix_row< MatrixDouble > | getNormalsAtGaussPtF4 (const int gg) |
if higher order geometry return normals at Gauss pts. More... | |
MatrixDouble & | getTangent1AtGaussPtF3 () |
if higher order geometry return tangent vector to triangle at Gauss pts. More... | |
MatrixDouble & | getTangent2AtGaussPtF3 () |
if higher order geometry return tangent vector to triangle at Gauss pts. More... | |
MatrixDouble & | getTangent1AtGaussPtF4 () |
if higher order geometry return tangent vector to triangle at Gauss pts. More... | |
MatrixDouble & | getTangent2AtGaussPtF4 () |
if higher order geometry return tangent vector to triangle at Gauss pts. More... | |
DataForcesAndSourcesCore & | getTrianglesOnlyDataStructure () |
DataForcesAndSourcesCore & | getTroughThicknessDataStructure () |
const FatPrismElementForcesAndSourcesCore * | getPrismFE () |
return pointer to fat prism finite element More... | |
![]() | |
int | getNumNodes () |
get element number of nodes More... | |
const EntityHandle * | getConn () |
get element connectivity More... | |
double | getVolume () const |
element volume (linear geometry) More... | |
double & | getVolume () |
element volume (linear geometry) More... | |
FTensor::Tensor2< double *, 3, 3 > & | getJac () |
get element Jacobian More... | |
FTensor::Tensor2< double *, 3, 3 > & | getInvJac () |
get element inverse Jacobian More... | |
double | getMeasure () const |
get measure of element More... | |
double & | getMeasure () |
get measure of element More... | |
VectorDouble & | getCoords () |
nodal coordinates More... | |
MatrixDouble & | getCoordsAtGaussPts () |
Gauss points and weight, matrix (nb. of points x 3) More... | |
MatrixDouble & | getHoCoordsAtGaussPts () |
coordinate at Gauss points (if hierarchical approximation of element geometry) More... | |
MatrixDouble & | getHoGaussPtsJac () |
MatrixDouble & | getHoGaussPtsInvJac () |
VectorDouble & | getHoGaussPtsDetJac () |
auto | getFTenosr0HoMeasure () |
auto | getFTensor1CoordsAtGaussPts () |
Get coordinates at integration points assuming linear geometry. More... | |
auto | getFTensor1HoCoordsAtGaussPts () |
Get coordinates at integration points taking geometry from field. More... | |
auto | getFTensor2HoGaussPtsJac () |
auto | getFTensor2HoGaussPtsInvJac () |
VolumeElementForcesAndSourcesCoreBase * | getVolumeFE () const |
return pointer to Generic Volume Finite Element object More... | |
MoFEMErrorCode | getDivergenceOfHDivBaseFunctions (int side, EntityType type, DataForcesAndSourcesCore::EntData &data, int gg, VectorDouble &div) |
Get divergence of base functions at integration point. More... | |
MoFEMErrorCode | getCurlOfHCurlBaseFunctions (int side, EntityType type, DataForcesAndSourcesCore::EntData &data, int gg, MatrixDouble &curl) |
Get curl of base functions at integration point. More... | |
![]() | |
UserDataOperator (const FieldSpace space, const char type=OPLAST, const bool symm=true) | |
UserDataOperator (const std::string &field_name, const char type, const bool symm=true) | |
UserDataOperator (const std::string &row_field_name, const std::string &col_field_name, const char type, const bool symm=true) | |
boost::shared_ptr< const NumeredEntFiniteElement > | getNumeredEntFiniteElementPtr () const |
Return raw pointer to NumeredEntFiniteElement. More... | |
EntityHandle | getFEEntityHandle () const |
Return finite element entity handle. More... | |
boost::weak_ptr< SideNumber > | getSideNumberPtr (const int side_number, const EntityType type) |
Get the side number pointer. More... | |
EntityHandle | getSideEntity (const int side_number, const EntityType type) |
Get the side entity. More... | |
int | getNumberOfNodesOnElement () |
Get the number of nodes on finite element. More... | |
MoFEMErrorCode | getProblemRowIndices (const std::string filed_name, const EntityType type, const int side, VectorInt &indices) const |
Get row indices. More... | |
MoFEMErrorCode | getProblemColIndices (const std::string filed_name, const EntityType type, const int side, VectorInt &indices) const |
Get col indices. More... | |
const FEMethod * | getFEMethod () const |
Return raw pointer to Finite Element Method object. More... | |
int | getOpType () const |
Get operator types. More... | |
void | setOpType (const OpType type) |
Set operator type. More... | |
void | addOpType (const OpType type) |
Add operator type. More... | |
int | getNinTheLoop () const |
get number of finite element in the loop More... | |
int | getLoopSize () const |
get size of elements in the loop More... | |
const std::string & | getFEName () const |
Get name of the element. More... | |
const PetscData::Switches & | getDataCtx () const |
const KspMethod::KSPContext | getKSPCtx () const |
const SnesMethod::SNESContext | getSNESCtx () const |
const TSMethod::TSContext | getTSCtx () const |
Vec | getKSPf () const |
Mat | getKSPA () const |
Mat | getKSPB () const |
Vec | getSNESf () const |
Vec | getSNESx () const |
Mat | getSNESA () const |
Mat | getSNESB () const |
DEPRECATED Vec | getSnesF () const |
DEPRECATED Vec | getSnesX () const |
DEPRECATED Mat | getSnesA () const |
DEPRECATED Mat | getSnesB () const |
Vec | getTSu () const |
Vec | getTSu_t () const |
Vec | getTSu_tt () const |
Vec | getTSf () const |
Mat | getTSA () const |
Mat | getTSB () const |
int | getTSstep () const |
double | getTStime () const |
double | getTSa () const |
double | getTSaa () const |
MatrixDouble & | getGaussPts () |
matrix of integration (Gauss) points for Volume Element More... | |
auto | getFTensor0IntegrationWeight () |
Get integration weights. More... | |
DEPRECATED MoFEMErrorCode | getPorblemRowIndices (const std::string filed_name, const EntityType type, const int side, VectorInt &indices) const |
![]() | |
DataOperator (const bool symm=true) | |
virtual | ~DataOperator ()=default |
virtual MoFEMErrorCode | doWork (int row_side, int col_side, EntityType row_type, EntityType col_type, DataForcesAndSourcesCore::EntData &row_data, DataForcesAndSourcesCore::EntData &col_data) |
Operator for bi-linear form, usually to calculate values on left hand side. More... | |
virtual MoFEMErrorCode | opLhs (DataForcesAndSourcesCore &row_data, DataForcesAndSourcesCore &col_data) |
virtual MoFEMErrorCode | doWork (int side, EntityType type, DataForcesAndSourcesCore::EntData &data) |
Operator for linear form, usually to calculate values on right hand side. More... | |
virtual MoFEMErrorCode | opRhs (DataForcesAndSourcesCore &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... | |
Protected Member Functions | |
MoFEMErrorCode | setPtrFE (ForcesAndSourcesCore *ptr) |
![]() | |
MoFEMErrorCode | setPtrFE (ForcesAndSourcesCore *ptr) |
![]() | |
ForcesAndSourcesCore * | getPtrFE () const |
ForcesAndSourcesCore * | getSidePtrFE () const |
Additional Inherited Members | |
![]() | |
enum | OpType { OPROW = 1 << 0, OPCOL = 1 << 1, OPROWCOL = 1 << 2, OPLAST = 1 << 3 } |
Controls loop over entities on element. More... | |
![]() | |
char | opType |
std::string | rowFieldName |
std::string | colFieldName |
FieldSpace | sPace |
![]() | |
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... | |
![]() | |
ForcesAndSourcesCore * | ptrFE |
default operator for Flat Prism element
Definition at line 66 of file FatPrismElementForcesAndSourcesCore.hpp.
double MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getArea | ( | const int | dd | ) |
get face aRea
dd | if dd == 0 it is for face F3 if dd == 1 is for face F4 |
Definition at line 222 of file FatPrismElementForcesAndSourcesCore.hpp.
double MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getAreaF3 | ( | ) |
Definition at line 227 of file FatPrismElementForcesAndSourcesCore.hpp.
double MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getAreaF4 | ( | ) |
Definition at line 231 of file FatPrismElementForcesAndSourcesCore.hpp.
MatrixDouble & MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getCoordsAtGaussPts | ( | ) |
get coordinates at Gauss pts.
Matrix has size (nb integration points)x(coordinates on F3 and F4 = 6), i.e. coordinates on face F3 and F4
Definition at line 272 of file FatPrismElementForcesAndSourcesCore.hpp.
MatrixDouble & MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getCoordsAtGaussPtsTrianglesOnly | ( | ) |
get coordinates at Gauss pts.
Matrix has size (nb integration points)x(coordinates on F3 and F4 = 6), i.e. coordinates on face F3 and F4
Definition at line 277 of file FatPrismElementForcesAndSourcesCore.hpp.
MatrixDouble & MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getGaussPts | ( | ) |
get Gauss pts. in the prism
Definition at line 255 of file FatPrismElementForcesAndSourcesCore.hpp.
MatrixDouble & MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getGaussPtsThroughThickness | ( | ) |
get Gauss pts. through thickness
Definition at line 265 of file FatPrismElementForcesAndSourcesCore.hpp.
MatrixDouble & MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getGaussPtsTrianglesOnly | ( | ) |
MatrixDouble & MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getHoCoordsAtGaussPtsF3 | ( | ) |
coordinate at Gauss points on face 3 (if hierarchical approximation of element geometry)
Definition at line 283 of file FatPrismElementForcesAndSourcesCore.hpp.
MatrixDouble & MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getHoCoordsAtGaussPtsF4 | ( | ) |
coordinate at Gauss points on face 4 (if hierarchical approximation of element geometry)
Definition at line 289 of file FatPrismElementForcesAndSourcesCore.hpp.
VectorDouble & MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getNormal | ( | ) |
get triangle normal
Normal has 6 elements, first 3 are for face F3 another three for face F4
Definition at line 236 of file FatPrismElementForcesAndSourcesCore.hpp.
VectorAdaptor MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getNormalF3 | ( | ) |
Definition at line 241 of file FatPrismElementForcesAndSourcesCore.hpp.
VectorAdaptor MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getNormalF4 | ( | ) |
Definition at line 248 of file FatPrismElementForcesAndSourcesCore.hpp.
MatrixDouble & MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getNormalsAtGaussPtF3 | ( | ) |
if higher order geometry return normals at face F3 at Gauss pts.
Face 3 is top face in canonical triangle numeration, see [43]
Definition at line 296 of file FatPrismElementForcesAndSourcesCore.hpp.
ublas::matrix_row< MatrixDouble > MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getNormalsAtGaussPtF3 | ( | const int | gg | ) |
if higher order geometry return normals at Gauss pts.
Face 3 is top face in canonical triangle numeration, see [43]
gg | gauss point number |
Definition at line 308 of file FatPrismElementForcesAndSourcesCore.hpp.
MatrixDouble & MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getNormalsAtGaussPtF4 | ( | ) |
if higher order geometry return normals at face F4 at Gauss pts.
Face 4 is top face in canonical triangle numeration, see [43]
Definition at line 302 of file FatPrismElementForcesAndSourcesCore.hpp.
ublas::matrix_row< MatrixDouble > MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getNormalsAtGaussPtF4 | ( | const int | gg | ) |
if higher order geometry return normals at Gauss pts.
Face 3 is top face in canonical triangle numeration, see [43]
gg | gauss point number |
Definition at line 317 of file FatPrismElementForcesAndSourcesCore.hpp.
const FatPrismElementForcesAndSourcesCore * MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getPrismFE | ( | ) |
return pointer to fat prism finite element
Definition at line 362 of file FatPrismElementForcesAndSourcesCore.hpp.
MatrixDouble & MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getTangent1AtGaussPtF3 | ( | ) |
if higher order geometry return tangent vector to triangle at Gauss pts.
Definition at line 325 of file FatPrismElementForcesAndSourcesCore.hpp.
MatrixDouble & MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getTangent1AtGaussPtF4 | ( | ) |
if higher order geometry return tangent vector to triangle at Gauss pts.
Definition at line 337 of file FatPrismElementForcesAndSourcesCore.hpp.
MatrixDouble & MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getTangent2AtGaussPtF3 | ( | ) |
if higher order geometry return tangent vector to triangle at Gauss pts.
Definition at line 331 of file FatPrismElementForcesAndSourcesCore.hpp.
MatrixDouble & MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getTangent2AtGaussPtF4 | ( | ) |
if higher order geometry return tangent vector to triangle at Gauss pts.
Definition at line 343 of file FatPrismElementForcesAndSourcesCore.hpp.
DataForcesAndSourcesCore & MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getTrianglesOnlyDataStructure | ( | ) |
Definition at line 349 of file FatPrismElementForcesAndSourcesCore.hpp.
DataForcesAndSourcesCore & MoFEM::FatPrismElementForcesAndSourcesCore::UserDataOperator::getTroughThicknessDataStructure | ( | ) |
Definition at line 355 of file FatPrismElementForcesAndSourcesCore.hpp.
|
protectedvirtual |
Reimplemented from MoFEM::ForcesAndSourcesCore::UserDataOperator.
Definition at line 497 of file FatPrismElementForcesAndSourcesCore.cpp.