IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
|
Class IrregularWaveBcCoef is an implementation of the strategy class SAMRAI::solv::RobinBcCoefStrategy that provides Dirichlet velocity boundary condition based upon linear wave theory of water waves to generate irregular waves at the inlet of the wave tank. The class is meant to be used with INSVCStaggeredHierarchyIntegrator. More...
#include </home/runner/work/IBAMR/IBAMR/include/ibamr/IrregularWaveBcCoef.h>
Public Member Functions | |
IrregularWaveBcCoef (std::string object_name, const int comp_idx, SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > input_db, SAMRAI::tbox::Pointer< SAMRAI::geom::CartesianGridGeometry< NDIM > > grid_geom) | |
Constructor. | |
~IrregularWaveBcCoef () | |
Destructor. | |
Implementation of SAMRAI::solv::RobinBcCoefStrategy interface. | |
void | setBcCoefs (SAMRAI::tbox::Pointer< SAMRAI::pdat::ArrayData< NDIM, double > > &acoef_data, SAMRAI::tbox::Pointer< SAMRAI::pdat::ArrayData< NDIM, double > > &bcoef_data, SAMRAI::tbox::Pointer< SAMRAI::pdat::ArrayData< NDIM, double > > &gcoef_data, const SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > &variable, const SAMRAI::hier::Patch< NDIM > &patch, const SAMRAI::hier::BoundaryBox< NDIM > &bdry_box, double fill_time=0.0) const override |
Function to fill arrays of Robin boundary condition coefficients at a patch boundary. More... | |
SAMRAI::hier::IntVector< NDIM > | numberOfExtensionsFillable () const override |
Class IrregularWaveBcCoef is an implementation of the strategy class SAMRAI::solv::RobinBcCoefStrategy that provides Dirichlet velocity boundary condition based upon linear wave theory of water waves to generate irregular waves at the inlet of the wave tank. The class is meant to be used with INSVCStaggeredHierarchyIntegrator.
The class can calculate surface elevation and velocities in the water domain in both shallow water regime as well as deep-water regime as indicated through input database.
|
overridevirtual |
Function to fill arrays of Robin boundary condition coefficients at a patch boundary.
acoef_data | Boundary coefficient data. The array will have been defined to include index range for corresponding to the boundary box bdry_box and appropriate for the alignment of the given variable. If this is a null pointer, then the calling function is not interested in a, and you can disregard it. |
bcoef_data | Boundary coefficient data. This array is exactly like acoef_data, except that it is to be filled with the b coefficient. |
gcoef_data | Boundary coefficient data. This array is exactly like acoef_data, except that it is to be filled with the g coefficient. |
variable | Variable to set the coefficients for. If implemented for multiple variables, this parameter can be used to determine which variable's coefficients are being sought. |
patch | Patch requiring bc coefficients. |
bdry_box | Boundary box showing where on the boundary the coefficient data is needed. |
fill_time | Solution time corresponding to filling, for use when coefficients are time-dependent. |
Implements SAMRAI::solv::RobinBcCoefStrategy< NDIM >.