Chombo + EB + MF  3.2
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
AnalyticCS Class Reference

#include <AnalyticCS.H>

Inheritance diagram for AnalyticCS:
Inheritance graph
[legend]

Public Member Functions

 AnalyticCS (const RealVect &a_dX, RefCountedPtr< VectorFunction > a_X, RefCountedPtr< VectorFunction > a_Xi, RefCountedPtr< TensorFunction > a_J)
 Construct an analytic coordinate mapping. More...
 
 ~AnalyticCS ()
 Destructor. More...
 
RealVect realCoord (const RealVect &a_X) const
 given coordinate in mapped space, return its location in real space More...
 
RealVect mappedCoord (const RealVect &a_x) const
 given coordinate in real space, return its location in the mapped space More...
 
Real dXdXi (const RealVect &a_Xi, int a_dirX, int a_dirXi) const
 note that a_Xi is in mapped space. More...
 
- Public Member Functions inherited from NewFourthOrderCoordSys
 NewFourthOrderCoordSys ()
 default constructor More...
 
virtual ~NewFourthOrderCoordSys ()
 
virtual void realCoord (FArrayBox &a_x, const FArrayBox &a_Xi, const Box &a_box) const
 given coordinates in mapped space, return locations in real space More...
 
virtual void mappedCoord (FArrayBox &a_Xi, const FArrayBox &a_x, const Box &a_box) const
 given coordinate in real space, return its location in the mapped space More...
 
virtual void getNodeRealCoordinates (FArrayBox &a_nodeCoords, const Box &a_box) const
 return Cartesian XYZ locations of nodes More...
 
virtual void dXdXi (FArrayBox &a_dxdXi, const FArrayBox &a_Xi, int a_destComp, int a_dirX, int a_dirXi, const Box &a_box) const
 note that a_X is in mapped space. More...
 
virtual int getNumN () const
 returns number of components in the metric term matrix (N) More...
 
virtual int getNcomponent (const int a_row, const int a_col) const
 index function into face-centered metric terms More...
 
virtual void volFlux (FluxBox &a_volFlux, const FluxBox &a_Nt, const Box &a_box) const
 computes the volume flux on the faces More...
 
virtual void cellVol (FArrayBox &a_vol, const FluxBox &a_N, const Box &a_box) const
 computes cell volumes More...
 
virtual void getN (FluxBox &a_N, const Box &a_box) const
 computes integral of N over each face of a_box More...
 
virtual void getAvgJ (FArrayBox &a_avgJ, const FluxBox &a_volFlux, const Box &a_box) const
 computes cell-averaged J More...
 
virtual void getAvgJ (FArrayBox &a_avgJ, const Box &a_box) const
 computes cell-averaged J More...
 
virtual void getAvgJinverse (FluxBox &a_avgJinverse, const Box &a_box) const
 computes cell-averaged 1/J More...
 
virtual void getAvgJinverse (FluxBox &a_avgJinverse, const FArrayBox &a_avgJ, const Box &a_box) const
 computes cell-averaged 1/J, using pre-computed cell-avg J More...
 
virtual Real pointwiseJ (const RealVect &a_Xi) const
 Jacobian evaluated at location Xi in mapped space. More...
 
virtual void pointwiseJ (FArrayBox &a_J, const FArrayBox &a_Xi, const Box &a_box) const
 Jacobian evaluated at locations Xi in mapped space. More...
 
virtual void computeMetricTermProductAverage (FluxBox &a_product, const FluxBox &a_F, const FluxBox &a_N, const int a_NNumComp, const FluxBox &a_FforGrad, const Box &a_box, bool a_fourthOrder=true, Interval a_varIntervalProduct=Interval(), Interval a_varIntervalF=Interval(), int a_fluxSpaceContiguous=1, const ProblemDomain *const a_problemDomainPtr=NULL) const
 Computes 4th-order average of product = N^T*F. F can be a flux dyad. More...
 
virtual void computeMetricTermProductAverage (FluxBox &a_product, const FluxBox &a_F, const FluxBox &a_N, const FluxBox &a_FforGrad, const Box &a_box, bool a_fourthOrder=true) const
 computes 4th-order average of product = N^T*F. F is vector of a scalar More...
 
virtual void computeMetricTermProductAverage (FluxBox &a_product, const FluxBox &a_F, const FluxBox &a_N, const Box &a_box, bool a_fourthOrder=true) const
 computes 4th-order average of product = N^T*F. F is vector of a scalar More...
 
void magnitudeN (FluxBox &a_NMag, const FluxBox &a_N, const Box &a_box) const
 Computes magnitude of <N^T> on each face. More...
 
virtual void computeNJinverse (FluxBox &a_NJinverse, const FluxBox &a_Jinverse, const FluxBox &a_N, const Box &a_cellBox) const
 given N and Jinverse, computes N/J More...
 
virtual const RealVectdx () const
 access function to simplify things – returns mapped-space cell spacing More...
 
virtual Real getN (const RealVect &a_Xi, int a_s, int a_d, int a_d1) const
 this evaluates the script N values from equation 12 in Phil's notes More...
 
virtual Real getNMatrixEntry (const RealVect &a_Xi, int a_s, int a_d, int a_d1, int a_row, int a_column) const
 note that a_Xi is in mapped space. More...
 
virtual void integrateScriptN (FArrayBox &a_scrN, const int a_dir0, const int a_dir1, const Box &a_box) const
 
virtual void incrementFaceMetricWithEdgeTerm (FArrayBox &a_faceMetrics, int a_faceDir, int a_edgeDir, const Box &a_box, const Side::LoHiSide &a_side) const
 
virtual void computeTransverseFaceMetric (FArrayBox &a_faceMetrics, const Box &a_box, int a_faceDir, int a_dDir) const
 
virtual void computeTangentialGrad (FluxBox &a_gradPhi, const FluxBox &a_phiFace, const Box &a_box) const
 
virtual int tanGradComp (const int a_faceDir, const int a_tanDir, const int a_comp) const
 
virtual void contravariantMetric (FArrayBox &a_metric, int a_dir) const
 return row a_idir of contravariant metric More...
 
virtual void orthonormalize (FluxBox &a_flux, const Interval &a_vectorIntv) const
 convert vector components (in a_vectorIntv) of a_flux to orthonormal frame to that of this block More...
 
virtual void orthonormalize (FArrayBox &a_fluxFab, const Interval &a_vectorIntv) const
 overwrite vector components (in a_vectorIntv) of a_fluxFab with orthonormalized More...
 
virtual void orthonormalize (const FArrayBox &a_csFab, FArrayBox &a_orthoFab, const Box &a_box, int a_idir, const IntVect &a_csComps, const IntVect &a_orthoComps) const
 convert components in a_csComps of vector a_csFab in coordinate-system basis to components in a_orthoComps of vector a_orthoFab in orthonormal basis, at points with indices in a_box, on lines where direction a_idir is constant More...
 
virtual void deorthonormalize (FluxBox &a_flux, const Interval &a_vectorIntv) const
 convert vector components (in a_vectorIntv) of a_flux from orthonormal frame to that of this block More...
 
virtual void deorthonormalize (FArrayBox &a_fluxFab, const Interval &a_vectorIntv) const
 overwrite vector components (in a_vectorIntv) of a_fluxFab with deorthonormalized More...
 
virtual void deorthonormalize (const FArrayBox &a_orthoFab, FArrayBox &a_csFab, const Box &a_box, int a_idir, const IntVect &a_orthoComps, const IntVect &a_csComps) const
 convert components in a_orthoComps of vector a_orthoFab in orthonormal basis to components in a_csComps of vector a_csFab in coordinate-system basis, at points with indices in a_box, on lines where direction a_idir is constant More...
 
- Public Member Functions inherited from NewCoordSys
 NewCoordSys ()
 default constructor More...
 
virtual ~NewCoordSys ()
 
virtual void getCenterMappedCoordinates (FArrayBox &a_Xi, const Box &a_box) const
 given indices in a_box, return centers of cells (or of faces, or of edges) in mapped coordinates. The function does the right thing based on the centering of a_box, which must be the same centering as a_Xi. More...
 
virtual RealVect centerMappedCoordinates (const IntVect &a_iv) const
 given indices, return centers of cells in mapped coordinates More...
 
virtual int dimension () const
 returns dimensionality of the space More...
 
virtual void computeDivergence (FArrayBox &a_divF, const FluxBox &a_F, const FluxBox &a_N, const Box &a_box, Interval &divInterval) const
 returns integral of divergence over mapped-grid cells More...
 
virtual VectorTransformation vectorTransformationMappedToReal (const RealVect &a_Xi) const
 return matrix that transforms vector components from mapped space to real space at point a_Xi in mapped space More...
 
virtual VectorTransformation vectorTransformationRealToMapped (const RealVect &a_Xi) const
 return matrix that transforms vector components from real space to mapped space at point a_Xi in mapped space More...
 
virtual VectorTransformation vectorTransformationMappedToRealCenter (const IntVect &a_iv) const
 return matrix that transforms vector components from mapped space to real space at center of cell a_iv More...
 
virtual VectorTransformation vectorTransformationRealToMappedCenter (const IntVect &a_iv) const
 return matrix that transforms vector components from real space to mapped space at center of cell a_iv More...
 
virtual void vectorTransformMappedToRealCenterFab (FArrayBox &a_vectorFab) const
 transform a FAB of SpaceDim-vectors from mapped-coordinate basis to real-coordinate basis at cell centers More...
 
virtual void vectorTransformMappedToRealAvgFab (FArrayBox &a_vectorFab, const FArrayBox &a_gradVectorFab) const
 transform a FAB of SpaceDim-vectors from mapped-coordinate basis to real-coordinate basis, averaged over cells More...
 
virtual void vectorTransformRealToMappedCenterFab (FArrayBox &a_vectorFab) const
 transform a FAB of SpaceDim-vectors from real-coordinate basis to mapped-coordinate basis at cell centers More...
 
virtual void vectorTransformRealToMappedAvgFab (FArrayBox &a_vectorFab, const FArrayBox &a_gradVectorFab) const
 transform a FAB of SpaceDim-vectors from real-coordinate basis to mapped-coordinate basis, averaged over cells More...
 
virtual void setTime (const Real &a_time) const
 Set time for moving grids. More...
 

Protected Attributes

RefCountedPtr< VectorFunctionm_X
 
RefCountedPtr< VectorFunctionm_Xi
 
RefCountedPtr< TensorFunctionm_J
 
RealTensor m_J0
 
RealVect m_Xi0
 
- Protected Attributes inherited from NewFourthOrderCoordSys
RealVect m_dx
 
Interval m_volInterval
 
EdgeQuadraturem_quadraturePtr
 
- Protected Attributes inherited from NewCoordSys
Real m_time
 Const is already well entrenched. More...
 

Private Member Functions

 AnalyticCS ()
 

Additional Inherited Members

- Static Public Member Functions inherited from NewFourthOrderCoordSys
static const IntVectmetricsCompDir (const int a_iDir)
 Same as getNcomponent but returns an IntVect for an 'a_col' (direction) More...
 
- Protected Member Functions inherited from NewCoordSys
virtual void vectorTransformInternalAvgFab (FArrayBox &a_vectorFab, const FArrayBox &a_gradVectorFab, const BaseFab< VectorTransformation > &a_tfmCenterFab) const
 internal function to transform a FAB of SpaceDim-vectors from one basis to another, averaged over cells, given BaseFab of vector transformations at cell centers More...
 

Detailed Description

This class uses analytic vector/tensor functions to define a coordinate mapping.

Constructor & Destructor Documentation

◆ AnalyticCS() [1/2]

AnalyticCS::AnalyticCS ( const RealVect a_dX,
RefCountedPtr< VectorFunction a_X,
RefCountedPtr< VectorFunction a_Xi,
RefCountedPtr< TensorFunction a_J 
)

Construct an analytic coordinate mapping.

◆ ~AnalyticCS()

AnalyticCS::~AnalyticCS ( )

Destructor.

◆ AnalyticCS() [2/2]

AnalyticCS::AnalyticCS ( )
private

Member Function Documentation

◆ realCoord()

RealVect AnalyticCS::realCoord ( const RealVect a_Xi) const
virtual

given coordinate in mapped space, return its location in real space

Implements NewFourthOrderCoordSys.

◆ mappedCoord()

RealVect AnalyticCS::mappedCoord ( const RealVect a_x) const
virtual

given coordinate in real space, return its location in the mapped space

Implements NewFourthOrderCoordSys.

◆ dXdXi()

Real AnalyticCS::dXdXi ( const RealVect a_Xi,
int  a_dirX,
int  a_dirXi 
) const
virtual

note that a_Xi is in mapped space.

Implements NewFourthOrderCoordSys.

Member Data Documentation

◆ m_X

RefCountedPtr<VectorFunction> AnalyticCS::m_X
protected

◆ m_Xi

RefCountedPtr<VectorFunction> AnalyticCS::m_Xi
protected

◆ m_J

RefCountedPtr<TensorFunction> AnalyticCS::m_J
protected

◆ m_J0

RealTensor AnalyticCS::m_J0
mutableprotected

◆ m_Xi0

RealVect AnalyticCS::m_Xi0
mutableprotected

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