Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

SelfGravityPhysics Class Reference

GodonovPhysics-derived class encapsulating the self-gravity problem. More...

#include <SelfGravityPhysics.H>

Inheritance diagram for SelfGravityPhysics:

Inheritance graph
[legend]
Collaboration diagram for SelfGravityPhysics:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SelfGravityPhysics ()
 Constructor.
virtual ~SelfGravityPhysics ()
 Destructor.
virtual Real getMaxWaveSpeed (const FArrayBox &a_U, const Box &a_box)
 Compute the maximum wave speed.
virtual Real getMaxWaveSpeedWithSource (const FArrayBox &a_U, const FArrayBox &a_S, const Real &a_dx, const Box &a_box)
 Compute the maximum wave speed with gravity term.
virtual GodunovPhysics * new_godunovPhysics () const
 Object factory for this class.
virtual Vector< string > stateNames ()
 Names of the conserved variables.
virtual Vector< string > plotNames ()
 Names of the plot variables.
virtual int numConserved ()
 Number of conserved variables.
virtual int numFluxes ()
 Number of flux variables.
virtual bool isDefined ()
virtual int numPrimitives ()
 Number of primitive variables.
virtual int numSlopes ()
 Number of primitive variables for which slopes are computed.
virtual void consToPrim (FArrayBox &a_W, const FArrayBox &a_U, const Box &a_box)
 Compute the primitive variables from the conserved variables within a_box.
virtual void getFlux (FArrayBox &a_flux, const FArrayBox &a_whalf, const int &a_dir, const Box &a_box)
 Compute the fluxes from primitive variable values on a face.
virtual void charAnalysis (FArrayBox &a_dW, const FArrayBox &a_W, const int &a_dir, const Box &a_box)
 Transform a_dW from primitive to characteristic variables.
virtual void charSynthesis (FArrayBox &a_dW, const FArrayBox &a_W, const int &a_dir, const Box &a_box)
 Transform a_dW from characteristic to primitive variables.
virtual void charValues (FArrayBox &a_lambda, const FArrayBox &a_W, const int &a_dir, const Box &a_box)
 Compute the characteristic values (eigenvalues).
virtual void incrementSource (FArrayBox &a_localS, const FArrayBox &a_S, const FArrayBox &a_W, const Real &a_time, const Real &a_dt, const Box &a_box)
 Add to (increment) the source terms given the current state.
virtual void incrementSource (FArrayBox &a_S, const FArrayBox &a_W, const Box &a_box)
 Add to (increment) the source terms given the current state.
virtual void riemann (FArrayBox &a_WStar, const FArrayBox &a_WLeft, const FArrayBox &a_WRight, const FArrayBox &a_W, const Real &a_time, const int &a_dir, const Box &a_box)
 Compute the solution to the Riemann problem.
virtual void postNormalPred (FArrayBox &a_dWMinus, FArrayBox &a_dWPlus, const FArrayBox &a_W, const Real &a_dt, const Real &a_dx, const int &a_dir, const Box &a_box)
 Post-normal predictor calculation.
virtual void quasilinearUpdate (FArrayBox &a_AdWdx, const FArrayBox &a_wHalf, const FArrayBox &a_W, const Real &a_scale, const int &a_dir, const Box &a_box)
 Compute the quasilinear update A*dW/dx.
virtual void synchronize (FArrayBox &a_U, const FArrayBox &a_UOld, const Box &a_box)
 synchronize entropy and pressure
virtual void setupSourceTerm (FArrayBox &a_S, const ForceBox &a_force, const FArrayBox &a_U, const Real &a_time, const Real &a_dt, const Box &a_box)
virtual Real applySource (FArrayBox &a_U, const FArrayBox &a_force, const Real &a_time, const Real &a_dt, const Box &a_box)
 apply source and returns max dt based on CFL condition
virtual void forceCorrection (FArrayBox &a_U, const ForceBox &a_force, const Real &a_time, const Real &a_dt, const Box &a_box)
virtual void setPressureToEntropy (FArrayBox &a_U, const Box &a_box)
virtual Interval velocityInterval ()
 Interval within the primitive variables corresponding to the velocities.
virtual int pressureIndex ()
 Component index within the primitive variables of the pressure.
virtual int densityIndex ()
 Component index within the primitive variables of the pressure.
virtual int bulkModulusIndex ()
 Component index within the primitive variables of the bulk modulus.
virtual int entropyIndex ()
 Component index within the primitive variables of the entropy.
virtual Real smallPressure ()
 Used to limit the absolute value of a "pressure" difference.
virtual void setSmallPressure (const Real &a_smallPressure)
 set smallPressure parameter
virtual void setUnits (const CodeUnits &a_units)
 setup code units utility

Protected Attributes

Real m_smallPressure
CodeUnits m_units
FArrayBox * m_source

Detailed Description

GodonovPhysics-derived class encapsulating the self-gravity problem.


Constructor & Destructor Documentation

SelfGravityPhysics::SelfGravityPhysics (   ) 
 

Constructor.

virtual SelfGravityPhysics::~SelfGravityPhysics (   )  [virtual]
 

Destructor.


Member Function Documentation

virtual Real SelfGravityPhysics::applySource (  FArrayBox &  a_U,
const FArrayBox &  a_force,
const Real &  a_time,
const Real &  a_dt,
const Box &  a_box
)  [virtual]
 

apply source and returns max dt based on CFL condition

virtual int SelfGravityPhysics::bulkModulusIndex (   )  [virtual]
 

Component index within the primitive variables of the bulk modulus.

Implements GodunovPhysics.

virtual void SelfGravityPhysics::charAnalysis (  FArrayBox &  a_dW,
const FArrayBox &  a_W,
const int &  a_dir,
const Box &  a_box
)  [virtual]
 

Transform a_dW from primitive to characteristic variables.

On input, a_dW contains the increments of the primitive variables. On output, it contains the increments in the characteristic variables.

IMPORTANT NOTE: It is assumed that the characteristic analysis puts the eigenvalues in order from smallest to largest and orders the eigenvalues and characteristic variables accordingly.

Implements GodunovPhysics.

virtual void SelfGravityPhysics::charSynthesis (  FArrayBox &  a_dW,
const FArrayBox &  a_W,
const int &  a_dir,
const Box &  a_box
)  [virtual]
 

Transform a_dW from characteristic to primitive variables.

Implements GodunovPhysics.

virtual void SelfGravityPhysics::charValues (  FArrayBox &  a_lambda,
const FArrayBox &  a_W,
const int &  a_dir,
const Box &  a_box
)  [virtual]
 

Compute the characteristic values (eigenvalues).

Implements GodunovPhysics.

virtual void SelfGravityPhysics::consToPrim (  FArrayBox &  a_W,
const FArrayBox &  a_U,
const Box &  a_box
)  [virtual]
 

Compute the primitive variables from the conserved variables within a_box.

Implements GodunovPhysics.

virtual int SelfGravityPhysics::densityIndex (   )  [virtual]
 

Component index within the primitive variables of the pressure.

virtual int SelfGravityPhysics::entropyIndex (   )  [virtual]
 

Component index within the primitive variables of the entropy.

virtual void SelfGravityPhysics::forceCorrection (  FArrayBox &  a_U,
const ForceBox &  a_force,
const Real &  a_time,
const Real &  a_dt,
const Box &  a_box
)  [virtual]
 

virtual void SelfGravityPhysics::getFlux (  FArrayBox &  a_flux,
const FArrayBox &  a_whalf,
const int &  a_dir,
const Box &  a_box
)  [virtual]
 

Compute the fluxes from primitive variable values on a face.

Implements GodunovPhysics.

virtual Real SelfGravityPhysics::getMaxWaveSpeed (  const FArrayBox &  a_U,
const Box &  a_box
)  [virtual]
 

Compute the maximum wave speed.

Implements GodunovPhysics.

virtual Real SelfGravityPhysics::getMaxWaveSpeedWithSource (  const FArrayBox &  a_U,
const FArrayBox &  a_S,
const Real &  a_dx,
const Box &  a_box
)  [virtual]
 

Compute the maximum wave speed with gravity term.

virtual void SelfGravityPhysics::incrementSource (  FArrayBox &  a_S,
const FArrayBox &  a_W,
const Box &  a_box
)  [inline, virtual]
 

Add to (increment) the source terms given the current state.

On input, a_S contains the current source terms. On output, a_S has had any additional source terms (based on the current state, a_W) added to it. This should all be done on the region defined by a_box.

Implements GodunovPhysics.

virtual void SelfGravityPhysics::incrementSource (  FArrayBox &  a_localS,
const FArrayBox &  a_S,
const FArrayBox &  a_W,
const Real &  a_time,
const Real &  a_dt,
const Box &  a_box
)  [virtual]
 

Add to (increment) the source terms given the current state.

virtual bool SelfGravityPhysics::isDefined (   )  [virtual]
 

virtual GodunovPhysics* SelfGravityPhysics::new_godunovPhysics (   )  const [virtual]
 

Object factory for this class.

Implements GodunovPhysics.

virtual int SelfGravityPhysics::numConserved (   )  [virtual]
 

Number of conserved variables.

Implements GodunovPhysics.

virtual int SelfGravityPhysics::numFluxes (   )  [virtual]
 

Number of flux variables.

This can be greater than the number of conserved variables if addition fluxes/face-centered quantities are computed.

Implements GodunovPhysics.

virtual int SelfGravityPhysics::numPrimitives (   )  [virtual]
 

Number of primitive variables.

Implements GodunovPhysics.

virtual int SelfGravityPhysics::numSlopes (   )  [virtual]
 

Number of primitive variables for which slopes are computed.

virtual Vector<string> SelfGravityPhysics::plotNames (   )  [virtual]
 

Names of the plot variables.

virtual void SelfGravityPhysics::postNormalPred (  FArrayBox &  a_dWMinus,
FArrayBox &  a_dWPlus,
const FArrayBox &  a_W,
const Real &  a_dt,
const Real &  a_dx,
const int &  a_dir,
const Box &  a_box
)  [virtual]
 

Post-normal predictor calculation.

Implements GodunovPhysics.

virtual int SelfGravityPhysics::pressureIndex (   )  [virtual]
 

Component index within the primitive variables of the pressure.

Implements GodunovPhysics.

virtual void SelfGravityPhysics::quasilinearUpdate (  FArrayBox &  a_AdWdx,
const FArrayBox &  a_wHalf,
const FArrayBox &  a_W,
const Real &  a_scale,
const int &  a_dir,
const Box &  a_box
)  [virtual]
 

Compute the quasilinear update A*dW/dx.

Implements GodunovPhysics.

virtual void SelfGravityPhysics::riemann (  FArrayBox &  a_WStar,
const FArrayBox &  a_WLeft,
const FArrayBox &  a_WRight,
const FArrayBox &  a_W,
const Real &  a_time,
const int &  a_dir,
const Box &  a_box
)  [virtual]
 

Compute the solution to the Riemann problem.

Implements GodunovPhysics.

virtual void SelfGravityPhysics::setPressureToEntropy (  FArrayBox &  a_U,
const Box &  a_box
)  [virtual]
 

virtual void SelfGravityPhysics::setSmallPressure (  const Real &  a_smallPressure  )  [virtual]
 

set smallPressure parameter

virtual void SelfGravityPhysics::setUnits (  const CodeUnits &  a_units  )  [virtual]
 

setup code units utility

virtual void SelfGravityPhysics::setupSourceTerm (  FArrayBox &  a_S,
const ForceBox &  a_force,
const FArrayBox &  a_U,
const Real &  a_time,
const Real &  a_dt,
const Box &  a_box
)  [virtual]
 

virtual Real SelfGravityPhysics::smallPressure (   )  [virtual]
 

Used to limit the absolute value of a "pressure" difference.

Implements GodunovPhysics.

virtual Vector<string> SelfGravityPhysics::stateNames (   )  [virtual]
 

Names of the conserved variables.

Implements GodunovPhysics.

virtual void SelfGravityPhysics::synchronize (  FArrayBox &  a_U,
const FArrayBox &  a_UOld,
const Box &  a_box
)  [virtual]
 

synchronize entropy and pressure

virtual Interval SelfGravityPhysics::velocityInterval (   )  [virtual]
 

Interval within the primitive variables corresponding to the velocities.

Implements GodunovPhysics.


Member Data Documentation

Real SelfGravityPhysics::m_smallPressure [protected]
 

FArrayBox* SelfGravityPhysics::m_source [protected]
 

CodeUnits SelfGravityPhysics::m_units [protected]
 


The documentation for this class was generated from the following file:
Generated on Wed Oct 5 14:02:18 2005 for Chombo&AMRSelfGravity by  doxygen 1.4.1