|
Chombo + EB + MF
3.2
|
Conformal Schwarz-Christoffel mapping of a ramp. More...
#include <SchwarzChristoffelRampCS.H>

Public Member Functions | |
| SchwarzChristoffelRampCS (const RealVect &a_dx, const int a_nCellBaseDir0, const Real a_alpha=Pi/6., const Real a_XLeadLength=0.5, const Real a_XRampLength=4.5) | |
| Constructor. More... | |
| virtual | ~SchwarzChristoffelRampCS () |
| Destructor. More... | |
| virtual RealVect | realCoord (const RealVect &a_hatXi) const |
| Given coordinate in mapped space, return its location in real space. More... | |
| virtual RealVect | mappedCoord (const RealVect &a_x) const |
| Given coordinate in real space, return its location in the mapped space. More... | |
| virtual Real | dXdXi (const RealVect &a_Xi, int a_dirX, int a_dirXi) const |
| Calculate the derivative of each coordinate vector. More... | |
| Real | rampAngle () const |
| Return the angle of the ramp in radians. More... | |
| const RealVect & | mappedCorner () const |
| Return the location of the corner point in mapped space. More... | |
| Real | physicalDomainX0Min () const |
| Return the x-location of lower left domain corner in physical 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 RealVect & | dx () 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 Member Functions | |
| RealVect | getPolar (const RealVect &a_Xi) const |
| Get a complex in polar coordinates. 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... | |
Protected Attributes | |
| const Real | m_alpha |
| Ramp angle (0 <= m_alpha < Pi) More... | |
| const Real | m_c |
| Exponent coefficient. More... | |
| Real | m_k |
| RealVect | m_XiCorner |
| Corner in mapped space. More... | |
Protected Attributes inherited from NewFourthOrderCoordSys | |
| RealVect | m_dx |
| Interval | m_volInterval |
| EdgeQuadrature * | m_quadraturePtr |
Protected Attributes inherited from NewCoordSys | |
| Real | m_time |
| Const is already well entrenched. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from NewFourthOrderCoordSys | |
| static const IntVect & | metricsCompDir (const int a_iDir) |
| Same as getNcomponent but returns an IntVect for an 'a_col' (direction) More... | |
Conformal Schwarz-Christoffel mapping of a ramp.
* Physical-space (z) Computational Space * * ^ ^ * i | ,-+ i | * ,--' | * ,--' \ +-----------+ * +-' ,+ | | * \ ,-' | | * | ,-' alpha | | * +--*'- - - - - - > +--*--------+ - - - > * 0 \hat(xi)_0 *
where
= angle of ramp
= location of corner
where len is the length of the bottom boundary (both the horizontal and following the ramp) in physical space
| SchwarzChristoffelRampCS::SchwarzChristoffelRampCS | ( | const RealVect & | a_dx, |
| const int | a_nCellBaseDir0, | ||
| const Real | a_alpha = Pi/6., |
||
| const Real | a_XLeadLength = 0.5, |
||
| const Real | a_XRampLength = 4.5 |
||
| ) |
Constructor.
|
virtual |
Destructor.
Given coordinate in mapped space, return its location in real space.
Implements NewFourthOrderCoordSys.
Given coordinate in real space, return its location in the mapped space.
Implements NewFourthOrderCoordSys.
|
virtual |
Calculate the derivative of each coordinate vector.
Implements NewFourthOrderCoordSys.
|
inline |
Return the angle of the ramp in radians.
References m_alpha.
|
inline |
Return the location of the corner point in mapped space.
References m_XiCorner.
|
inline |
Return the x-location of lower left domain corner in physical space.
References m_c, m_k, and m_XiCorner.
Get a complex in polar coordinates.
|
protected |
Ramp angle (0 <= m_alpha < Pi)
Referenced by rampAngle().
|
protected |
Exponent coefficient.
Referenced by physicalDomainX0Min().
|
protected |
Scaling between mapped and physical space
Referenced by physicalDomainX0Min().
|
protected |
Corner in mapped space.
Referenced by mappedCorner(), and physicalDomainX0Min().
1.8.13