v0.14.0
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:
[legend]
Collaboration diagram for NeumannForcesSurface::LinearVaringPresssure:
[legend]

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
 

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 
)
inline

Definition at line 45 of file SurfacePressure.hpp.

46  : MethodForAnalyticalForce(), linearConstants(p), pressureShift(c) {}

Member Function Documentation

◆ getForce()

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

User implemented analytical force

Parameters
coordscoordinates of integration point
normalnormal at integration point
forcereturned force
Returns
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);
21 }

Member Data Documentation

◆ linearConstants

const VectorDouble3 NeumannForcesSurface::LinearVaringPresssure::linearConstants
private

Definition at line 52 of file SurfacePressure.hpp.

◆ pressureShift

const double NeumannForcesSurface::LinearVaringPresssure::pressureShift
private

Definition at line 53 of file SurfacePressure.hpp.


The documentation for this struct was generated from the following files:
NeumannForcesSurface::LinearVaringPresssure::linearConstants
const VectorDouble3 linearConstants
Definition: SurfacePressure.hpp:52
c
const double c
speed of light (cm/ns)
Definition: initial_diffusion.cpp:39
NeumannForcesSurface::LinearVaringPresssure::pressureShift
const double pressureShift
Definition: SurfacePressure.hpp:53
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346