Alamo
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes
Integrator::PFC Class Reference

#include <PFC.H>

Inheritance diagram for Integrator::PFC:
Integrator::Integrator

Public Member Functions

 PFC ()
 
 ~PFC ()
 
 PFC (IO::ParmParse &pp)
 
- 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, std::vector< std::string >)
 
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)
 

Static Public Member Functions

static void Parse (PFC &value, IO::ParmParse &pp)
 

Protected Member Functions

void Initialize (int lev) 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 TimeStepBegin (Set::Scalar, int)
 
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, std::vector< std::string > suffix={})
 
void RegisterNewFab (Set::Field< Set::Scalar > &new_fab, int ncomp, std::string name, bool writeout, std::vector< std::string > suffix={})
 
void RegisterNodalFab (Set::Field< Set::Scalar > &new_fab, int ncomp, int nghost, std::string name, bool writeout, std::vector< std::string > suffix={})
 
void RegisterNodalFab (Set::Field< Set::Scalar > &new_fab, BC::BC< Set::Scalar > *new_bc, int ncomp, int nghost, std::string name, bool writeout, std::vector< std::string > suffix={})
 
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, std::vector< std::string > suffix={})
 
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 DynamicTimestep_SyncTimeStep (int lev, Set::Scalar dt_min)
 
void DynamicTimestep_Reset ()
 
void DynamicTimestep_Update ()
 
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::Scalareta_mf
 
Set::Field< Set::Scalargrad_chempot_mf
 
BC::BC< Set::Scalar > * bc
 
IC::IC< Set::Scalar > * ic
 
Set::Scalar q0 = NAN
 
Set::Scalar eps = NAN
 

Additional Inherited Members

- Protected Attributes inherited from Integrator::Integrator
struct { 
 
   bool   on = false 
 
   int   verbose = -1 
 
   int   nprevious = -1 
 
   Set::Scalar   cfl = NAN 
 
   Set::Scalar   min = NAN 
 
   Set::Scalar   max = NAN 
 
   std::vector< Set::Scalar >   dt_limit_min 
 
   std::vector< Set::Scalar >   previous_timesteps 
 
dynamictimestep 
 
amrex::Vector< amrex::Real > t_new
 
amrex::Vector< int > istep
 
std::string plot_file { "plt" }
 
amrex::Real timestep = NAN
 
amrex::Vector< amrex::Real > dt
 
amrex::Vector< int > nsubsteps
 
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::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::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 44 of file PFC.H.

Constructor & Destructor Documentation

◆ PFC() [1/2]

Integrator::PFC::PFC ( )

Basic constructor (don't use)

Definition at line 16 of file PFC.cpp.

◆ ~PFC()

Integrator::PFC::~PFC ( )

Destroy pointers defined in Parse.

Definition at line 19 of file PFC.cpp.

◆ PFC() [2/2]

Integrator::PFC::PFC ( IO::ParmParse pp)
inline

Use this constructor.

Definition at line 55 of file PFC.H.

Member Function Documentation

◆ Advance()

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

Integrate eta over one timestep on lev.

Implements Integrator::Integrator.

Definition at line 123 of file PFC.cpp.

◆ Initialize()

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

Set values in fields.

Implements Integrator::Integrator.

Definition at line 130 of file PFC.cpp.

◆ Parse()

void Integrator::PFC::Parse ( PFC value,
IO::ParmParse pp 
)
static

Scan input values and initialize fields.

Definition at line 25 of file PFC.cpp.

◆ TagCellsForRefinement()

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

Mark any cells that need to be refined.

Implements Integrator::Integrator.

Definition at line 138 of file PFC.cpp.

Field Documentation

◆ bc

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

Field to calculate FFT of nonlinar part.

Definition at line 75 of file PFC.H.

◆ eps

Set::Scalar Integrator::PFC::eps = NAN
private

Definition at line 79 of file PFC.H.

◆ eta_mf

Set::Field<Set::Scalar> Integrator::PFC::eta_mf
private

Definition at line 72 of file PFC.H.

◆ grad_chempot_mf

Set::Field<Set::Scalar> Integrator::PFC::grad_chempot_mf
private

Order parameter field.

Definition at line 73 of file PFC.H.

◆ ic

IC::IC<Set::Scalar>* Integrator::PFC::ic
private

eta's bc object

Definition at line 76 of file PFC.H.

◆ q0

Set::Scalar Integrator::PFC::q0 = NAN
private

eta's ic object

Definition at line 78 of file PFC.H.


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