#include <users_modules/eshelbian_plasticty/src/EshelbianPlasticity.hpp>
Definition at line 807 of file EshelbianPlasticity.hpp.
◆ OpCalculateStrainEnergy()
EshelbianPlasticity::OpCalculateStrainEnergy::OpCalculateStrainEnergy |
( |
const std::string |
field_name, |
|
|
boost::shared_ptr< DataAtIntegrationPts > |
data_at_pts, |
|
|
boost::shared_ptr< double > & |
e |
|
) |
| |
|
inline |
Definition at line 809 of file EshelbianPlasticity.hpp.
VolumeElementForcesAndSourcesCore::UserDataOperator VolUserDataOperator
constexpr auto field_name
boost::shared_ptr< DataAtIntegrationPts > dataAtPts
boost::shared_ptr< double > energy
@ OPROW
operator doWork function is executed on FE rows
◆ doWork()
- Examples
- EshelbianOperators.cpp.
Definition at line 2074 of file EshelbianOperators.cpp.
2075 {
2077 if (type == MBTET) {
2078 int nb_integration_pts = data.
getN().size1();
2079 auto v = getVolume();
2080 auto t_w = getFTensor0IntegrationWeight();
2081 auto t_P = getFTensor2FromMat<3, 3>(
dataAtPts->approxPAtPts);
2082 auto t_h = getFTensor2FromMat<3, 3>(
dataAtPts->hAtPts);
2083
2086
2087 for (int gg = 0; gg != nb_integration_pts; ++gg) {
2088 const double a = t_w *
v;
2089
2090 (*energy) +=
a * t_P(
i,
J) * t_h(
i,
J);
2091 ++t_w;
2092 ++t_P;
2093 ++t_h;
2094 }
2095 }
2097}
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
FTensor::Index< 'i', SPACE_DIM > i
const double v
phase velocity of light in medium (cm/ns)
MatrixDouble & getN(const FieldApproximationBase base)
get base functions this return matrix (nb. of rows is equal to nb. of Gauss pts, nb....
◆ dataAtPts
◆ energy
boost::shared_ptr<double> EshelbianPlasticity::OpCalculateStrainEnergy::energy |
|
private |
The documentation for this struct was generated from the following files: