Alamo
Public Member Functions | Protected Member Functions | Private Attributes
Integrator::CahnHilliard Class Reference
Inheritance diagram for Integrator::CahnHilliard:
[legend]
Collaboration diagram for Integrator::CahnHilliard:
[legend]

Public Member Functions

 CahnHilliard ()
 
- Public Member Functions inherited from Integrator::Integrator
 Integrator ()
 
virtual ~Integrator ()
 
void InitData ()
 
void Restart (std::string restartfile, bool a_node=false)
 
void Evolve ()
 
void SetFilename (std::string _plot_file)
 
std::string GetFilename ()
 
void regrid (int lbase, Set::Scalar time, bool initial=false) override
 
void InitFromScratch (Set::Scalar time)
 
template<class T , int d>
ALAMO_SINGLE_DEFINITION void AddField (Set::Field< T > &new_field, BC::BC< T > *new_bc, int ncomp, int nghost, std::string name, bool writeout, bool evolving)
 
template<class T >
ALAMO_SINGLE_DEFINITION void RegisterGeneralFab (Set::Field< T > &new_fab, int ncomp, int nghost, bool evolving)
 
template<class T >
ALAMO_SINGLE_DEFINITION void RegisterGeneralFab (Set::Field< T > &new_fab, int ncomp, int nghost, std::string a_name, bool evolving)
 
template<class T >
AMREX_ATTRIBUTE_WEAK void RegisterGeneralFab (Set::Field< T > &new_fab, int ncomp, int nghost, bool writeout, std::string a_name, bool evolving)
 

Protected Member Functions

void Initialize (int lev) override
 
void TimeStepBegin (amrex::Real, int) override
 
void Advance (int lev, Set::Scalar time, Set::Scalar dt) override
 
void TagCellsForRefinement (int lev, amrex::TagBoxArray &tags, amrex::Real time, int ngrow) override
 
- Protected Member Functions inherited from Integrator::Integrator
virtual void TimeStepComplete (Set::Scalar, int)
 
virtual void Integrate (int, Set::Scalar, int, const amrex::MFIter &, const amrex::Box &)
 
virtual void Regrid (int, Set::Scalar)
 
void RegisterNewFab (Set::Field< Set::Scalar > &new_fab, BC::BC< Set::Scalar > *new_bc, int ncomp, int nghost, std::string name, bool writeout)
 
void RegisterNewFab (Set::Field< Set::Scalar > &new_fab, int ncomp, std::string name, bool writeout)
 
void RegisterNodalFab (Set::Field< Set::Scalar > &new_fab, int ncomp, int nghost, std::string name, bool writeout)
 
void RegisterNodalFab (Set::Field< Set::Scalar > &new_fab, BC::BC< Set::Scalar > *new_bc, int ncomp, int nghost, std::string name, bool writeout)
 
template<class T >
void RegisterGeneralFab (Set::Field< T > &new_fab, int ncomp, int nghost, bool evolving=true)
 
template<class T >
void RegisterGeneralFab (Set::Field< T > &new_fab, int ncomp, int nghost, std::string a_name, bool evolving=true)
 
template<class T >
void RegisterGeneralFab (Set::Field< T > &new_fab, int ncomp, int nghost, bool writeout, std::string a_name, bool evolving=true)
 
template<class T , int d>
void AddField (Set::Field< T > &new_field, BC::BC< T > *new_bc, int ncomp, int nghost, std::string, bool writeout, bool evolving)
 
void SetFinestLevel (const int a_finestlevel)
 
void RegisterIntegratedVariable (Set::Scalar *integrated_variable, std::string name, bool extensive=true)
 
void SetTimestep (Set::Scalar _timestep)
 
void SetPlotInt (int plot_int)
 
void SetThermoInt (int a_thermo_int)
 
void SetThermoPlotInt (int a_thermo_plot_int)
 
void SetStopTime (Set::Scalar a_stop_time)
 
void IntegrateVariables (Set::Scalar cur_time, int step)
 
void WritePlotFile (bool initial=false) const
 
void WritePlotFile (std::string prefix, Set::Scalar time, int step) const
 
void WritePlotFile (Set::Scalar time, amrex::Vector< int > iter, bool initial=false, std::string prefix="") const
 

Private Attributes

Set::Field< Set::Scalaretanewmf
 
Set::Field< Set::Scalaretaoldmf
 
Set::Field< Set::Scalarintermediate
 
const int nghost = 1
 
const int ncomp = 1
 
BC::BC< Set::Scalar > * bc
 
IC::ICic
 
const Set::Scalar gamma = 0.0005
 
Operator::Implicit::Implicit op
 

Additional Inherited Members

- Protected Attributes inherited from Integrator::Integrator
amrex::Vector< amrex::Real > t_new
 
amrex::Vector< int > istep
 
std::string plot_file { "plt" }
 
amrex::Real timestep = NAN
 
bool integrate_variables_before_advance = true
 
bool integrate_variables_after_advance = false
 
struct {
   int   number_of_fabs = 0
 
   std::vector< Set::Field< Set::Scalar > * >   fab_array
 
   std::vector< int >   ncomp_array
 
   std::vector< int >   nghost_array
 
   std::vector< std::string >   name_array
 
   std::vector< BC::BC< Set::Scalar > * >   physbc_array
 
   std::vector< bool >   writeout_array
 
   bool   any = true
 
   bool   all = false
 
node
 
struct {
   int   number_of_fabs = 0
 
   std::vector< Set::Field< Set::Scalar > * >   fab_array
 
   std::vector< int >   ncomp_array
 
   std::vector< int >   nghost_array
 
   std::vector< std::string >   name_array
 
   std::vector< BC::BC< Set::Scalar > * >   physbc_array
 
   std::vector< bool >   writeout_array
 
   bool   any = true
 
   bool   all = false
 
cell
 
std::vector< BaseField * > m_basefields
 
std::vector< BaseField * > m_basefields_cell
 
BC::Nothing bcnothing
 
struct {
   int   interval = -1
 
   Set::Scalar   dt = NAN
 
   int   plot_int = -1
 
   Set::Scalar   plot_dt = NAN
 
   int   number = 0
 
   std::vector< Set::Scalar * >   vars
 
   std::vector< std::string >   names
 
   std::vector< bool >   extensives
 
thermo
 
int regrid_int = -1
 
int base_regrid_int = -1
 
std::string restart_file_cell = ""
 
std::string restart_file_node = ""
 
struct {
   int   on = 0
 
   std::vector< amrex::Box >   box
 
explicitmesh
 
int abort_on_nan = true
 

Detailed Description

Definition at line 25 of file CahnHilliard.H.

Constructor & Destructor Documentation

◆ CahnHilliard()

Integrator::CahnHilliard::CahnHilliard ( )

Definition at line 9 of file CahnHilliard.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ Advance()

void Integrator::CahnHilliard::Advance ( int  lev,
Set::Scalar  time,
Set::Scalar  dt 
)
overrideprotectedvirtual

Implements Integrator::Integrator.

Definition at line 44 of file CahnHilliard.cpp.

◆ Initialize()

void Integrator::CahnHilliard::Initialize ( int  lev)
overrideprotectedvirtual

Implements Integrator::Integrator.

Definition at line 81 of file CahnHilliard.cpp.

Here is the call graph for this function:

◆ TagCellsForRefinement()

void Integrator::CahnHilliard::TagCellsForRefinement ( int  lev,
amrex::TagBoxArray &  tags,
amrex::Real  time,
int  ngrow 
)
overrideprotectedvirtual

Implements Integrator::Integrator.

Definition at line 91 of file CahnHilliard.cpp.

◆ TimeStepBegin()

void Integrator::CahnHilliard::TimeStepBegin ( amrex::Real  ,
int   
)
overrideprotectedvirtual

Reimplemented from Integrator::Integrator.

Definition at line 22 of file CahnHilliard.cpp.

Field Documentation

◆ bc

BC::BC<Set::Scalar>* Integrator::CahnHilliard::bc
private

Definition at line 45 of file CahnHilliard.H.

◆ etanewmf

Set::Field<Set::Scalar> Integrator::CahnHilliard::etanewmf
private

Definition at line 39 of file CahnHilliard.H.

◆ etaoldmf

Set::Field<Set::Scalar> Integrator::CahnHilliard::etaoldmf
private

Definition at line 40 of file CahnHilliard.H.

◆ gamma

const Set::Scalar Integrator::CahnHilliard::gamma = 0.0005
private

Definition at line 48 of file CahnHilliard.H.

◆ ic

IC::IC* Integrator::CahnHilliard::ic
private

Definition at line 46 of file CahnHilliard.H.

◆ intermediate

Set::Field<Set::Scalar> Integrator::CahnHilliard::intermediate
private

Definition at line 41 of file CahnHilliard.H.

◆ ncomp

const int Integrator::CahnHilliard::ncomp = 1
private

Definition at line 44 of file CahnHilliard.H.

◆ nghost

const int Integrator::CahnHilliard::nghost = 1
private

Definition at line 43 of file CahnHilliard.H.

◆ op

Operator::Implicit::Implicit Integrator::CahnHilliard::op
private

Definition at line 50 of file CahnHilliard.H.


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