No Matches
Public Member Functions | Private Attributes | List of all members
NeumannForcesSurface::LinearVaringPresssure Struct Reference

#include <users_modules/basic_finite_elements/src/SurfacePressure.hpp>

Inheritance diagram for NeumannForcesSurface::LinearVaringPresssure:
Collaboration diagram for NeumannForcesSurface::LinearVaringPresssure:

Public Member Functions

 LinearVaringPresssure (const VectorDouble3 &p, const double c)
MoFEMErrorCode getForce (const EntityHandle ent, const VectorDouble3 &coords, const VectorDouble3 &normal, VectorDouble3 &force)
- Public Member Functions inherited from NeumannForcesSurface::MethodForAnalyticalForce
virtual ~MethodForAnalyticalForce ()=default
virtual MoFEMErrorCode getForce (const EntityHandle ent, const VectorDouble3 &coords, const VectorDouble3 &normal, VectorDouble3 &force)

Private Attributes

const VectorDouble3 linearConstants
const double pressureShift

Detailed Description

Definition at line 43 of file SurfacePressure.hpp.

Constructor & Destructor Documentation

◆ LinearVaringPresssure()

NeumannForcesSurface::LinearVaringPresssure::LinearVaringPresssure ( const VectorDouble3 &  p,
const double  c 

Definition at line 45 of file SurfacePressure.hpp.

46 : MethodForAnalyticalForce(), linearConstants(p), pressureShift(c) {}
static Index< 'p', 3 > p
const double c
speed of light (cm/ns)

Member Function Documentation

◆ getForce()

MoFEMErrorCode NeumannForcesSurface::LinearVaringPresssure::getForce ( const EntityHandle  ent,
const VectorDouble3 &  coords,
const VectorDouble3 &  normal,
VectorDouble3 &  force 

User implemented analytical force

coordscoordinates of integration point
normalnormal at integration point
forcereturned force
error code

Reimplemented from NeumannForcesSurface::MethodForAnalyticalForce.

Definition at line 14 of file SurfacePressure.cpp.

16 {
18 const double p = inner_prod(coords, linearConstants) + pressureShift;
19 force = normal * p / norm_2(normal);
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416

Member Data Documentation

◆ linearConstants

const VectorDouble3 NeumannForcesSurface::LinearVaringPresssure::linearConstants

Definition at line 52 of file SurfacePressure.hpp.

◆ pressureShift

const double NeumannForcesSurface::LinearVaringPresssure::pressureShift

Definition at line 53 of file SurfacePressure.hpp.

The documentation for this struct was generated from the following files: