|
| v0.14.0
|
Go to the documentation of this file.
14 boost::shared_ptr<MatrixDouble> traction_ptr)
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;
Data on single entity (This is passed as argument to DataOperator::doWork)
boost::shared_ptr< MatrixDouble > tractionPtr
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
FTensor::Index< 'i', SPACE_DIM > i
OpCalculateTraction(boost::shared_ptr< MatrixDouble > stress_ptr, boost::shared_ptr< MatrixDouble > traction_ptr)
boost::shared_ptr< MatrixDouble > stressPtr
FTensor::Index< 'j', 3 > j
MoFEMErrorCode doWork(int side, EntityType type, EntData &data)
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
FTensor::Index< 'l', 3 > l