|
BISICLES AMR ice sheet model
0.9
|
PythonInterface::PythonIBC, a PhysIBC-derived class which allows the bedrock and topography to be set by a user-defined python function f(x,y) . More...
#include <PythonInterface.H>


Public Member Functions | |
| PythonIBC (const std::string &a_pyModuleName, const std::string &a_pyFuncThckName, const std::string &a_pyFuncTopgName, const std::string &a_pyFuncRhsName, const std::string &a_pyFuncFaceVelName) | |
| PythonIBC () | |
| virtual | ~PythonIBC () |
| virtual void | define (const ProblemDomain &a_domain, const Real &a_dx) |
| Define the object. More... | |
| virtual IceThicknessIBC * | new_thicknessIBC () |
| Factory method - this object is its own factory. More... | |
| virtual void | initialize (LevelData< FArrayBox > &a_U) |
| Set up initial conditions. More... | |
| bool | regridIceGeometry (LevelSigmaCS &a_coords, const RealVect &a_dx, const RealVect &a_domainSize, const Real &a_time, const LevelSigmaCS *a_crseCoords, const int a_refRatio) |
| set up topography, etc at regrid time More... | |
| virtual void | initializeIceGeometry (LevelSigmaCS &a_coords, const RealVect &a_dx, const RealVect &a_domainSize, const Real &a_time, const LevelSigmaCS *a_crseCoords, const int a_refRatio) |
| set up initial ice state More... | |
| virtual void | modifyVelocityRHS (LevelData< FArrayBox > &a_rhs, LevelSigmaCS &a_coords, const ProblemDomain &a_domain, Real a_time, Real a_dt) |
| if appropriate, modify velocity solve RHS in a problem-dependent way. More... | |
| virtual void | modifyFaceVelocity (LevelData< FluxBox > &a_faceVel, const LevelSigmaCS &a_coords, const ProblemDomain &a_domain) const |
| if appropriate, modify face velocities in a problem-dependent way. More... | |
| virtual void | primBC (FArrayBox &a_WGdnv, const FArrayBox &a_Wextrap, const FArrayBox &a_W, const int &a_dir, const Side::LoHiSide &a_side, const Real &a_time) |
| Set boundary fluxes. More... | |
| virtual void | setBdrySlopes (FArrayBox &a_dW, const FArrayBox &a_W, const int &a_dir, const Real &a_time) |
| Set boundary slopes. More... | |
| virtual void | artViscBC (FArrayBox &a_F, const FArrayBox &a_U, const FArrayBox &a_divVel, const int &a_dir, const Real &a_time) |
| Adjust boundary fluxes to account for artificial viscosity. More... | |
| virtual RefCountedPtr< CompGridVTOBC > | velocitySolveBC () |
| return boundary condition for Ice velocity solve More... | |
| virtual void | setSurfaceHeightBCs (LevelData< FArrayBox > &a_zSurface, LevelSigmaCS &a_coords, const ProblemDomain &a_domain, const RealVect &a_dx, Real a_time, Real a_dt) |
| set non-periodic ghost cells for surface height z_s. More... | |
| virtual void | setGeometryBCs (LevelSigmaCS &a_coords, const ProblemDomain &a_domain, const RealVect &a_dx, Real a_time, Real a_dt) |
| set non-periodic geometry (thickness, topography) ghost cells More... | |
| virtual void | setIceFractionBCs (LevelData< FArrayBox > &a_fraction, const ProblemDomain &a_domain, const RealVect &a_dx, Real a_time, Real a_dt) |
| set non-periodic ghost cells for ice fraction More... | |
Public Member Functions inherited from IceThicknessIBC | |
| IceThicknessIBC () | |
| Constructor. More... | |
| virtual | ~IceThicknessIBC () |
| Destructor. More... | |
| virtual PhysIBC * | new_physIBC () |
| Factory method - this object is its own factory. More... | |
| virtual void | velocityGhostBC (LevelData< FArrayBox > &a_velocity, const LevelSigmaCS &a_coords, const ProblemDomain &a_domain, Real a_time) |
| fill ghost cells on velocity More... | |
| virtual void | setGridHierarchy (Vector< RefCountedPtr< LevelSigmaCS > > &a_vectCS, Vector< ProblemDomain > &a_vectDomain) |
| set AMR grid hierarchy (for the BC's which need this) More... | |
| virtual void | checkOK () const |
PythonInterface::PythonIBC, a PhysIBC-derived class which allows the bedrock and topography to be set by a user-defined python function f(x,y) .
Reflection boundary conditions are imposed on each edge.
| PythonInterface::PythonIBC::PythonIBC | ( | const std::string & | a_pyModuleName, |
| const std::string & | a_pyFuncThckName, | ||
| const std::string & | a_pyFuncTopgName, | ||
| const std::string & | a_pyFuncRhsName, | ||
| const std::string & | a_pyFuncFaceVelName | ||
| ) |
| PythonInterface::PythonIBC::PythonIBC | ( | ) |
Referenced by new_thicknessIBC().
|
virtual |
|
virtual |
Adjust boundary fluxes to account for artificial viscosity.
Implements IceThicknessIBC.
|
virtual |
Define the object.
Set the problem domain index space and the grid spacing for this initial and boundary condition object.
Reimplemented from IceThicknessIBC.
|
virtual |
|
virtual |
set up initial ice state
reads info from ParmParse and sets up ice sheet geometry
Implements IceThicknessIBC.
References LevelSigmaCS::getH(), LevelSigmaCS::getTopography(), LevelSigmaCS::grids(), PythonInterface::PythonEval(), and setGeometryBCs().
|
virtual |
if appropriate, modify face velocities in a problem-dependent way.
default is to do nothing
Reimplemented from IceThicknessIBC.
References LevelSigmaCS::dx(), LevelSigmaCS::grids(), modifyVelocityRHS(), and PythonInterface::PythonEval().
Referenced by regridIceGeometry().
|
virtual |
if appropriate, modify velocity solve RHS in a problem-dependent way.
default is to do nothing
Reimplemented from IceThicknessIBC.
References LevelSigmaCS::dx(), LevelSigmaCS::getH(), LevelSigmaCS::getSurfaceHeight(), LevelSigmaCS::gravity(), LevelSigmaCS::grids(), LevelSigmaCS::iceDensity(), and PythonInterface::PythonEval().
Referenced by modifyFaceVelocity().
|
virtual |
Factory method - this object is its own factory.
Return a pointer to a new IceThicknessIBC object with m_isDefined = false (i.e., its define() must be called before it is used).
Implements IceThicknessIBC.
References PythonIBC().
|
virtual |
Set boundary fluxes.
Implements IceThicknessIBC.
|
virtual |
set up topography, etc at regrid time
Reimplemented from IceThicknessIBC.
References LevelSigmaCS::getH(), LevelSigmaCS::getTopography(), LevelSigmaCS::grids(), modifyFaceVelocity(), and PythonInterface::PythonEval().
|
virtual |
Set boundary slopes.
The boundary slopes in a_dW are already set to one sided difference approximations. If this function doesn't change them they will be used for the slopes at the boundaries.
Implements IceThicknessIBC.
|
virtual |
set non-periodic geometry (thickness, topography) ghost cells
set non-periodic ghost cells for thickness & topography
Reimplemented from IceThicknessIBC.
References LevelSigmaCS::getH(), LevelSigmaCS::getTopography(), and ReflectGhostCells().
Referenced by initializeIceGeometry().
|
virtual |
set non-periodic ghost cells for ice fraction
Reimplemented from IceThicknessIBC.
References ReflectGhostCells().
|
virtual |
set non-periodic ghost cells for surface height z_s.
Reimplemented from IceThicknessIBC.
References ReflectGhostCells().
|
virtual |
return boundary condition for Ice velocity solve
eventually would like this to be a BCHolder
Implements IceThicknessIBC.
1.8.13