|
| std::string | d_velocity_bdry_extrap_type = "CONSTANT" |
| |
| std::vector< IBTK::HierarchyGhostCellInterpolation::InterpolationTransactionComponent > | d_v_transaction_comps |
| |
| SAMRAI::tbox::Pointer< IBTK::HierarchyGhostCellInterpolation > | d_hier_v_bdry_fill |
| |
| LimiterType | d_velocity_convective_limiter = CUI |
| |
| int | d_velocity_limiter_gcw = 1 |
| |
| virtual void | initializeSTSIntegrator (SAMRAI::tbox::Pointer< SAMRAI::hier::BasePatchHierarchy< NDIM > > base_hierarchy) override |
| | Compute hierarchy dependent data required for time integrating variables. More...
|
| |
| virtual void | deallocateSTSIntegrator () override |
| | Remove all hierarchy dependent data allocated by initializeSTSIntegrator(). More...
|
| |
| void | setSideCenteredVelocityBoundaryConditions (const std::vector< SAMRAI::solv::RobinBcCoefStrategy< NDIM > * > &u_sc_bc_coefs) |
| |
| int | getUpdatedSideCenteredDensityPatchDataIndex () |
| | Get the newly constructed side-centered density patch data index. More...
|
| |
| void | setMassDensitySourceTerm (const SAMRAI::tbox::Pointer< IBTK::CartGridFunction > S_fcn) |
| | Set an optional mass density source term. More...
|
| |
| void | computeAdvectionVelocity (std::array< SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > >, NDIM > U_adv_data, const SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > U_data, const SAMRAI::hier::IntVector< NDIM > &patch_lower, const SAMRAI::hier::IntVector< NDIM > &patch_upper, const std::array< SAMRAI::hier::Box< NDIM >, NDIM > &side_boxes) |
| | Compute the advection velocity using simple averages. More...
|
| |
| void | interpolateSideQuantity (std::array< SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > >, NDIM > Q_half_data, const std::array< SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > >, NDIM > U_adv_data, const SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > Q_data, const SAMRAI::hier::IntVector< NDIM > &patch_lower, const SAMRAI::hier::IntVector< NDIM > &patch_upper, const std::array< SAMRAI::hier::Box< NDIM >, NDIM > &side_boxes, const LimiterType &convective_limiter) |
| | Compute the interpolation of a quantity Q onto Q_half, faces of the velocity DOF centered control volumes. More...
|
| |
| void | computeConvectiveDerivative (SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > N_data, std::array< SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > >, NDIM > P_half_data, const std::array< SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > >, NDIM > U_adv_data, const std::array< SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > >, NDIM > R_half_data, const std::array< SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > >, NDIM > U_half_data, const std::array< SAMRAI::hier::Box< NDIM >, NDIM > &side_boxes, const double *const dx, const SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > &patch) |
| | Compute div[rho_half*u_half*u_adv]. More...
|
| |
| void | computeDensityUpdate (SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > R_data, const double &a0, const SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > R0_data, const double &a1, const SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > R1_data, const double &a2, const std::array< SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > >, NDIM > U_adv_data, const std::array< SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > >, NDIM > R_half_data, const SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > S_data, const std::array< SAMRAI::hier::Box< NDIM >, NDIM > &side_boxes, const double &dt, const double *const dx) |
| | Compute the density update rho = a0*rho^0 + a1*rho^1 + a2*dt*(-div[u_adv*rho_half]) + a2*dt*S. More...
|
| |
| void | computeErrorOfMassConservationEquation (SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > E_data, const SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > Rnew_data, const SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > Rold_data, const std::array< SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > >, NDIM > U_adv_data, const std::array< SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > >, NDIM > R_half_data, const std::array< SAMRAI::hier::Box< NDIM >, NDIM > &side_boxes, const double &dt, const double *const dx) |
| | Compute the error of the mass conservation equation using the integrated density field pointwise. More...
|
| |
| void | enforceDivergenceFreeConditionAtCoarseFineInterface (const int U_idx) |
| | Enforce divergence free condition at the coarse-fine interface to ensure conservation of mass. More...
|
| |
| | INSVCStaggeredConservativeMassMomentumRKIntegrator ()=delete |
| | Default constructor. More...
|
| |
| | INSVCStaggeredConservativeMassMomentumRKIntegrator (const INSVCStaggeredConservativeMassMomentumRKIntegrator &from)=delete |
| | Copy constructor. More...
|
| |
| INSVCStaggeredConservativeMassMomentumRKIntegrator & | operator= (const INSVCStaggeredConservativeMassMomentumRKIntegrator &that)=delete |
| | Assignment operator. More...
|
| |
\( \frac{\partial \rho}{\partial t} + \nabla \cdot (\rho u) = S(x,t) \)
and computes the conservative form of the convective operator \( \nabla \cdot (\rho u u)\).
This class implements the Forward Euler (RK-1) for single cycle and midpoint rule (RK-2) for multiple cycles as the time-stepping schemes.
Class INSVCStaggeredConservativeMassMomentumRKIntegrator computes the convective derivative of a side-centered velocity field using various bounded-limiters described by Patel and Natarajan.
A side-centered density update is provided by this class, which is used in the conservative discretization of the incompressible Navier-Stokes equation. There is an optional mass density source term \( S(x,t) \) that can be set to check the order of accuracy via manufactured solutions.
References Patel, JK. and Natarajan, G., A generic framework for design of interface capturing schemes for multi-fluid flows
- Note
- This class is specialized in that it computes a conservative discretization of the form \(N = \nabla \cdot (u \rho u)\), where the density \(\rho\) can vary in space and time. This operator is to be used in conjuction with the conservative form of the variable coefficient Navier-Stokes equations, which will produce better results for high density ratio flows.
- See also
- INSVCStaggeredHierarchyIntegrator