#include <users_modules/tutorials/vec-5/src/FreeSurfaceOps.hpp>
- Examples
- free_surface.cpp.
Definition at line 92 of file FreeSurfaceOps.hpp.
◆ OpNormalForceRhs()
FreeSurfaceOps::OpNormalForceRhs::OpNormalForceRhs |
( |
const std::string |
field_name, |
|
|
boost::shared_ptr< VectorDouble > |
lambda_ptr |
|
) |
| |
|
inline |
Definition at line 93 of file FreeSurfaceOps.hpp.
96 AssemblyDomainEleOp::OPROW),
constexpr auto field_name
boost::shared_ptr< VectorDouble > lambdaPtr
◆ iNtegrate()
MoFEMErrorCode FreeSurfaceOps::OpNormalForceRhs::iNtegrate |
( |
EntitiesFieldData::EntData & |
row_data | ) |
|
|
inline |
Definition at line 99 of file FreeSurfaceOps.hpp.
99 {
101
102 auto t_w = getFTensor0IntegrationWeight();
103 auto t_normal = getFTensor1Normal();
104 auto t_lambda = getFTensor0FromVec(*
lambdaPtr);
105 auto t_row_base = row_data.getFTensor0N();
106 auto t_coords = getFTensor1CoordsAtGaussPts();
107
108 for (int gg = 0; gg != nbIntegrationPts; gg++) {
109
110 auto t_nf = getFTensor1FromArray<U_FIELD_DIM, U_FIELD_DIM>(locF);
111
112 const double r = t_coords(0);
114
115 int bb = 0;
117
118 t_nf(
i) +=
alpha * t_row_base * t_normal(
i) * t_lambda;
119 ++t_row_base;
120 ++t_nf;
121 }
122
123 for (; bb < nbRowBaseFunctions; ++bb)
124 ++t_row_base;
125
126 ++t_w;
127 ++t_lambda;
128 ++t_coords;
129 }
130
132 }
#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()
constexpr int U_FIELD_DIM
FTensor::Index< 'i', SPACE_DIM > i
◆ lambdaPtr
boost::shared_ptr<VectorDouble> FreeSurfaceOps::OpNormalForceRhs::lambdaPtr |
|
private |
The documentation for this struct was generated from the following file: