v0.14.0
Public Member Functions | List of all members
ConvectiveMassElement::OpVelocityLhs_dV_dv Struct Reference

#include <users_modules/basic_finite_elements/src/ConvectiveMassElement.hpp>

Inheritance diagram for ConvectiveMassElement::OpVelocityLhs_dV_dv:
[legend]
Collaboration diagram for ConvectiveMassElement::OpVelocityLhs_dV_dv:
[legend]

Public Member Functions

 OpVelocityLhs_dV_dv (const std::string vel_field, const std::string field_name, BlockData &data, CommonData &common_data)
 
virtual MoFEMErrorCode getJac (EntitiesFieldData::EntData &col_data, int gg)
 
- Public Member Functions inherited from ConvectiveMassElement::OpMassLhs_dM_dv
 OpMassLhs_dM_dv (const std::string vel_field, const std::string field_name, BlockData &data, CommonData &common_data, Range *forcesonlyonentities_ptr=NULL)
 
MoFEMErrorCode doWork (int row_side, int col_side, EntityType row_type, EntityType col_type, EntitiesFieldData::EntData &row_data, EntitiesFieldData::EntData &col_data)
 

Additional Inherited Members

- Public Attributes inherited from ConvectiveMassElement::OpMassLhs_dM_dv
BlockDatadAta
 
CommonDatacommonData
 
Range forcesOnlyOnEntities
 
MatrixDouble k
 
MatrixDouble jac
 

Detailed Description

Definition at line 317 of file ConvectiveMassElement.hpp.

Constructor & Destructor Documentation

◆ OpVelocityLhs_dV_dv()

ConvectiveMassElement::OpVelocityLhs_dV_dv::OpVelocityLhs_dV_dv ( const std::string  vel_field,
const std::string  field_name,
BlockData data,
CommonData common_data 
)

Definition at line 1059 of file ConvectiveMassElement.cpp.

1062  : OpMassLhs_dM_dv(vel_field, field_name, data, common_data) {}

Member Function Documentation

◆ getJac()

MoFEMErrorCode ConvectiveMassElement::OpVelocityLhs_dV_dv::getJac ( EntitiesFieldData::EntData col_data,
int  gg 
)
virtual

Reimplemented from ConvectiveMassElement::OpMassLhs_dM_dv.

Reimplemented in ConvectiveMassElement::OpVelocityLhs_dV_dX, and ConvectiveMassElement::OpVelocityLhs_dV_dx.

Definition at line 1064 of file ConvectiveMassElement.cpp.

1065  {
1067  int nb_col = col_data.getIndices().size();
1068  jac.clear();
1069  if (!nb_col)
1071  double *base_ptr = const_cast<double *>(&col_data.getN(gg)[0]);
1072  FTensor::Tensor0<double *> base(base_ptr, 1);
1073  FTensor::Tensor2<double *, 3, 3> t_jac(&jac(0, 0), &jac(0, 1), &jac(0, 2),
1074  &jac(1, 0), &jac(1, 1), &jac(1, 2),
1075  &jac(2, 0), &jac(2, 1), &jac(2, 2), 3);
1077  &commonData.jacVel[gg](0, 0), &commonData.jacVel[gg](0, 1),
1078  &commonData.jacVel[gg](0, 2), &commonData.jacVel[gg](1, 0),
1079  &commonData.jacVel[gg](1, 1), &commonData.jacVel[gg](1, 2),
1080  &commonData.jacVel[gg](2, 0), &commonData.jacVel[gg](2, 1),
1081  &commonData.jacVel[gg](2, 2));
1084  for (int dd = 0; dd < nb_col / 3; dd++) {
1085  t_jac(i, j) += t_mass1(i, j) * base;
1086  ++base_ptr;
1087  ++t_jac;
1088  }
1089 
1091 }

The documentation for this struct was generated from the following files:
MoFEMFunctionReturnHot
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:460
ConvectiveMassElement::OpMassLhs_dM_dv::jac
MatrixDouble jac
Definition: ConvectiveMassElement.hpp:234
FTensor::Tensor2< double *, 3, 3 >
MoFEM::EntitiesFieldData::EntData::getIndices
const VectorInt & getIndices() const
Get global indices of dofs on entity.
Definition: EntitiesFieldData.hpp:1214
ConvectiveMassElement::CommonData::jacVel
std::vector< MatrixDouble > jacVel
Definition: ConvectiveMassElement.hpp:140
i
FTensor::Index< 'i', SPACE_DIM > i
Definition: hcurl_divergence_operator_2d.cpp:27
field_name
constexpr auto field_name
Definition: poisson_2d_homogeneous.cpp:13
FTensor::Index< 'i', 3 >
ConvectiveMassElement::OpMassLhs_dM_dv::commonData
CommonData & commonData
Definition: ConvectiveMassElement.hpp:227
FTensor::dd
const Tensor2_symmetric_Expr< const ddTensor0< T, Dim, i, j >, typename promote< T, double >::V, Dim, i, j > dd(const Tensor0< T * > &a, const Index< i, Dim > index1, const Index< j, Dim > index2, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz)
Definition: ddTensor0.hpp:33
FTensor::Tensor0
Definition: Tensor0.hpp:16
MoFEM::EntitiesFieldData::EntData::getN
MatrixDouble & getN(const FieldApproximationBase base)
get base functions this return matrix (nb. of rows is equal to nb. of Gauss pts, nb....
Definition: EntitiesFieldData.hpp:1318
j
FTensor::Index< 'j', 3 > j
Definition: matrix_function.cpp:19
ConvectiveMassElement::OpMassLhs_dM_dv::OpMassLhs_dM_dv
OpMassLhs_dM_dv(const std::string vel_field, const std::string field_name, BlockData &data, CommonData &common_data, Range *forcesonlyonentities_ptr=NULL)
Definition: ConvectiveMassElement.cpp:439
MoFEMFunctionBeginHot
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:453