[OpNormalConstrainRhs]
More...
#include "tutorials/vec-5_free_surface/src/FreeSurfaceOps.hpp"
|
| boost::shared_ptr< MatrixDouble > | uPtr |
| |
[OpNormalConstrainRhs]
Boundary normal constraint RHS
- Parameters
-
| field_name | Name of the field associated with the operator |
| u_ptr | Pointer to the velocity matrix on the free surface |
- Returns
- MoFEMErrorCode
Computes the integral ∫_Γ w_L·(n·u) dΓ, where:
- w_L : test function for Lagrange multiplier (λ)
- n : outward normal vector on the boundary
- Examples
- mofem/tutorials/vec-5_free_surface/free_surface.cpp.
Definition at line 89 of file FreeSurfaceOps.hpp.
◆ OpNormalConstrainRhs()
| FreeSurfaceOps::OpNormalConstrainRhs::OpNormalConstrainRhs |
( |
const std::string |
field_name, |
|
|
boost::shared_ptr< MatrixDouble > |
u_ptr |
|
) |
| |
|
inline |
Definition at line 90 of file FreeSurfaceOps.hpp.
93 AssemblyBoundaryEleOp::OPROW),
constexpr auto field_name
boost::shared_ptr< MatrixDouble > uPtr
FormsIntegrators< BoundaryEleOp >::Assembly< A >::OpBase AssemblyBoundaryEleOp
◆ iNtegrate()
| MoFEMErrorCode FreeSurfaceOps::OpNormalConstrainRhs::iNtegrate |
( |
EntitiesFieldData::EntData & |
row_data | ) |
|
|
inline |
Definition at line 96 of file FreeSurfaceOps.hpp.
96 {
98
99 auto t_w = getFTensor0IntegrationWeight();
100 auto t_normal = getFTensor1Normal();
101 auto t_u = getFTensor1FromMat<SPACE_DIM>(*
uPtr);
102 auto t_row_base = row_data.getFTensor0N();
103 auto t_coords = getFTensor1CoordsAtGaussPts();
104
105 for (int gg = 0; gg != nbIntegrationPts; gg++) {
106
107 const double r = t_coords(0);
109
110 int bb = 0;
111 for (; bb != nbRows; ++bb) {
112 locF[bb] += alpha * t_row_base * (t_normal(
i) * t_u(
i));
113 ++t_row_base;
114 }
115
116 for (; bb < nbRowBaseFunctions; ++bb)
117 ++t_row_base;
118
119 ++t_w;
120 ++t_u;
121 ++t_coords;
122 }
123
125 }
#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()
auto cylindrical
[cylindrical]
FTensor::Index< 'i', SPACE_DIM > i
◆ uPtr
| boost::shared_ptr<MatrixDouble> FreeSurfaceOps::OpNormalConstrainRhs::uPtr |
|
private |
The documentation for this struct was generated from the following file: