#include <PatchGodunov.H>

Public Member Functions | |
| PatchGodunov () | |
| Constructor. | |
| virtual | ~PatchGodunov () |
| Destructor. | |
| virtual void | define (const ProblemDomain &a_domain, const Real &a_dx, const GodunovPhysics *const a_gdnvPhysicsPtr, const int &a_normalPredOrder, const bool &a_useFourthOrderSlopes, const bool &a_usePrimLimiting, const bool &a_useCharLimiting, const bool &a_useFlattening, const bool &a_useArtificialViscosity, const Real &a_artificialViscosity) |
| Define the object. | |
| virtual void | setCurrentTime (const Real &a_currentTime) |
| Set the current time before calling updateState, computeWHalf, computeUpdate. | |
| virtual void | setCurrentBox (const Box &a_currentBox) |
| Set the current box before calling updateState, computeWHalf, computeUpdate. | |
| virtual void | updateState (FArrayBox &a_U, FluxBox &a_F, Real &a_maxWaveSpeed, const FArrayBox &a_S, const Real &a_dt, const Box &a_box) |
| Update the conserved variables and return the fluxes used to do this. | |
| virtual void | updateState (FArrayBox &a_U, FluxBox &a_F, FluxBox &a_wHalf, Real &a_maxWaveSpeed, const FArrayBox &a_S, const Real &a_dt, const Box &a_box) |
| virtual void | computeWHalf (FluxBox &a_WHalf, const FArrayBox &a_U, const FArrayBox &a_S, const Real &a_dt, const Box &a_box) |
| Compute the time-centered values of the primitive variables on cell faces. | |
| virtual void | computeUpdate (FArrayBox &a_dU, FluxBox &a_F, const FArrayBox &a_U, const FluxBox &a_WHalf, const Real &a_dt, const Box &a_box) |
| Compute the increment in the conserved variables from face variables. | |
| void | computeFluxes (FluxBox &a_F, const FluxBox &a_WHalf, const Box &a_box) |
| Compute fluxes from primitive variables on faces. | |
| void | CTUNormalPred (FArrayBox &a_WMinus, FArrayBox &a_WPlus, const Real &a_dt, const Real &a_dx, const FArrayBox &a_W, const FArrayBox &a_flat, const int &a_dir, const Box &a_box) |
| CTU normal predictor. | |
| void | PLMNormalPred (FArrayBox &a_WMinus, FArrayBox &a_WPlus, const Real &a_dt, const Real &a_dx, const FArrayBox &a_W, const FArrayBox &a_flat, const int &a_dir, const Box &a_box) |
| PLM normal predictor. | |
| void | PPMNormalPred (FArrayBox &a_WMinus, FArrayBox &a_WPlus, const Real &a_dt, const Real &a_dx, const FArrayBox &a_W, const FArrayBox &a_flat, const int &a_dir, const Box &a_box) |
| PPM normal predictor. | |
| GodunovPhysics * | getGodunovPhysicsPtr () |
| Accessor to get at the GodunovPhysics object. | |
| virtual bool | isDefined () const |
| Is the object completely defined. | |
| void | highOrderLimiter (bool a_highOrderLimiter) |
| Set whether to use high-order limiter. | |
Protected Attributes | |
| ProblemDomain | m_domain |
| Real | m_dx |
| GodunovPhysics * | m_gdnvPhysics |
| GodunovUtilities | m_util |
| int | m_normalPredOrder |
| bool | m_useFourthOrderSlopes |
| bool | m_usePrimLimiting |
| bool | m_useCharLimiting |
| bool | m_useFlattening |
| bool | m_useArtificialViscosity |
| Real | m_artificialViscosity |
| Real | m_currentTime |
| bool | m_isCurrentTimeSet |
| Box | m_currentBox |
| bool | m_isCurrentBoxSet |
| bool | m_isDefined |
| bool | m_highOrderLimiter |
Private Member Functions | |
| void | operator= (const PatchGodunov &a_input) |
| PatchGodunov (const PatchGodunov &a_input) | |
| PatchGodunov::PatchGodunov | ( | ) |
Constructor.
| virtual PatchGodunov::~PatchGodunov | ( | ) | [virtual] |
Destructor.
| PatchGodunov::PatchGodunov | ( | const PatchGodunov & | a_input | ) | [inline, private] |
References MayDay::Error().
| virtual void PatchGodunov::define | ( | const ProblemDomain & | a_domain, | |
| const Real & | a_dx, | |||
| const GodunovPhysics *const | a_gdnvPhysicsPtr, | |||
| const int & | a_normalPredOrder, | |||
| const bool & | a_useFourthOrderSlopes, | |||
| const bool & | a_usePrimLimiting, | |||
| const bool & | a_useCharLimiting, | |||
| const bool & | a_useFlattening, | |||
| const bool & | a_useArtificialViscosity, | |||
| const Real & | a_artificialViscosity | |||
| ) | [virtual] |
Define the object.
| virtual void PatchGodunov::setCurrentTime | ( | const Real & | a_currentTime | ) | [virtual] |
Set the current time before calling updateState, computeWHalf, computeUpdate.
| virtual void PatchGodunov::setCurrentBox | ( | const Box & | a_currentBox | ) | [virtual] |
Set the current box before calling updateState, computeWHalf, computeUpdate.
| virtual void PatchGodunov::updateState | ( | FArrayBox & | a_U, | |
| FluxBox & | a_F, | |||
| Real & | a_maxWaveSpeed, | |||
| const FArrayBox & | a_S, | |||
| const Real & | a_dt, | |||
| const Box & | a_box | |||
| ) | [virtual] |
Update the conserved variables and return the fluxes used to do this.
Update the conserved variables and return the final fluxes that were used for this. Compute the fluxes using a second-order, unsplit Godunov method based on the input conserved variables, a_U, and source terms, a_S. If there are no source terms then a_S should be null constructed. Also return the maximum wave speed.
| virtual void PatchGodunov::updateState | ( | FArrayBox & | a_U, | |
| FluxBox & | a_F, | |||
| FluxBox & | a_wHalf, | |||
| Real & | a_maxWaveSpeed, | |||
| const FArrayBox & | a_S, | |||
| const Real & | a_dt, | |||
| const Box & | a_box | |||
| ) | [virtual] |
| virtual void PatchGodunov::computeWHalf | ( | FluxBox & | a_WHalf, | |
| const FArrayBox & | a_U, | |||
| const FArrayBox & | a_S, | |||
| const Real & | a_dt, | |||
| const Box & | a_box | |||
| ) | [virtual] |
Compute the time-centered values of the primitive variables on cell faces.
This API is used in cases where some operation over the whole level must be performed on the face-centered variables prior to the final difference update. Examples include incompressible flow and MHD, in which it is necessary to compute the projection of a face-centered vector field on its divergence-free part. To complete the differencing, it is necessary to call the member function computeUpdate.
| virtual void PatchGodunov::computeUpdate | ( | FArrayBox & | a_dU, | |
| FluxBox & | a_F, | |||
| const FArrayBox & | a_U, | |||
| const FluxBox & | a_WHalf, | |||
| const Real & | a_dt, | |||
| const Box & | a_box | |||
| ) | [virtual] |
Compute the increment in the conserved variables from face variables.
Compute dU = dt*dUdt, the change in the conserved variables over the time step. The fluxes are returned are suitable for use in refluxing.
Compute fluxes from primitive variables on faces.
| void PatchGodunov::CTUNormalPred | ( | FArrayBox & | a_WMinus, | |
| FArrayBox & | a_WPlus, | |||
| const Real & | a_dt, | |||
| const Real & | a_dx, | |||
| const FArrayBox & | a_W, | |||
| const FArrayBox & | a_flat, | |||
| const int & | a_dir, | |||
| const Box & | a_box | |||
| ) |
CTU normal predictor.
Compute the increments in the characteristic amplitudes using CTU (for CTU, increments are zero)
| void PatchGodunov::PLMNormalPred | ( | FArrayBox & | a_WMinus, | |
| FArrayBox & | a_WPlus, | |||
| const Real & | a_dt, | |||
| const Real & | a_dx, | |||
| const FArrayBox & | a_W, | |||
| const FArrayBox & | a_flat, | |||
| const int & | a_dir, | |||
| const Box & | a_box | |||
| ) |
PLM normal predictor.
Compute the increments in the characteristic amplitudes using PLM
| void PatchGodunov::PPMNormalPred | ( | FArrayBox & | a_WMinus, | |
| FArrayBox & | a_WPlus, | |||
| const Real & | a_dt, | |||
| const Real & | a_dx, | |||
| const FArrayBox & | a_W, | |||
| const FArrayBox & | a_flat, | |||
| const int & | a_dir, | |||
| const Box & | a_box | |||
| ) |
PPM normal predictor.
Compute the increments in the characteristic amplitudes using PPM
| GodunovPhysics* PatchGodunov::getGodunovPhysicsPtr | ( | ) |
Accessor to get at the GodunovPhysics object.
| virtual bool PatchGodunov::isDefined | ( | ) | const [virtual] |
Is the object completely defined.
Return true if the object is completely defined.
| void PatchGodunov::highOrderLimiter | ( | bool | a_highOrderLimiter | ) |
Set whether to use high-order limiter.
| void PatchGodunov::operator= | ( | const PatchGodunov & | a_input | ) | [inline, private] |
References MayDay::Error().
ProblemDomain PatchGodunov::m_domain [protected] |
Real PatchGodunov::m_dx [protected] |
GodunovPhysics* PatchGodunov::m_gdnvPhysics [protected] |
GodunovUtilities PatchGodunov::m_util [protected] |
int PatchGodunov::m_normalPredOrder [protected] |
bool PatchGodunov::m_useFourthOrderSlopes [protected] |
bool PatchGodunov::m_usePrimLimiting [protected] |
bool PatchGodunov::m_useCharLimiting [protected] |
bool PatchGodunov::m_useFlattening [protected] |
bool PatchGodunov::m_useArtificialViscosity [protected] |
Real PatchGodunov::m_artificialViscosity [protected] |
Real PatchGodunov::m_currentTime [protected] |
bool PatchGodunov::m_isCurrentTimeSet [protected] |
Box PatchGodunov::m_currentBox [protected] |
bool PatchGodunov::m_isCurrentBoxSet [protected] |
bool PatchGodunov::m_isDefined [protected] |
bool PatchGodunov::m_highOrderLimiter [protected] |
1.5.5