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;
 
 
 
 
#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
OpCalculateTraction(boost::shared_ptr< MatrixDouble > stress_ptr, boost::shared_ptr< MatrixDouble > traction_ptr)
boost::shared_ptr< MatrixDouble > stressPtr
MoFEMErrorCode doWork(int side, EntityType type, EntData &data)
boost::shared_ptr< MatrixDouble > tractionPtr
Data on single entity (This is passed as argument to DataOperator::doWork)