#include "tutorials/vec-0/src/CalculateTraction.hpp"
|
| OpCalculateTraction (boost::shared_ptr< MatrixDouble > stress_ptr, boost::shared_ptr< MatrixDouble > traction_ptr) |
|
MoFEMErrorCode | doWork (int side, EntityType type, EntData &data) |
|
◆ OpCalculateTraction()
ElasticExample::OpCalculateTraction::OpCalculateTraction |
( |
boost::shared_ptr< MatrixDouble > | stress_ptr, |
|
|
boost::shared_ptr< MatrixDouble > | traction_ptr ) |
|
inline |
Definition at line 13 of file CalculateTraction.hpp.
BoundaryEle::UserDataOperator BoundaryEleOp
boost::shared_ptr< MatrixDouble > tractionPtr
boost::shared_ptr< MatrixDouble > stressPtr
◆ doWork()
MoFEMErrorCode ElasticExample::OpCalculateTraction::doWork |
( |
int | side, |
|
|
EntityType | type, |
|
|
EntData & | data ) |
|
inline |
Definition at line 18 of file CalculateTraction.hpp.
18 {
22 auto nb_int_pts = getGaussPts().size2();
24 auto t_normal = getFTensor1NormalsAtGaussPts();
25 auto t_stress = getFTensor2SymmetricFromMat<SPACE_DIM>(*
stressPtr);
26 auto t_traction = getFTensor1FromMat<SPACE_DIM>(*
tractionPtr);
27 for (auto gg = 0; gg != nb_int_pts; ++gg) {
28 const auto l = std::sqrt(t_normal(
j) * t_normal(
j));
29 t_traction(
i) = (t_stress(
i,
j) * t_normal(
j)) /
l;
30 ++t_normal;
31 ++t_stress;
32 ++t_traction;
33 }
35 }
#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
FTensor::Index< 'l', 3 > l
FTensor::Index< 'j', 3 > j
◆ stressPtr
boost::shared_ptr<MatrixDouble> ElasticExample::OpCalculateTraction::stressPtr |
|
private |
◆ tractionPtr
boost::shared_ptr<MatrixDouble> ElasticExample::OpCalculateTraction::tractionPtr |
|
private |
The documentation for this struct was generated from the following file: