Advanced Multi-Physics (AMP)
On-Line Documentation
Public Member Functions | Protected Attributes | List of all members
AMP::MechanicsManufacturedSolution::MMS Class Referenceabstract

#include <MechanicsManufacturedSolutions.h>

Inheritance diagram for AMP::MechanicsManufacturedSolution::MMS:
Inheritance graph
[legend]

Public Member Functions

std::vector< double > getExactSolutions (const std::vector< double > &xyz) const
 
std::vector< double > getExactSolutions (double x, double y, double z) const
 
double getExactSolutionX (const std::vector< double > &xyz) const
 
virtual double getExactSolutionX (double x, double y, double z) const =0
 
double getExactSolutionY (const std::vector< double > &xyz) const
 
virtual double getExactSolutionY (double x, double y, double z) const =0
 
double getExactSolutionZ (const std::vector< double > &xyz) const
 
virtual double getExactSolutionZ (double x, double y, double z) const =0
 
std::vector< double > getForcingTerms (const std::vector< double > &xyz) const
 
std::vector< double > getForcingTerms (double x, double y, double z) const
 
double getForcingTermX (const std::vector< double > &xyz) const
 
virtual double getForcingTermX (double x, double y, double z) const =0
 
double getForcingTermY (const std::vector< double > &xyz) const
 
virtual double getForcingTermY (double x, double y, double z) const =0
 
double getForcingTermZ (const std::vector< double > &xyz) const
 
virtual double getForcingTermZ (double x, double y, double z) const =0
 
const std::string & getName () const
 
std::vector< double > getStressTensor (const std::vector< double > &xyz) const
 
virtual std::vector< double > getStressTensor (double x, double y, double z) const =0
 
 MMS (double YM=0.0, double PR=0.0)
 
void multX (double M)
 
void multXYZ (double M)
 
void multY (double M)
 
void multZ (double M)
 
void scaleX (double L)
 
void scaleXYZ (double L)
 
void scaleY (double L)
 
void scaleZ (double L)
 
void set_axx (double v)
 
void set_axy (double v)
 
void set_axz (double v)
 
void set_ayx (double v)
 
void set_ayy (double v)
 
void set_ayz (double v)
 
void set_azx (double v)
 
void set_azy (double v)
 
void set_azz (double v)
 
void set_bxx (double v)
 
void set_bxy (double v)
 
void set_bxz (double v)
 
void set_byx (double v)
 
void set_byy (double v)
 
void set_byz (double v)
 
void set_bzx (double v)
 
void set_bzy (double v)
 
void set_bzz (double v)
 
void setPoissonsRatio (double PR)
 
void setYoungsModulus (double YM)
 
virtual ~MMS ()
 Destructor.
 

Protected Attributes

double axx
 
double axy
 
double axz
 
double ayx
 
double ayy
 
double ayz
 
double azx
 
double azy
 
double azz
 
double bxx
 
double bxy
 
double bxz
 
double byx
 
double byy
 
double byz
 
double bzx
 
double bzy
 
double bzz
 
double E
 Young's modulus.
 
double Lx
 
double Ly
 
double Lz
 scaling factors
 
double Mx
 
double My
 
double Mz
 multiplying factors
 
std::string name
 name/type of mechanics manufactured solution
 
double nu
 Poisson's ratio.
 

Detailed Description

This is a base class for mechanics manufactured solutions

The MMS class provide functions to evaluate exact solution for the displacement \( u_i \) and corresponding forcing term \( f_i = - \sigma_{ij,j} \) where \( i \in \{x,y,z\} \)

Definition at line 18 of file MechanicsManufacturedSolutions.h.

Constructor & Destructor Documentation

◆ MMS()

AMP::MechanicsManufacturedSolution::MMS::MMS ( double  YM = 0.0,
double  PR = 0.0 
)

Default constructor

Parameters
YMYoungs modulus
PRPoissons ratio

Note: Youngs modulus E and Poissons ratio nu are assumed to be constant here but this can be change later. If the need for it arise shout me an email dalg2.nosp@m.4@ne.nosp@m..tamu.nosp@m..edu

◆ ~MMS()

virtual AMP::MechanicsManufacturedSolution::MMS::~MMS ( )
inlinevirtual

Destructor.

Definition at line 33 of file MechanicsManufacturedSolutions.h.

Member Function Documentation

◆ getExactSolutions() [1/2]

std::vector< double > AMP::MechanicsManufacturedSolution::MMS::getExactSolutions ( const std::vector< double > &  xyz) const
inline

Definition at line 147 of file MechanicsManufacturedSolutions.h.

References getExactSolutions().

◆ getExactSolutions() [2/2]

std::vector< double > AMP::MechanicsManufacturedSolution::MMS::getExactSolutions ( double  x,
double  y,
double  z 
) const
inline

All the following points to the method described above and is provided for conveniance only You may add as many as you want For instance if you want to pass a Point directly as an argument or if you want to pass vectors of integration point (then do it by constant reference!!)

Definition at line 131 of file MechanicsManufacturedSolutions.h.

References getExactSolutionX(), getExactSolutionY(), and getExactSolutionZ().

Referenced by getExactSolutions().

◆ getExactSolutionX() [1/2]

double AMP::MechanicsManufacturedSolution::MMS::getExactSolutionX ( const std::vector< double > &  xyz) const
inline

Definition at line 155 of file MechanicsManufacturedSolutions.h.

References AMP_ASSERT, and getExactSolutionX().

◆ getExactSolutionX() [2/2]

virtual double AMP::MechanicsManufacturedSolution::MMS::getExactSolutionX ( double  x,
double  y,
double  z 
) const
pure virtual

These are overridden in derived classes and constains exact solutions and forcing terms for the displacement along the i-axis

Implemented in AMP::MechanicsManufacturedSolution::MMSLinear, and AMP::MechanicsManufacturedSolution::MMSTrigonometric.

Referenced by getExactSolutions(), and getExactSolutionX().

◆ getExactSolutionY() [1/2]

double AMP::MechanicsManufacturedSolution::MMS::getExactSolutionY ( const std::vector< double > &  xyz) const
inline

Definition at line 160 of file MechanicsManufacturedSolutions.h.

References AMP_ASSERT, and getExactSolutionY().

◆ getExactSolutionY() [2/2]

virtual double AMP::MechanicsManufacturedSolution::MMS::getExactSolutionY ( double  x,
double  y,
double  z 
) const
pure virtual

◆ getExactSolutionZ() [1/2]

double AMP::MechanicsManufacturedSolution::MMS::getExactSolutionZ ( const std::vector< double > &  xyz) const
inline

Definition at line 165 of file MechanicsManufacturedSolutions.h.

References AMP_ASSERT, and getExactSolutionZ().

◆ getExactSolutionZ() [2/2]

virtual double AMP::MechanicsManufacturedSolution::MMS::getExactSolutionZ ( double  x,
double  y,
double  z 
) const
pure virtual

◆ getForcingTerms() [1/2]

std::vector< double > AMP::MechanicsManufacturedSolution::MMS::getForcingTerms ( const std::vector< double > &  xyz) const
inline

Definition at line 151 of file MechanicsManufacturedSolutions.h.

References getForcingTerms().

◆ getForcingTerms() [2/2]

std::vector< double > AMP::MechanicsManufacturedSolution::MMS::getForcingTerms ( double  x,
double  y,
double  z 
) const
inline

◆ getForcingTermX() [1/2]

double AMP::MechanicsManufacturedSolution::MMS::getForcingTermX ( const std::vector< double > &  xyz) const
inline

Definition at line 170 of file MechanicsManufacturedSolutions.h.

References AMP_ASSERT, and getForcingTermX().

◆ getForcingTermX() [2/2]

virtual double AMP::MechanicsManufacturedSolution::MMS::getForcingTermX ( double  x,
double  y,
double  z 
) const
pure virtual

◆ getForcingTermY() [1/2]

double AMP::MechanicsManufacturedSolution::MMS::getForcingTermY ( const std::vector< double > &  xyz) const
inline

Definition at line 175 of file MechanicsManufacturedSolutions.h.

References AMP_ASSERT, and getForcingTermY().

◆ getForcingTermY() [2/2]

virtual double AMP::MechanicsManufacturedSolution::MMS::getForcingTermY ( double  x,
double  y,
double  z 
) const
pure virtual

◆ getForcingTermZ() [1/2]

double AMP::MechanicsManufacturedSolution::MMS::getForcingTermZ ( const std::vector< double > &  xyz) const
inline

Definition at line 180 of file MechanicsManufacturedSolutions.h.

References AMP_ASSERT, and getForcingTermZ().

◆ getForcingTermZ() [2/2]

virtual double AMP::MechanicsManufacturedSolution::MMS::getForcingTermZ ( double  x,
double  y,
double  z 
) const
pure virtual

◆ getName()

const std::string & AMP::MechanicsManufacturedSolution::MMS::getName ( ) const
inline

Accessor to the name/type of mechanics manufactured solution that have been instancied

Definition at line 98 of file MechanicsManufacturedSolutions.h.

References name.

◆ getStressTensor() [1/2]

std::vector< double > AMP::MechanicsManufacturedSolution::MMS::getStressTensor ( const std::vector< double > &  xyz) const
inline

Definition at line 197 of file MechanicsManufacturedSolutions.h.

References AMP_ASSERT, and getStressTensor().

◆ getStressTensor() [2/2]

virtual std::vector< double > AMP::MechanicsManufacturedSolution::MMS::getStressTensor ( double  x,
double  y,
double  z 
) const
pure virtual

This is needed for traction boundary conditions The function will return the stress tensor \( \sigma \) under the form of a vector \( (\sigma_{xx}, \sigma_{yy}, \sigma_{zz}, \sigma_{yz}, \sigma_{xz}, \sigma_{xy})^T \)

Implemented in AMP::MechanicsManufacturedSolution::MMSLinear, and AMP::MechanicsManufacturedSolution::MMSTrigonometric.

Referenced by getStressTensor().

◆ multX()

void AMP::MechanicsManufacturedSolution::MMS::multX ( double  M)
inline

Definition at line 60 of file MechanicsManufacturedSolutions.h.

References Mx.

◆ multXYZ()

void AMP::MechanicsManufacturedSolution::MMS::multXYZ ( double  M)
inline

Definition at line 63 of file MechanicsManufacturedSolutions.h.

References Mx, My, and Mz.

◆ multY()

void AMP::MechanicsManufacturedSolution::MMS::multY ( double  M)
inline

Definition at line 61 of file MechanicsManufacturedSolutions.h.

References My.

◆ multZ()

void AMP::MechanicsManufacturedSolution::MMS::multZ ( double  M)
inline

Definition at line 62 of file MechanicsManufacturedSolutions.h.

References Mz.

◆ scaleX()

void AMP::MechanicsManufacturedSolution::MMS::scaleX ( double  L)
inline

Mutators to set scaling factor \( L_{i} \) and multiplying factor \( M_{i} \) for displacement along axes \( i \in \{x,y,z\} \) Defaults values are \( L_{i} = 1 \) and \( M_{i} = 1 \)

Definition at line 51 of file MechanicsManufacturedSolutions.h.

References Lx.

◆ scaleXYZ()

void AMP::MechanicsManufacturedSolution::MMS::scaleXYZ ( double  L)
inline

Definition at line 54 of file MechanicsManufacturedSolutions.h.

References Lx, Ly, and Lz.

◆ scaleY()

void AMP::MechanicsManufacturedSolution::MMS::scaleY ( double  L)
inline

Definition at line 52 of file MechanicsManufacturedSolutions.h.

References Ly.

◆ scaleZ()

void AMP::MechanicsManufacturedSolution::MMS::scaleZ ( double  L)
inline

Definition at line 53 of file MechanicsManufacturedSolutions.h.

References Lz.

◆ set_axx()

void AMP::MechanicsManufacturedSolution::MMS::set_axx ( double  v)
inline

Mutators for the coefficients \( a_{ij} \) and \( b_{ij} \) for all \( (i,j) \in \{x,y,z\} \) Default values are \( a_{ij} = 0 \) and \( b_{ij} = 1 \) By setting one of the \( b_{ij} \) to zero you impose \( u_i = 0 \)

Definition at line 76 of file MechanicsManufacturedSolutions.h.

References axx.

◆ set_axy()

void AMP::MechanicsManufacturedSolution::MMS::set_axy ( double  v)
inline

Definition at line 78 of file MechanicsManufacturedSolutions.h.

References axy.

◆ set_axz()

void AMP::MechanicsManufacturedSolution::MMS::set_axz ( double  v)
inline

Definition at line 80 of file MechanicsManufacturedSolutions.h.

References axz.

◆ set_ayx()

void AMP::MechanicsManufacturedSolution::MMS::set_ayx ( double  v)
inline

Definition at line 82 of file MechanicsManufacturedSolutions.h.

References ayx.

◆ set_ayy()

void AMP::MechanicsManufacturedSolution::MMS::set_ayy ( double  v)
inline

Definition at line 84 of file MechanicsManufacturedSolutions.h.

References ayy.

◆ set_ayz()

void AMP::MechanicsManufacturedSolution::MMS::set_ayz ( double  v)
inline

Definition at line 86 of file MechanicsManufacturedSolutions.h.

References ayz.

◆ set_azx()

void AMP::MechanicsManufacturedSolution::MMS::set_azx ( double  v)
inline

Definition at line 88 of file MechanicsManufacturedSolutions.h.

References azx.

◆ set_azy()

void AMP::MechanicsManufacturedSolution::MMS::set_azy ( double  v)
inline

Definition at line 90 of file MechanicsManufacturedSolutions.h.

References azy.

◆ set_azz()

void AMP::MechanicsManufacturedSolution::MMS::set_azz ( double  v)
inline

Definition at line 92 of file MechanicsManufacturedSolutions.h.

References azz.

◆ set_bxx()

void AMP::MechanicsManufacturedSolution::MMS::set_bxx ( double  v)
inline

Definition at line 77 of file MechanicsManufacturedSolutions.h.

References bxx.

◆ set_bxy()

void AMP::MechanicsManufacturedSolution::MMS::set_bxy ( double  v)
inline

Definition at line 79 of file MechanicsManufacturedSolutions.h.

References bxy.

◆ set_bxz()

void AMP::MechanicsManufacturedSolution::MMS::set_bxz ( double  v)
inline

Definition at line 81 of file MechanicsManufacturedSolutions.h.

References bxz.

◆ set_byx()

void AMP::MechanicsManufacturedSolution::MMS::set_byx ( double  v)
inline

Definition at line 83 of file MechanicsManufacturedSolutions.h.

References byx.

◆ set_byy()

void AMP::MechanicsManufacturedSolution::MMS::set_byy ( double  v)
inline

Definition at line 85 of file MechanicsManufacturedSolutions.h.

References byy.

◆ set_byz()

void AMP::MechanicsManufacturedSolution::MMS::set_byz ( double  v)
inline

Definition at line 87 of file MechanicsManufacturedSolutions.h.

References byz.

◆ set_bzx()

void AMP::MechanicsManufacturedSolution::MMS::set_bzx ( double  v)
inline

Definition at line 89 of file MechanicsManufacturedSolutions.h.

References bzx.

◆ set_bzy()

void AMP::MechanicsManufacturedSolution::MMS::set_bzy ( double  v)
inline

Definition at line 91 of file MechanicsManufacturedSolutions.h.

References bzy.

◆ set_bzz()

void AMP::MechanicsManufacturedSolution::MMS::set_bzz ( double  v)
inline

Definition at line 93 of file MechanicsManufacturedSolutions.h.

References bzz.

◆ setPoissonsRatio()

void AMP::MechanicsManufacturedSolution::MMS::setPoissonsRatio ( double  PR)
inline

Mutator for Poissons modulus nu

Definition at line 43 of file MechanicsManufacturedSolutions.h.

References nu.

◆ setYoungsModulus()

void AMP::MechanicsManufacturedSolution::MMS::setYoungsModulus ( double  YM)
inline

Mutator for Youngs modulus E

Definition at line 38 of file MechanicsManufacturedSolutions.h.

References E.

Member Data Documentation

◆ axx

double AMP::MechanicsManufacturedSolution::MMS::axx
protected

a few extra coefficients :) Please refer to the derived classes to see how these coefficients are used

Definition at line 212 of file MechanicsManufacturedSolutions.h.

Referenced by set_axx().

◆ axy

double AMP::MechanicsManufacturedSolution::MMS::axy
protected

Definition at line 212 of file MechanicsManufacturedSolutions.h.

Referenced by set_axy().

◆ axz

double AMP::MechanicsManufacturedSolution::MMS::axz
protected

Definition at line 212 of file MechanicsManufacturedSolutions.h.

Referenced by set_axz().

◆ ayx

double AMP::MechanicsManufacturedSolution::MMS::ayx
protected

Definition at line 213 of file MechanicsManufacturedSolutions.h.

Referenced by set_ayx().

◆ ayy

double AMP::MechanicsManufacturedSolution::MMS::ayy
protected

Definition at line 213 of file MechanicsManufacturedSolutions.h.

Referenced by set_ayy().

◆ ayz

double AMP::MechanicsManufacturedSolution::MMS::ayz
protected

Definition at line 213 of file MechanicsManufacturedSolutions.h.

Referenced by set_ayz().

◆ azx

double AMP::MechanicsManufacturedSolution::MMS::azx
protected

Definition at line 214 of file MechanicsManufacturedSolutions.h.

Referenced by set_azx().

◆ azy

double AMP::MechanicsManufacturedSolution::MMS::azy
protected

Definition at line 214 of file MechanicsManufacturedSolutions.h.

Referenced by set_azy().

◆ azz

double AMP::MechanicsManufacturedSolution::MMS::azz
protected

Definition at line 214 of file MechanicsManufacturedSolutions.h.

Referenced by set_azz().

◆ bxx

double AMP::MechanicsManufacturedSolution::MMS::bxx
protected

Definition at line 212 of file MechanicsManufacturedSolutions.h.

Referenced by set_bxx().

◆ bxy

double AMP::MechanicsManufacturedSolution::MMS::bxy
protected

Definition at line 212 of file MechanicsManufacturedSolutions.h.

Referenced by set_bxy().

◆ bxz

double AMP::MechanicsManufacturedSolution::MMS::bxz
protected

Definition at line 212 of file MechanicsManufacturedSolutions.h.

Referenced by set_bxz().

◆ byx

double AMP::MechanicsManufacturedSolution::MMS::byx
protected

Definition at line 213 of file MechanicsManufacturedSolutions.h.

Referenced by set_byx().

◆ byy

double AMP::MechanicsManufacturedSolution::MMS::byy
protected

Definition at line 213 of file MechanicsManufacturedSolutions.h.

Referenced by set_byy().

◆ byz

double AMP::MechanicsManufacturedSolution::MMS::byz
protected

Definition at line 213 of file MechanicsManufacturedSolutions.h.

Referenced by set_byz().

◆ bzx

double AMP::MechanicsManufacturedSolution::MMS::bzx
protected

Definition at line 214 of file MechanicsManufacturedSolutions.h.

Referenced by set_bzx().

◆ bzy

double AMP::MechanicsManufacturedSolution::MMS::bzy
protected

Definition at line 214 of file MechanicsManufacturedSolutions.h.

Referenced by set_bzy().

◆ bzz

double AMP::MechanicsManufacturedSolution::MMS::bzz
protected

Definition at line 214 of file MechanicsManufacturedSolutions.h.

Referenced by set_bzz().

◆ E

double AMP::MechanicsManufacturedSolution::MMS::E
protected

Young's modulus.

Definition at line 204 of file MechanicsManufacturedSolutions.h.

Referenced by setYoungsModulus().

◆ Lx

double AMP::MechanicsManufacturedSolution::MMS::Lx
protected

Definition at line 206 of file MechanicsManufacturedSolutions.h.

Referenced by scaleX(), and scaleXYZ().

◆ Ly

double AMP::MechanicsManufacturedSolution::MMS::Ly
protected

Definition at line 206 of file MechanicsManufacturedSolutions.h.

Referenced by scaleXYZ(), and scaleY().

◆ Lz

double AMP::MechanicsManufacturedSolution::MMS::Lz
protected

scaling factors

Definition at line 206 of file MechanicsManufacturedSolutions.h.

Referenced by scaleXYZ(), and scaleZ().

◆ Mx

double AMP::MechanicsManufacturedSolution::MMS::Mx
protected

Definition at line 207 of file MechanicsManufacturedSolutions.h.

Referenced by multX(), and multXYZ().

◆ My

double AMP::MechanicsManufacturedSolution::MMS::My
protected

Definition at line 207 of file MechanicsManufacturedSolutions.h.

Referenced by multXYZ(), and multY().

◆ Mz

double AMP::MechanicsManufacturedSolution::MMS::Mz
protected

multiplying factors

Definition at line 207 of file MechanicsManufacturedSolutions.h.

Referenced by multXYZ(), and multZ().

◆ name

std::string AMP::MechanicsManufacturedSolution::MMS::name
protected

◆ nu

double AMP::MechanicsManufacturedSolution::MMS::nu
protected

Poisson's ratio.

Definition at line 205 of file MechanicsManufacturedSolutions.h.

Referenced by setPoissonsRatio().


The documentation for this class was generated from the following file:



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:43.
Comments on this page