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

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

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

Public Member Functions

 OpEshelbyDynamicMaterialMomentumLhs_dx (const std::string vel_field, const std::string field_name, BlockData &data, CommonData &common_data, Range *forcesonlyonentities_ptr)
 
virtual MoFEMErrorCode getJac (EntitiesFieldData::EntData &col_data, int gg)
 
- Public Member Functions inherited from ConvectiveMassElement::OpEshelbyDynamicMaterialMomentumLhs_dv
 OpEshelbyDynamicMaterialMomentumLhs_dv (const std::string vel_field, const std::string field_name, BlockData &data, CommonData &common_data, Range *forcesonlyonentities_ptr)
 
- 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 401 of file ConvectiveMassElement.hpp.

Constructor & Destructor Documentation

◆ OpEshelbyDynamicMaterialMomentumLhs_dx()

ConvectiveMassElement::OpEshelbyDynamicMaterialMomentumLhs_dx::OpEshelbyDynamicMaterialMomentumLhs_dx ( const std::string  vel_field,
const std::string  field_name,
BlockData data,
CommonData common_data,
Range forcesonlyonentities_ptr 
)

Definition at line 1603 of file ConvectiveMassElement.cpp.

1609  vel_field, field_name, data, common_data, forcesonlyonentities_ptr) {}

Member Function Documentation

◆ getJac()

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

Reimplemented from ConvectiveMassElement::OpEshelbyDynamicMaterialMomentumLhs_dv.

Definition at line 1612 of file ConvectiveMassElement.cpp.

1613  {
1615  int nb_col = col_data.getIndices().size();
1616  jac.clear();
1617  double *diff_ptr =
1618  const_cast<double *>(&(col_data.getDiffN(gg, nb_col / 3)(0, 0)));
1619  FTensor::Tensor1<double *, 3> diff(diff_ptr, &diff_ptr[1], &diff_ptr[2], 3);
1620  FTensor::Tensor2<double *, 3, 3> t_jac(&jac(0, 0), &jac(0, 1), &jac(0, 2),
1621  &jac(1, 0), &jac(1, 1), &jac(1, 2),
1622  &jac(2, 0), &jac(2, 1), &jac(2, 2), 3);
1623  const int s = 3 + 3 + 9;
1625  // T* d000, T* d001, T* d002,
1626  // T* d010, T* d011, T* d012,
1627  // T* d020, T* d021, T* d022,
1628  // T* d100, T* d101, T* d102,
1629  // T* d110, T* d111, T* d112,
1630  // T* d120, T* d121, T* d122,
1631  // T* d200, T* d201, T* d202,
1632  // T* d210, T* d211, T* d212,
1633  // T* d220, T* d221, T* d222,
1634  &commonData.jacT[gg](0, s + 0), &commonData.jacT[gg](0, s + 1),
1635  &commonData.jacT[gg](0, s + 2), &commonData.jacT[gg](0, s + 3),
1636  &commonData.jacT[gg](0, s + 4), &commonData.jacT[gg](0, s + 5),
1637  &commonData.jacT[gg](0, s + 6), &commonData.jacT[gg](0, s + 7),
1638  &commonData.jacT[gg](0, s + 8), &commonData.jacT[gg](1, s + 0),
1639  &commonData.jacT[gg](1, s + 1), &commonData.jacT[gg](1, s + 2),
1640  &commonData.jacT[gg](1, s + 3), &commonData.jacT[gg](1, s + 4),
1641  &commonData.jacT[gg](1, s + 5), &commonData.jacT[gg](1, s + 6),
1642  &commonData.jacT[gg](1, s + 7), &commonData.jacT[gg](1, s + 8),
1643  &commonData.jacT[gg](2, s + 0), &commonData.jacT[gg](2, s + 1),
1644  &commonData.jacT[gg](2, s + 2), &commonData.jacT[gg](2, s + 3),
1645  &commonData.jacT[gg](2, s + 4), &commonData.jacT[gg](2, s + 5),
1646  &commonData.jacT[gg](2, s + 6), &commonData.jacT[gg](2, s + 7),
1647  &commonData.jacT[gg](2, s + 8));
1651  for (int dd = 0; dd < nb_col / 3; dd++) {
1652  t_jac(i, j) += t_mass3(i, j, k) * diff(k);
1653  ++diff_ptr;
1654  ++t_jac;
1655  }
1657 }

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:447
ConvectiveMassElement::OpEshelbyDynamicMaterialMomentumLhs_dv
Definition: ConvectiveMassElement.hpp:389
FTensor::Tensor1
Definition: Tensor1_value.hpp:8
ConvectiveMassElement::OpMassLhs_dM_dv::jac
MatrixDouble jac
Definition: ConvectiveMassElement.hpp:234
ConvectiveMassElement::CommonData::jacT
std::vector< MatrixDouble > jacT
Definition: ConvectiveMassElement.hpp:146
MoFEM::EntitiesFieldData::EntData::getDiffN
MatrixDouble & getDiffN(const FieldApproximationBase base)
get derivatives of base functions
Definition: EntitiesFieldData.hpp:1316
ConvectiveMassElement::OpMassLhs_dM_dv::k
MatrixDouble k
Definition: ConvectiveMassElement.hpp:234
FTensor::Tensor2< double *, 3, 3 >
FTensor::Tensor3
Definition: Tensor3_value.hpp:12
MoFEM::EntitiesFieldData::EntData::getIndices
const VectorInt & getIndices() const
Get global indices of dofs on entity.
Definition: EntitiesFieldData.hpp:1201
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
j
FTensor::Index< 'j', 3 > j
Definition: matrix_function.cpp:19
MoFEMFunctionBeginHot
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:440