v0.15.0
Loading...
Searching...
No Matches
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) {}
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 )
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}
#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()

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: