Abstract base class for geometries.
More...
#include <CD_ComputationalGeometry.H>
|
void | buildGasGeometry (GeometryService *&a_geoserver, const ProblemDomain a_finestDomain, const RealVect a_probLo, const Real a_finestDx) |
| Set up the geometry generation tool for the gas phase. More...
|
|
void | buildSolidGeometry (GeometryService *&a_geoserver, const ProblemDomain a_finestDomain, const RealVect a_probLo, const Real a_finestDx) |
| Set up the geometry generation tool for the solid phase, i.e. the part inside the dielectrics. More...
|
|
|
constexpr static Real | s_thresh = 1.E-15 |
| Threshold for Vof computation.
|
|
Abstract base class for geometries.
This class encapsulates computational geometries in chombo-discharge. If you construct this object as-is, you will get a blank geometry. To include EBs one must set the electrodes and dielectrics. This is not a pure function, so you can set those objects directly from a ComputationalGeometry object. However, in almost all cases one will want to derive from ComputationalGeometry and create a parametrized geometry (that is what $DISCHARGE_HOME/Geometries is for!).
◆ buildGasGeometry()
void ComputationalGeometry::buildGasGeometry |
( |
GeometryService *& |
a_geoserver, |
|
|
const ProblemDomain |
a_finestDomain, |
|
|
const RealVect |
a_probLo, |
|
|
const Real |
a_finestDx |
|
) |
| |
|
protected |
Set up the geometry generation tool for the gas phase.
- Parameters
-
[in,out] | a_geoserver | Geometry service object which is later used for making build the EB information. |
[in] | a_finestDomain | Finest domain which will be used |
[in] | a_probLo | Lower-left corner of simulation domain. |
[in] | a_finestDx | Finest resolution which will be used. |
◆ buildGeometries()
void ComputationalGeometry::buildGeometries |
( |
const ProblemDomain |
a_finestDomain, |
|
|
const RealVect |
a_probLo, |
|
|
const Real |
a_finestDx, |
|
|
const int |
a_nCellMax, |
|
|
const int |
a_maxGhostEB, |
|
|
const int |
a_maxCoarsen = -1 |
|
) |
| |
|
virtual |
Build geometries and the MFIndexSpace.
- Parameters
-
[in] | a_finestDomain | Finest domain |
[in] | a_probLo | Lower-left corner |
[in] | a_finestDx | Finest grid resolution |
[in] | a_nCellMax | Patch size |
[in] | a_numEbGhost | Maximum number of EB ghosts that will be encountered. |
[in] | a_maxCoarsen | Max coarsenings to run. If = -1 then coarsen all the way down. |
This will build the gas and solid phase domain. The input is the finest-level stuff and you can control the division into boxes as well as the maximum number of coarsenings. The computed domain is (a_probLo, a_probLo + a_box*a_dx)
◆ buildSolidGeometry()
void ComputationalGeometry::buildSolidGeometry |
( |
GeometryService *& |
a_geoserver, |
|
|
const ProblemDomain |
a_finestDomain, |
|
|
const RealVect |
a_probLo, |
|
|
const Real |
a_finestDx |
|
) |
| |
|
protected |
Set up the geometry generation tool for the solid phase, i.e. the part inside the dielectrics.
- Parameters
-
[in,out] | a_geoserver | Geometry service object which is later used for making build the EB information. |
[in] | a_finestDomain | Finest domain which will be used |
[in] | a_probLo | Lower-left corner of simulation domain. |
[in] | a_finestDx | Finest resolution which will be used. |
◆ getDielectrics()
const Vector< Dielectric > & ComputationalGeometry::getDielectrics |
( |
| ) |
const |
Get dielectrics.
- Returns
- Dielectrics (m_dielectrics)
◆ getElectrodes()
const Vector< Electrode > & ComputationalGeometry::getElectrodes |
( |
| ) |
const |
Get electrodes.
- Returns
- Electrodes (m_dielectrics)
◆ getGasPermittivity()
Real ComputationalGeometry::getGasPermittivity |
( |
| ) |
const |
Get the background gas permittivity.
- Returns
- Background gas permittivity
◆ getImplicitFunction()
const RefCountedPtr< BaseIF > & ComputationalGeometry::getImplicitFunction |
( |
const phase::which_phase |
a_phase | ) |
const |
Get implicit function.
- Parameters
-
◆ setDielectrics()
void ComputationalGeometry::setDielectrics |
( |
const Vector< Dielectric > & |
a_dielectrics | ) |
|
Set dielectrics.
- Parameters
-
[in] | a_dielectrics | Dielectris |
◆ setElectrodes()
void ComputationalGeometry::setElectrodes |
( |
const Vector< Electrode > & |
a_electrodes | ) |
|
Set electrodes.
- Parameters
-
[in] | a_electrodes | Electrodes |
◆ setGasPermittivity()
void ComputationalGeometry::setGasPermittivity |
( |
const Real |
a_eps0 | ) |
|
Set the background permittivity.
- Parameters
-
[in] | a_eps0 | Gas permittivity |
◆ useScanShop()
void ComputationalGeometry::useScanShop |
( |
const ProblemDomain |
a_startDomain | ) |
|
Calls for ComputationalGeometry to use ScanShop rather than Chombo's default geometry generation tool.
- Parameters
-
[in] | a_startDomain | Coarse domain where ScanShop begins the load balancing recursion process. |
The documentation for this class was generated from the following files: