Class to solve the linear conservation law equation in 3-D by a MUSCL Finite Volume scheme on tetrahedra. More...
#include <LCL3DT.h>
Public Member Functions | |
| LCL3DT (Mesh &m) | |
| Constructor using mesh. | |
| LCL3DT (Mesh &m, Vect< real_t > &U) | |
| Constructor using mesh and initial field. | |
| ~LCL3DT () | |
| Destructor. | |
| void | setInitialCondition (Vect< real_t > &u) |
| Set elementwise initial condition. | |
| void | setInitialCondition (real_t u) |
| Set a constant initial condition. | |
| void | setReconstruction () |
| Reconstruct flux using Muscl scheme. | |
| real_t | runOneTimeStep () |
| Run one time step. | |
| void | setBC (real_t u) |
Set Dirichlet boundary condition. Assign a constant value u to all boundary sides. | |
| void | setBC (const Side &sd, real_t u) |
| Set Dirichlet boundary condition. | |
| void | setBC (int code, real_t u) |
| Set Dirichlet boundary condition. | |
| void | setVelocity (const Vect< real_t > &v) |
| Set convection velocity. | |
| void | setVelocity (const LocalVect< real_t, 3 > &v) |
| Set (constant) convection velocity. | |
| void | setReferenceLength (real_t dx) |
| Assign reference length value. | |
| real_t | getReferenceLength () const |
| Return reference length. | |
| void | Forward (const Vect< real_t > &Flux, Vect< real_t > &Field) |
| Computation of the primal variable n->n+1. | |
Public Member Functions inherited from Muscl3DT | |
| Muscl3DT (Mesh &m) | |
| Constructor using mesh. | |
| ~Muscl3DT () | |
| Destructor. | |
| bool | setReconstruction (const Vect< real_t > &U, Vect< real_t > &LU, Vect< real_t > &RU, size_t dof) |
| Function to reconstruct by the Muscl method. | |
| real_t | getMinimumFaceArea () const |
| Return minimum area of faces in the mesh. | |
| real_t | getMinimumElementVolume () const |
| Return minimum volume of elements in the mesh. | |
| real_t | getMaximumFaceArea () const |
| Return maximum area of faces in the mesh. | |
| real_t | getMaximumElementVolume () const |
| Return maximum volume of elements in the mesh. | |
| real_t | getMeanFaceArea () const |
| Return mean area of faces in the mesh. | |
| real_t | getMeanElementVolume () const |
| Return mean volume of elements in the mesh. | |
| real_t | getMinimumEdgeLength () const |
| Return minimum length of edges in the mesh. | |
| real_t | getMinimumVolumebyArea () const |
| Return minimum volume by area in the mesh. | |
| real_t | getMaximumEdgeLength () const |
| Return maximum length of edges in the mesh. | |
| real_t | getTauLim () const |
| Return value of tau lim. | |
| real_t | getComega () const |
| Return value of Comega. | |
| void | setbetalim (real_t bl) |
| Assign value of beta lim. | |
Public Member Functions inherited from Muscl | |
| Muscl (Mesh &m) | |
| Constructor using mesh instance. | |
| virtual | ~Muscl () |
| Destructor. | |
| void | setTimeStep (real_t dt) |
| Assign time step value. | |
| real_t | getTimeStep () const |
| Return time step value. | |
| void | setCFL (real_t CFL) |
| Assign CFL value. | |
| real_t | getCFL () const |
| Return CFL value. | |
| void | setReferenceLength (real_t dx) |
| Assign reference length value. | |
| real_t | getReferenceLength () const |
| Return reference length. | |
| Mesh & | getMesh () const |
| Return reference to Mesh instance. | |
| void | setVerbose (int v) |
| Set verbosity parameter. | |
| bool | setReconstruction (const Vect< real_t > &U, Vect< real_t > &LU, Vect< real_t > &RU, size_t dof) |
| Function to reconstruct by the Muscl method. | |
| void | setMethod (const Method &s) |
| Choose a flux solver. | |
| void | setSolidZoneCode (int c) |
| Choose a code for solid zone. | |
| bool | getSolidZone () const |
| Return flag for presence of solid zones. | |
| int | getSolidZoneCode () const |
| Return code of solid zone, 0 if this one is not present. | |
| void | setLimiter (Limiter l) |
| Choose a flux limiter. | |
Additional Inherited Members | |
Public Types inherited from Muscl | |
| enum | Method { FIRST_ORDER_METHOD = 0 , MULTI_SLOPE_Q_METHOD = 1 , MULTI_SLOPE_M_METHOD = 2 } |
| Enumeration for flux choice. More... | |
| enum | Limiter { MINMOD_LIMITER = 0 , VANLEER_LIMITER = 1 , SUPERBEE_LIMITER = 2 , VANALBADA_LIMITER = 3 , MAX_LIMITER = 4 } |
| Enumeration of flux limiting methods. More... | |
| enum | SolverType { ROE_SOLVER = 0 , VFROE_SOLVER = 1 , LF_SOLVER = 2 , RUSANOV_SOLVER = 3 , HLL_SOLVER = 4 , HLLC_SOLVER = 5 , MAX_SOLVER = 6 } |
| Enumeration of various solvers for the Riemann problem. More... | |
Class to solve the linear conservation law equation in 3-D by a MUSCL Finite Volume scheme on tetrahedra.
Constructor using mesh and initial field.
| [in] | m | Reference to Mesh instance |
| [in] | U | Vector containing initial (elementwise) solution |
Computation of the primal variable n->n+1.
Vector Flux contains elementwise fluxes issued from the Riemann problem, calculated with, as left element, getNeighborElement(1) and right element getNeighborElement(2) if getNeighborElement(2) doesn't exist, we are on a boundary and we prescribe a symmetry condition
| void setBC | ( | const Side & | sd, |
| real_t | u ) |
Set Dirichlet boundary condition.
Assign a constant value to a side
| [in] | sd | Side to which value is prescibed |
| [in] | u | Value to prescribe |
| void setBC | ( | int | code, |
| real_t | u ) |
Set Dirichlet boundary condition.
Assign a constant value sides with a given code
| [in] | code | Code of sides to which value is prescibed |
| [in] | u | Value to prescribe |
| void setInitialCondition | ( | real_t | u | ) |
Set a constant initial condition.
| [in] | u | Value of initial condition to assign to all elements |
| void setInitialCondition | ( | Vect< real_t > & | u | ) |
Set elementwise initial condition.
| [in] | u | Vect instance containing initial condition values |
| void setVelocity | ( | const LocalVect< real_t, 3 > & | v | ) |
Set (constant) convection velocity.
| [in] | v | Vector containing constant velocity to prescribe |