|
chombo-discharge
|
Abstract base class for geometries. More...
#include <CD_ComputationalGeometry.H>

Public Member Functions | |
| ComputationalGeometry () | |
| Constructor. Sets a blank geometry. | |
| virtual | ~ComputationalGeometry () |
| Destructor. | |
| const Vector< Dielectric > & | getDielectrics () const |
| Get dielectrics. | |
| const Vector< Electrode > & | getElectrodes () const |
| Get electrodes. | |
| Real | getGasPermittivity () const |
| Get the background gas permittivity. | |
| void | useScanShop (const ProblemDomain a_startDomain) |
| Calls for ComputationalGeometry to use ScanShop rather than Chombo's default geometry generation tool. | |
| void | useChomboShop () |
| Calls for ComputationalGeometry to use Chombo's geometry generation tool. | |
| void | setDielectrics (const Vector< Dielectric > &a_dielectrics) |
| Set dielectrics. | |
| void | setElectrodes (const Vector< Electrode > &a_electrodes) |
| Set electrodes. | |
| void | setGasPermittivity (const Real a_eps0) |
| Set the background permittivity. | |
| const RefCountedPtr< MultiFluidIndexSpace > & | getMfIndexSpace () const |
| Get the multifluid index space. | |
| const RefCountedPtr< BaseIF > & | getGasImplicitFunction () const |
| Get the implicit function used to generate the gas-phase EBIS. | |
| const RefCountedPtr< BaseIF > & | getSolidImplicitFunction () const |
| Get the implicit function used to generate the solid-phase EBIS. | |
| const RefCountedPtr< BaseIF > & | getImplicitFunction (const phase::which_phase a_phase) const |
| Get implicit function. | |
| virtual void | 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) |
| Build geometries and the MFIndexSpace. | |
Protected Member Functions | |
| 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. | |
| 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. | |
Protected Attributes | |
| RefCountedPtr< MultiFluidIndexSpace > | m_multifluidIndexSpace |
| Multifluid index spaces. | |
| Real | m_eps0 |
| Background permittivity. | |
| bool | m_useScanShop |
| True if we use the chombo-discharge geometry generation utility. | |
| ProblemDomain | m_scanDomain |
| Grid level where we begin using ScanShop. | |
| int | m_maxGhostEB |
| Maximum number of ghost cells that we will ever need. | |
| Vector< Dielectric > | m_dielectrics |
| List of dielectrics. | |
| Vector< Electrode > | m_electrodes |
| List of electrodes. | |
| RefCountedPtr< BaseIF > | m_implicitFunctionGas |
| The gas-phase implicit function (i.e. outside electrodes and dielectrics). | |
| RefCountedPtr< BaseIF > | m_implicitFunctionSolid |
| The solid-phase implicit function (i.e. the inside of the dielectrics). | |
Static Protected Attributes | |
| static constexpr 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!).
|
protected |
Set up the geometry generation tool for the gas phase.
| [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. |
|
virtual |
Build geometries and the MFIndexSpace.
| [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)
|
protected |
Set up the geometry generation tool for the solid phase, i.e. the part inside the dielectrics.
| [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. |
| const Vector< Dielectric > & ComputationalGeometry::getDielectrics | ( | ) | const |
Get dielectrics.
Get electrodes.
| Real ComputationalGeometry::getGasPermittivity | ( | ) | const |
Get the background gas permittivity.
| const RefCountedPtr< BaseIF > & ComputationalGeometry::getImplicitFunction | ( | const phase::which_phase | a_phase | ) | const |
Get implicit function.
| [in] | a_phase | Phase |
| void ComputationalGeometry::setDielectrics | ( | const Vector< Dielectric > & | a_dielectrics | ) |
Set dielectrics.
| [in] | a_dielectrics | Dielectris |
Set electrodes.
| [in] | a_electrodes | Electrodes |
Set the background permittivity.
| [in] | a_eps0 | Gas permittivity |
| void ComputationalGeometry::useScanShop | ( | const ProblemDomain | a_startDomain | ) |
Calls for ComputationalGeometry to use ScanShop rather than Chombo's default geometry generation tool.
| [in] | a_startDomain | Coarse domain where ScanShop begins the load balancing recursion process. |