#include <users_modules/eshelbian_plasticit/src/EshelbianPlasticity.hpp>
|
| OpSpatialPhysical_du_dBubble (const std::string &row_field, const std::string &col_field, boost::shared_ptr< DataAtIntegrationPts > &data_ptr, const bool assemble_off=false) |
|
MoFEMErrorCode | integrate (EntData &row_data, EntData &col_data) |
|
| OpAssembleVolume (const std::string &field, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const char type) |
|
| OpAssembleVolume (const std::string &row_field, const std::string &col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const char type, const bool assemble_symmetry) |
|
| OpAssembleBasic (const std::string &field_name, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const char type) |
|
| OpAssembleBasic (const std::string &row_field, const std::string &col_field, boost::shared_ptr< DataAtIntegrationPts > data_ptr, const char type, const bool assemble_symmetry, ScaleOff scale_off=[]() { return 1;}) |
|
virtual MoFEMErrorCode | integrate (EntData &data) |
|
virtual MoFEMErrorCode | integrate (int row_side, EntityType row_type, EntData &data) |
|
virtual MoFEMErrorCode | assemble (EntData &data) |
|
virtual MoFEMErrorCode | assemble (int row_side, EntityType row_type, EntData &data) |
|
virtual MoFEMErrorCode | assemble (int row_side, int col_side, EntityType row_type, EntityType col_type, EntData &row_data, EntData &col_data) |
|
MoFEMErrorCode | doWork (int side, EntityType type, EntData &data) |
|
MoFEMErrorCode | doWork (int row_side, int col_side, EntityType row_type, EntityType col_type, EntData &row_data, EntData &col_data) |
|
Definition at line 705 of file EshelbianPlasticity.hpp.
◆ OpSpatialPhysical_du_dBubble()
EshelbianPlasticity::OpSpatialPhysical_du_dBubble::OpSpatialPhysical_du_dBubble |
( |
const std::string & |
row_field, |
|
|
const std::string & |
col_field, |
|
|
boost::shared_ptr< DataAtIntegrationPts > & |
data_ptr, |
|
|
const bool |
assemble_off = false |
|
) |
| |
|
inline |
◆ integrate()
Reimplemented from EshelbianPlasticity::OpAssembleBasic< VolUserDataOperator >.
Definition at line 1378 of file EshelbianOperators.cpp.
1384 int nb_integration_pts = row_data.
getN().size1();
1385 int row_nb_dofs = row_data.
getIndices().size();
1386 int col_nb_dofs = col_data.
getIndices().size();
1389 &
m(
r + 0,
c), &
m(
r + 1,
c), &
m(
r + 2,
c), &
m(
r + 3,
c), &
m(
r + 4,
c),
1396 auto v = getVolume();
1397 auto t_w = getFTensor0IntegrationWeight();
1398 auto t_approx_P_adjont_log_du_dP =
1399 getFTensor3FromMat<3, 3, size_symm>(
dataAtPts->adjointPdUdPAtPts);
1401 int row_nb_base_functions = row_data.
getN().size2();
1403 for (
int gg = 0; gg != nb_integration_pts; ++gg) {
1406 for (; rr != row_nb_dofs / 6; ++rr) {
1407 auto t_m = get_ftensor2(
K, 6 * rr, 0);
1408 auto t_col_base_fun = col_data.
getFTensor2N<3, 3>(gg, 0);
1409 for (
int cc = 0; cc != col_nb_dofs; ++cc) {
1411 a * (t_approx_P_adjont_log_du_dP(
i,
j,
L) * t_col_base_fun(
i,
j)) *
1418 for (; rr != row_nb_base_functions; ++rr)
1421 ++t_approx_P_adjont_log_du_dP;
The documentation for this struct was generated from the following files:
FTensor::Tensor2< FTensor::PackPtr< double *, Tensor_Dim0 *Tensor_Dim1 >, Tensor_Dim0, Tensor_Dim1 > getFTensor2N(FieldApproximationBase base)
Get base functions for Hdiv/Hcurl spaces.