#include <tutorials/vec-5/src/FreeSurfaceOps.hpp>
- Examples
- free_surface.cpp.
Definition at line 138 of file FreeSurfaceOps.hpp.
◆ OpWettingAngleRhs()
FreeSurfaceOps::OpWettingAngleRhs::OpWettingAngleRhs |
( |
const std::string |
field_name, |
|
|
boost::shared_ptr< MatrixDouble > |
grad_h_ptr, |
|
|
boost::shared_ptr< Range > |
ents_ptr = nullptr , |
|
|
double |
wetting_angle = 0 |
|
) |
| |
|
inline |
◆ iNtegrate()
Definition at line 147 of file FreeSurfaceOps.hpp.
150 if (
entsPtr->find(AssemblyBoundaryEleOp::getFEEntityHandle()) ==
154 const double area = getMeasure();
155 auto t_w = getFTensor0IntegrationWeight();
156 auto t_row_base = row_data.getFTensor0N();
157 auto t_grad_h = getFTensor1FromMat<SPACE_DIM>(*
gradHPtr);
158 auto t_coords = getFTensor1CoordsAtGaussPts();
162 for (
int gg = 0; gg != nbIntegrationPts; gg++) {
164 const double r = t_coords(0);
166 const double h_grad_norm = sqrt(t_grad_h(
i) * t_grad_h(
i) +
eps);
167 const double cos_angle = std::cos(M_PI *
wettingAngle / 180);
168 const double rhs_wetting = s *
eta2 * h_grad_norm * cos_angle;
173 for (; bb != nbRows; ++bb) {
174 locF[bb] += alpha * t_row_base * rhs_wetting;
178 for (; bb < nbRowBaseFunctions; ++bb)
◆ entsPtr
boost::shared_ptr<Range> FreeSurfaceOps::OpWettingAngleRhs::entsPtr |
|
private |
◆ gradHPtr
boost::shared_ptr<MatrixDouble> FreeSurfaceOps::OpWettingAngleRhs::gradHPtr |
|
private |
◆ wettingAngle
double FreeSurfaceOps::OpWettingAngleRhs::wettingAngle |
|
private |
The documentation for this struct was generated from the following file: