IBAMR  IBAMR version 0.19.
Public Member Functions | List of all members
IBAMR::AdvDiffStochasticForcing Class Reference

Class AdvDiffStochasticForcing provides an interface for specifying a stochastic forcing term for cell-centered advection-diffusion solver solver.

#include <ibamr/AdvDiffStochasticForcing.h>

Inheritance diagram for IBAMR::AdvDiffStochasticForcing:
Inheritance graph
[legend]

Public Member Functions

 AdvDiffStochasticForcing (std::string object_name, SAMRAI::tbox::Pointer< SAMRAI::tbox::Database > input_db, SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > C_var, const AdvDiffSemiImplicitHierarchyIntegrator *adv_diff_solver)
 This constructor creates Variable and VariableContext objects for storing the stochastic fluxes at the faces of the Cartesian grid. More...
 
 ~AdvDiffStochasticForcing ()=default
 Empty destructor. More...
 

Methods to set patch data.

std::string d_object_name
 
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > d_C_var
 
mu::Parser d_f_parser
 
const AdvDiffSemiImplicitHierarchyIntegrator *const d_adv_diff_solver
 
double d_std = std::numeric_limits<double>::quiet_NaN()
 
int d_num_rand_vals = 0
 
std::vector< SAMRAI::tbox::Array< double > > d_weights
 
double d_dirichlet_bc_scaling = std::sqrt(2.0)
 
double d_neumann_bc_scaling = 0.0
 
SAMRAI::tbox::Pointer< SAMRAI::hier::VariableContextd_context
 
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > > d_C_cc_var
 
int d_C_current_cc_idx = IBTK::invalid_index
 
int d_C_half_cc_idx = IBTK::invalid_index
 
int d_C_new_cc_idx = IBTK::invalid_index
 
SAMRAI::tbox::Pointer< SAMRAI::pdat::SideVariable< NDIM, double > > d_F_sc_var
 
int d_F_sc_idx = IBTK::invalid_index
 
std::vector< intd_F_sc_idxs
 
bool isTimeDependent () const override
 Indicates whether the concrete AdvDiffStochasticForcing object is time-dependent. More...
 
void setDataOnPatchHierarchy (const int data_idx, SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > var, SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > > hierarchy, const double data_time, const bool initial_time=false, const int coarsest_ln=IBTK::invalid_level_number, const int finest_ln=IBTK::invalid_level_number) override
 Evaluate the function on the patch interiors on the specified levels of the patch hierarchy. More...
 
void setDataOnPatch (const int data_idx, SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > > var, SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > patch, const double data_time, const bool initial_time=false, SAMRAI::tbox::Pointer< SAMRAI::hier::PatchLevel< NDIM > > patch_level=SAMRAI::tbox::Pointer< SAMRAI::hier::PatchLevel< NDIM > >(nullptr)) override
 Evaluate the function on the patch interior. More...
 
 AdvDiffStochasticForcing ()=delete
 Default constructor. More...
 
 AdvDiffStochasticForcing (const AdvDiffStochasticForcing &from)=delete
 Copy constructor. More...
 
AdvDiffStochasticForcingoperator= (const AdvDiffStochasticForcing &that)=delete
 Assignment operator. More...
 

Constructor & Destructor Documentation

◆ AdvDiffStochasticForcing() [1/3]

IBAMR::AdvDiffStochasticForcing::AdvDiffStochasticForcing ( std::string  object_name,
SAMRAI::tbox::Pointer< SAMRAI::tbox::Database input_db,
SAMRAI::tbox::Pointer< SAMRAI::pdat::CellVariable< NDIM, double > >  C_var,
const AdvDiffSemiImplicitHierarchyIntegrator adv_diff_solver 
)

◆ ~AdvDiffStochasticForcing()

IBAMR::AdvDiffStochasticForcing::~AdvDiffStochasticForcing ( )
default

◆ AdvDiffStochasticForcing() [2/3]

IBAMR::AdvDiffStochasticForcing::AdvDiffStochasticForcing ( )
privatedelete
Note
This constructor is not implemented and should not be used.

◆ AdvDiffStochasticForcing() [3/3]

IBAMR::AdvDiffStochasticForcing::AdvDiffStochasticForcing ( const AdvDiffStochasticForcing from)
privatedelete
Note
This constructor is not implemented and should not be used.
Parameters
fromThe value to copy to this object.

Member Function Documentation

◆ isTimeDependent()

bool IBAMR::AdvDiffStochasticForcing::isTimeDependent ( ) const
overridevirtual

◆ setDataOnPatchHierarchy()

void IBAMR::AdvDiffStochasticForcing::setDataOnPatchHierarchy ( const int  data_idx,
SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > >  var,
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchHierarchy< NDIM > >  hierarchy,
const double  data_time,
const bool  initial_time = false,
const int  coarsest_ln = IBTK::invalid_level_number,
const int  finest_ln = IBTK::invalid_level_number 
)
overridevirtual

Reimplemented from IBTK::CartGridFunction.

◆ setDataOnPatch()

void IBAMR::AdvDiffStochasticForcing::setDataOnPatch ( const int  data_idx,
SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > >  var,
SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > >  patch,
const double  data_time,
const bool  initial_time = false,
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchLevel< NDIM > >  patch_level = SAMRAI::tbox::PointerSAMRAI::hier::PatchLevel< NDIM > >(nullptr) 
)
overridevirtual

◆ operator=()

AdvDiffStochasticForcing& IBAMR::AdvDiffStochasticForcing::operator= ( const AdvDiffStochasticForcing that)
privatedelete
Note
This operator is not implemented and should not be used.
Parameters
thatThe value to assign to this object.
Returns
A reference to this object.

◆ setDataOnPatchLevel()

virtual void IBTK::CartGridFunction::setDataOnPatchLevel ( int  data_idx,
SAMRAI::tbox::Pointer< SAMRAI::hier::Variable< NDIM > >  var,
SAMRAI::tbox::Pointer< SAMRAI::hier::PatchLevel< NDIM > >  patch_level,
double  data_time,
bool  initial_time = false 
)
virtualinherited

Member Data Documentation

◆ d_object_name

std::string IBAMR::AdvDiffStochasticForcing::d_object_name
protected

The object name is used for error/warning reporting.

◆ d_C_var

SAMRAI::tbox::Pointer<SAMRAI::pdat::CellVariable<NDIM, double> > IBAMR::AdvDiffStochasticForcing::d_C_var
private

Pointer to the concentration variable associated with this source term generator.

◆ d_f_parser

mu::Parser IBAMR::AdvDiffStochasticForcing::d_f_parser
private

Concentration-dependent flux scaling function.

◆ d_adv_diff_solver

const AdvDiffSemiImplicitHierarchyIntegrator* const IBAMR::AdvDiffStochasticForcing::d_adv_diff_solver
private

Pointer to the advection-diffusion solver object that is using this stochastic source term generator.

◆ d_std

double IBAMR::AdvDiffStochasticForcing::d_std = std::numeric_limits<double>::quiet_NaN()
private

Weighting data.

◆ d_num_rand_vals

int IBAMR::AdvDiffStochasticForcing::d_num_rand_vals = 0
private

◆ d_weights

std::vector<SAMRAI::tbox::Array<double> > IBAMR::AdvDiffStochasticForcing::d_weights
private

◆ d_dirichlet_bc_scaling

double IBAMR::AdvDiffStochasticForcing::d_dirichlet_bc_scaling = std::sqrt(2.0)
private

Boundary condition scalings.

◆ d_neumann_bc_scaling

double IBAMR::AdvDiffStochasticForcing::d_neumann_bc_scaling = 0.0
private

◆ d_context

SAMRAI::tbox::Pointer<SAMRAI::hier::VariableContext> IBAMR::AdvDiffStochasticForcing::d_context
private

VariableContext and Variable objects for storing the components of the stochastic fluxes.

◆ d_C_cc_var

SAMRAI::tbox::Pointer<SAMRAI::pdat::CellVariable<NDIM, double> > IBAMR::AdvDiffStochasticForcing::d_C_cc_var
private

◆ d_C_current_cc_idx

int IBAMR::AdvDiffStochasticForcing::d_C_current_cc_idx = IBTK::invalid_index
private

◆ d_C_half_cc_idx

int IBAMR::AdvDiffStochasticForcing::d_C_half_cc_idx = IBTK::invalid_index
private

◆ d_C_new_cc_idx

int IBAMR::AdvDiffStochasticForcing::d_C_new_cc_idx = IBTK::invalid_index
private

◆ d_F_sc_var

SAMRAI::tbox::Pointer<SAMRAI::pdat::SideVariable<NDIM, double> > IBAMR::AdvDiffStochasticForcing::d_F_sc_var
private

◆ d_F_sc_idx

int IBAMR::AdvDiffStochasticForcing::d_F_sc_idx = IBTK::invalid_index
private

◆ d_F_sc_idxs

std::vector<int> IBAMR::AdvDiffStochasticForcing::d_F_sc_idxs
private

The documentation for this class was generated from the following file: