#include <ManufacturedSolution.h>
Public Member Functions | |
| std::array< double, 10 > | evaluate (double x, double y, double z) const |
| const std::string & | get_name () const |
| const auto & | geta () const |
| const auto & | getc () const |
| const auto & | geth () const |
| const auto & | geths () const |
| size_t | getNumberOfInputs () const |
| size_t | getNumberOfParameters () const |
| ManufacturedSolution (std::shared_ptr< Database > db) | |
| void | setTricubicParams (const std::valarray< double > &cin, const std::valarray< double > &ain) |
Private Types | |
| enum class | BCType { NEUMANN , DIRICHLET1 , DIRICHLET2 , DIRICHLETZ2 , NONE , LASTType } |
| enum class | FunctionType { POLYNOMIAL , GENERALQUADRATIC } |
| enum class | Geometry { BRICK , CYLROD , CYLRODRZ , CYLSHELL , QTRCYLSHELL , LASTGeometry } |
| enum class | Order { QUADRATIC , CUBIC , FOURIER , GAUSSIAN , LASTOrder } |
Private Attributes | |
| std::valarray< double > | d_a |
| BCType | d_bcType |
| std::valarray< double > | d_c |
| bool | d_CylindricalCoords |
| std::function< std::array< double, 10 >(double, double, double, const ManufacturedSolution *)> | d_functionPointer |
| FunctionType | d_FunctionType |
| Geometry | d_geom |
| std::array< std::array< double, 3 >, 3 > | d_h |
| std::array< std::array< double, 3 >, 3 > | d_hs |
| double | d_MaximumTheta |
| double | d_MaxR |
| double | d_MaxTh |
| double | d_MaxX |
| double | d_MaxY |
| double | d_MaxZ |
| double | d_MinR |
| double | d_MinTh |
| double | d_MinX |
| double | d_MinY |
| double | d_MinZ |
| std::string | d_Name |
| size_t | d_NumberOfInputs |
| size_t | d_NumberOfParameters |
| Order | d_order |
| double | d_ScaleR |
| double | d_ScaleTh |
| double | d_ScaleX |
| double | d_ScaleY |
| double | d_ScaleZ |
Manufactured solution functions. These are the most general 3d tri-quadratic and tri-cubic polynomials that satisfy the following general boundary conditions on domains of the unit cube, unit cylindrical shell, unit cylindrical quarter shell, and unit cylindrical rod, denoted by \(V\):
\begin{eqnarray*} u(x,y,z) = c_i, \quad (x,y,z)\in \partial V_i, i \in {0,\dots,N_D} \\ \nabla u \cdot n_i = d_i, \quad (x,y,z) \in \partial V_i, i \in {0,\dots,N_N} \end{eqnarray*}
where \(\bigcup_{i} \partial V_i = V\), \(\mathrm{int} \partial V_i \cap \mathrm{int} \partial V_j = \emptyset\), \(N_D + N_N = N_V\) is the number of surfaces in the boundary of \(V\). The volume \(V\) is defined as follows
\begin{eqnarray*} \mathrm{unit\:cube} \quad 0 \leq x \leq 1 \quad 0 \leq y \leq 1 \quad 0 \leq z \leq 1 \\ \mathrm{unit\:rod} \quad 0 \leq r \leq 1 \quad 0 \leq \theta \leq 2 \pi \quad 0 \leq z \leq 1 \\ \mathrm{unit\:shell} \quad 1/2 \leq r \leq 1 \quad 0 \leq \theta \leq 2 \pi \quad 0 \leq z \leq 1 \\ \mathrm{unit\:quarter\:shell} \quad 1/2 \leq r \leq 1 \quad 0 \leq \theta \leq \pi / 2 \quad 0 \leq z \leq 1 \end{eqnarray*}
These polynomials were derived via symbolic computation, and the code was automatically generated in efficient Horner form.
Not all possibilities are non-trivial. The constructor will tell you which ones are available.
Note: some of these are mislabeled at the moment. The cubes and rods are all good. The quarter-shell are suspect.
Definition at line 47 of file ManufacturedSolution.h.
|
strongprivate |
| Enumerator | |
|---|---|
| NEUMANN | |
| DIRICHLET1 | |
| DIRICHLET2 | |
| DIRICHLETZ2 | |
| NONE | |
| LASTType | |
Definition at line 82 of file ManufacturedSolution.h.
|
strongprivate |
| Enumerator | |
|---|---|
| POLYNOMIAL | |
| GENERALQUADRATIC | |
Definition at line 79 of file ManufacturedSolution.h.
|
strongprivate |
| Enumerator | |
|---|---|
| BRICK | |
| CYLROD | |
| CYLRODRZ | |
| CYLSHELL | |
| QTRCYLSHELL | |
| LASTGeometry | |
Definition at line 80 of file ManufacturedSolution.h.
|
strongprivate |
| Enumerator | |
|---|---|
| QUADRATIC | |
| CUBIC | |
| FOURIER | |
| GAUSSIAN | |
| LASTOrder | |
Definition at line 81 of file ManufacturedSolution.h.
|
explicit |
| std::array< double, 10 > AMP::ManufacturedSolution::evaluate | ( | double | x, |
| double | y, | ||
| double | z | ||
| ) | const |
Evaluate the manufactured solution at a point.
| x | x-coordinate |
| y | y-coordinate |
| z | z-coordinate |
|
inline |
Definition at line 70 of file ManufacturedSolution.h.
References d_Name.
|
inline |
Definition at line 74 of file ManufacturedSolution.h.
References d_a.
|
inline |
Definition at line 73 of file ManufacturedSolution.h.
References d_c.
|
inline |
Definition at line 75 of file ManufacturedSolution.h.
References d_h.
|
inline |
Definition at line 76 of file ManufacturedSolution.h.
References d_hs.
|
inline |
Definition at line 62 of file ManufacturedSolution.h.
References d_NumberOfInputs.
|
inline |
Definition at line 60 of file ManufacturedSolution.h.
References d_NumberOfParameters.
|
inline |
Definition at line 64 of file ManufacturedSolution.h.
|
private |
Definition at line 96 of file ManufacturedSolution.h.
Referenced by geta(), and setTricubicParams().
|
private |
Definition at line 88 of file ManufacturedSolution.h.
|
private |
Definition at line 95 of file ManufacturedSolution.h.
Referenced by getc(), and setTricubicParams().
|
private |
Definition at line 108 of file ManufacturedSolution.h.
|
private |
Definition at line 93 of file ManufacturedSolution.h.
|
private |
Definition at line 84 of file ManufacturedSolution.h.
|
private |
Definition at line 86 of file ManufacturedSolution.h.
|
private |
Definition at line 104 of file ManufacturedSolution.h.
Referenced by geth().
|
private |
Definition at line 105 of file ManufacturedSolution.h.
Referenced by geths().
|
private |
Definition at line 107 of file ManufacturedSolution.h.
|
private |
Definition at line 101 of file ManufacturedSolution.h.
|
private |
Definition at line 102 of file ManufacturedSolution.h.
|
private |
Definition at line 98 of file ManufacturedSolution.h.
|
private |
Definition at line 99 of file ManufacturedSolution.h.
|
private |
Definition at line 100 of file ManufacturedSolution.h.
|
private |
Definition at line 101 of file ManufacturedSolution.h.
|
private |
Definition at line 102 of file ManufacturedSolution.h.
|
private |
Definition at line 98 of file ManufacturedSolution.h.
|
private |
Definition at line 99 of file ManufacturedSolution.h.
|
private |
Definition at line 100 of file ManufacturedSolution.h.
|
private |
Definition at line 110 of file ManufacturedSolution.h.
Referenced by get_name().
|
private |
Definition at line 90 of file ManufacturedSolution.h.
Referenced by getNumberOfInputs().
|
private |
Definition at line 89 of file ManufacturedSolution.h.
Referenced by getNumberOfParameters().
|
private |
Definition at line 87 of file ManufacturedSolution.h.
|
private |
Definition at line 101 of file ManufacturedSolution.h.
|
private |
Definition at line 102 of file ManufacturedSolution.h.
|
private |
Definition at line 98 of file ManufacturedSolution.h.
|
private |
Definition at line 99 of file ManufacturedSolution.h.
|
private |
Definition at line 100 of file ManufacturedSolution.h.
|
Advanced Multi-Physics (AMP) Oak Ridge National Laboratory Idaho National Laboratory Los Alamos National Laboratory |
This page automatically produced from the source code by Last updated: Tue Mar 10 2026 13:06:42. Comments on this page |