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

#include <Flame.H>

Inheritance diagram for Integrator::Flame:
Integrator::Integrator Integrator::Base::Mechanics< Model::Solid::Finite::NeoHookeanPredeformed > Integrator::Integrator

Public Member Functions

 Flame ()
 
 Flame (IO::ParmParse &pp)
 
virtual ~Flame ()
 
- 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)
 
- Public Member Functions inherited from Integrator::Base::Mechanics< Model::Solid::Finite::NeoHookeanPredeformed >
 Mechanics ()
 
 ~Mechanics ()
 

Static Public Member Functions

static void Forbids (IO::ParmParse &pp)
 
static void Parse (Flame &value, IO::ParmParse &pp)
 
- Static Public Member Functions inherited from Integrator::Base::Mechanics< Model::Solid::Finite::NeoHookeanPredeformed >
static void Parse (Mechanics &value, IO::ParmParse &pp)
 

Static Public Attributes

static constexpr const char * name = "flame"
 

Protected Member Functions

void Initialize (int lev) override
 
void TimeStepBegin (Set::Scalar a_time, int a_iter) override
 
void TimeStepComplete (Set::Scalar a_time, int a_iter) override
 
void Advance (int lev, Set::Scalar time, Set::Scalar dt) override
 
void TagCellsForRefinement (int lev, amrex::TagBoxArray &tags, amrex::Real, int) override
 
void Regrid (int lev, Set::Scalar time) override
 
void Integrate (int amrlev, Set::Scalar time, int step, const amrex::MFIter &mfi, const amrex::Box &box) override
 
void UpdateModel (int a_step, Set::Scalar a_time) override
 
- Protected Member Functions inherited from Integrator::Integrator
void RegisterNewFab (Set::Field< Set::Scalar > &new_fab, BC::BC< Set::Scalar > *new_bc, int ncomp, int nghost, std::string name, bool writeout, bool evolving=true, std::vector< std::string > suffix={})
 
void RegisterNewFab (Set::Field< Set::Scalar > &new_fab, int ncomp, std::string name, bool writeout, bool evolving=true, std::vector< std::string > suffix={})
 
void RegisterNodalFab (Set::Field< Set::Scalar > &new_fab, int ncomp, int nghost, std::string name, bool writeout, bool evolving=true, 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, bool evolving=true, 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
 
- Protected Member Functions inherited from Integrator::Base::Mechanics< Model::Solid::Finite::NeoHookeanPredeformed >
void Initialize (int lev) override
 
void Advance (int lev, Set::Scalar time, Set::Scalar dt) override
 
void Integrate (int amrlev, Set::Scalar, int, const amrex::MFIter &mfi, const amrex::Box &a_box) override
 
void TagCellsForRefinement (int lev, amrex::TagBoxArray &a_tags, Set::Scalar, int) override
 

Private Types

using model_type = Model::Solid::Finite::NeoHookeanPredeformed
 

Private Attributes

Set::Field< Set::Scalartemp_mf
 
Set::Field< Set::Scalartemp_old_mf
 
Set::Field< Set::Scalartemps_mf
 
Set::Field< Set::Scalareta_mf
 
Set::Field< Set::Scalareta_old_mf
 
Set::Field< Set::Scalarmdot_mf
 
Set::Field< Set::Scalarphi_mf
 
Set::Field< Set::Scalarfield
 
Set::Field< Set::Scalaralpha_mf
 
Set::Field< Set::Scalarheatflux_mf
 
Set::Field< Set::Scalarlaser_mf
 
BC::BC< Set::Scalar > * bc_temp = nullptr
 
BC::BC< Set::Scalar > * bc_eta = nullptr
 
IC::IC< Set::Scalar > * ic_phi = nullptr
 
IC::IC< Set::Scalar > * ic_laser = nullptr
 
Set::Scalar phi_refinement_criterion = std::numeric_limits<Set::Scalar>::infinity()
 
Set::Scalar m_refinement_criterion = NAN
 
Set::Scalar t_refinement_criterion = NAN
 
Set::Scalar t_refinement_restriction = NAN
 
Set::Scalar small = NAN
 
IC::IC< Set::Scalar > * ic_eta = nullptr
 
bool plot_field = true
 
int variable_pressure = -1
 
struct { 
 
   Set::Scalar   eps = NAN 
 
   Set::Scalar   lambda = NAN 
 
   Set::Scalar   kappa = NAN 
 
   Set::Scalar   w1 = NAN 
 
   Set::Scalar   w12 = NAN 
 
   Set::Scalar   w0 = NAN 
 
   Set::Scalar   min_eta = 0.001 
 
pf 
 
struct { 
 
   bool   on = 0 
 
   Set::Scalar   hc = NAN 
 
   Set::Scalar   w1 = NAN 
 
   Set::Scalar   Tref = NAN 
 
   Set::Scalar   Tfluid = NAN 
 
   IC::IC< Set::Scalar > *   ic_temp = nullptr 
 
thermal 
 
struct { 
 
   int   on = 0 
 
   Set::Scalar   Telastic = NAN 
 
   model_type   model_ap 
 
   model_type   model_htpb 
 
   Set::Scalar   traction = NAN 
 
   int   phirefinement = -1 
 
elastic 
 
struct { 
 
   Set::Scalar   volume = 0.0 
 
   Set::Scalar   area = 0.0 
 
   Set::Scalar   massflux = 0.0 
 
   Set::Scalar   pressure = NAN 
 
chamber 
 
Model::Propellant::Propellant< Model::Propellant::PowerLaw, Model::Propellant::FullFeedback, Model::Propellant::Homogenizepropellant
 

Additional Inherited Members

- Public Types inherited from Integrator::Base::Mechanics< Model::Solid::Finite::NeoHookeanPredeformed >
enum  Type
 
- Protected Types inherited from Integrator::Base::Mechanics< Model::Solid::Finite::NeoHookeanPredeformed >
typedef Set::Matrix4< AMREX_SPACEDIM, MODEL::sym > MATRIX4
 
- 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 
 
   std::vector< bool >   evolving_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 
 
   std::vector< bool >   evolving_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
 
- Protected Attributes inherited from Integrator::Base::Mechanics< Model::Solid::Finite::NeoHookeanPredeformed >
Set::Field< Model::Solid::Finite::NeoHookeanPredeformedmodel_mf
 
Set::Field< MATRIX4ddw_mf
 
Set::Field< Set::Scalarpsi_mf
 
bool psi_on
 
int m_interval
 
Type m_type
 
Set::Field< Set::Vectordisp_mf
 
Set::Field< Set::Vectorrhs_mf
 
Set::Field< Set::Vectorres_mf
 
Set::Field< Set::Matrixstress_mf
 
Set::Field< Set::Matrixstrain_mf
 
Set::Field< Set::Vectordisp_old_mf
 
Set::Field< Set::Vectorvel_mf
 
Set::Field< Set::Vectorvel_old_mf
 
Set::Scalar rho
 
Set::Scalar mu_dashpot
 
Set::Scalar mu_newton
 
Set::Vector trac_hi [AMREX_SPACEDIM]
 
Set::Vector disp_hi [AMREX_SPACEDIM]
 
IC::IC< Set::Vector > * ic_rhs
 
IC::IC< Set::Vector > * velocity_ic
 
Solver::Nonlocal::Newton< Model::Solid::Finite::NeoHookeanPredeformedsolver
 
BC::Operator::Elastic::Elasticbc
 
Set::Scalar m_elastic_ref_threshold
 
bool m_print_model
 
bool m_print_residual
 
bool m_time_evolving
 
int m_max_coarsening_level
 
bool m_zero_out_displacement
 
bool plot_disp
 
bool plot_stress
 
bool plot_strain
 
bool plot_psi
 
bool plot_rhs
 
Set::Scalar tstart
 

Detailed Description

Definition at line 22 of file Flame.H.

Member Typedef Documentation

◆ model_type

Definition at line 26 of file Flame.H.

Constructor & Destructor Documentation

◆ Flame() [1/2]

Integrator::Flame::Flame ( )

Definition at line 23 of file Flame.cpp.

◆ Flame() [2/2]

Integrator::Flame::Flame ( IO::ParmParse pp)

Definition at line 25 of file Flame.cpp.

◆ ~Flame()

virtual Integrator::Flame::~Flame ( )
inlinevirtual

Definition at line 38 of file Flame.H.

Member Function Documentation

◆ Advance()

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

Implements Integrator::Integrator.

Definition at line 354 of file Flame.cpp.

◆ Forbids()

void Integrator::Flame::Forbids ( IO::ParmParse pp)
static

Definition at line 32 of file Flame.cpp.

◆ Initialize()

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

Implements Integrator::Integrator.

Definition at line 231 of file Flame.cpp.

◆ Integrate()

void Integrator::Flame::Integrate ( int  amrlev,
Set::Scalar  time,
int  step,
const amrex::MFIter &  mfi,
const amrex::Box &  box 
)
overrideprotectedvirtual

Reimplemented from Integrator::Integrator.

Definition at line 577 of file Flame.cpp.

◆ Parse()

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

Definition at line 88 of file Flame.cpp.

◆ Regrid()

void Integrator::Flame::Regrid ( int  lev,
Set::Scalar  time 
)
overrideprotectedvirtual

Reimplemented from Integrator::Integrator.

Definition at line 568 of file Flame.cpp.

◆ TagCellsForRefinement()

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

Implements Integrator::Integrator.

Definition at line 509 of file Flame.cpp.

◆ TimeStepBegin()

void Integrator::Flame::TimeStepBegin ( Set::Scalar  a_time,
int  a_iter 
)
overrideprotectedvirtual

Reimplemented from Integrator::Integrator.

Definition at line 332 of file Flame.cpp.

◆ TimeStepComplete()

void Integrator::Flame::TimeStepComplete ( Set::Scalar  a_time,
int  a_iter 
)
overrideprotectedvirtual

Reimplemented from Integrator::Integrator.

Definition at line 342 of file Flame.cpp.

◆ UpdateModel()

void Integrator::Flame::UpdateModel ( int  a_step,
Set::Scalar  a_time 
)
overrideprotectedvirtual

Field Documentation

◆ alpha_mf

Set::Field<Set::Scalar> Integrator::Flame::alpha_mf
private

Definition at line 70 of file Flame.H.

◆ area

Set::Scalar Integrator::Flame::area = 0.0

Definition at line 120 of file Flame.H.

◆ bc_eta

BC::BC<Set::Scalar>* Integrator::Flame::bc_eta = nullptr
private

Definition at line 76 of file Flame.H.

◆ bc_temp

BC::BC<Set::Scalar>* Integrator::Flame::bc_temp = nullptr
private

Definition at line 75 of file Flame.H.

◆ [struct]

struct { ... } Integrator::Flame::chamber

◆ [struct]

struct { ... } Integrator::Flame::elastic

◆ eps

Set::Scalar Integrator::Flame::eps = NAN

Definition at line 91 of file Flame.H.

◆ eta_mf

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

Definition at line 64 of file Flame.H.

◆ eta_old_mf

Set::Field<Set::Scalar> Integrator::Flame::eta_old_mf
private

Definition at line 65 of file Flame.H.

◆ field

Set::Field<Set::Scalar> Integrator::Flame::field
private

Definition at line 69 of file Flame.H.

◆ hc

Set::Scalar Integrator::Flame::hc = NAN

Definition at line 101 of file Flame.H.

◆ heatflux_mf

Set::Field<Set::Scalar> Integrator::Flame::heatflux_mf
private

Definition at line 71 of file Flame.H.

◆ ic_eta

IC::IC<Set::Scalar>* Integrator::Flame::ic_eta = nullptr
private

Definition at line 85 of file Flame.H.

◆ ic_laser

IC::IC<Set::Scalar>* Integrator::Flame::ic_laser = nullptr
private

Definition at line 78 of file Flame.H.

◆ ic_phi

IC::IC<Set::Scalar>* Integrator::Flame::ic_phi = nullptr
private

Definition at line 77 of file Flame.H.

◆ ic_temp

IC::IC<Set::Scalar>* Integrator::Flame::ic_temp = nullptr

Definition at line 104 of file Flame.H.

◆ kappa

Set::Scalar Integrator::Flame::kappa = NAN

Definition at line 93 of file Flame.H.

◆ lambda

Set::Scalar Integrator::Flame::lambda = NAN

Definition at line 92 of file Flame.H.

◆ laser_mf

Set::Field<Set::Scalar> Integrator::Flame::laser_mf
private

Definition at line 73 of file Flame.H.

◆ m_refinement_criterion

Set::Scalar Integrator::Flame::m_refinement_criterion = NAN
private

Definition at line 81 of file Flame.H.

◆ massflux

Set::Scalar Integrator::Flame::massflux = 0.0

Definition at line 121 of file Flame.H.

◆ mdot_mf

Set::Field<Set::Scalar> Integrator::Flame::mdot_mf
private

Definition at line 66 of file Flame.H.

◆ min_eta

Set::Scalar Integrator::Flame::min_eta = 0.001

Definition at line 95 of file Flame.H.

◆ model_ap

model_type Integrator::Flame::model_ap

Definition at line 111 of file Flame.H.

◆ model_htpb

model_type Integrator::Flame::model_htpb

Definition at line 111 of file Flame.H.

◆ name

constexpr const char* Integrator::Flame::name = "flame"
staticconstexpr

Definition at line 29 of file Flame.H.

◆ on [1/2]

bool Integrator::Flame::on = 0

Definition at line 100 of file Flame.H.

◆ on [2/2]

int Integrator::Flame::on = 0

Definition at line 109 of file Flame.H.

◆ [struct]

struct { ... } Integrator::Flame::pf

◆ phi_mf

Set::Field<Set::Scalar> Integrator::Flame::phi_mf
private

Definition at line 68 of file Flame.H.

◆ phi_refinement_criterion

Set::Scalar Integrator::Flame::phi_refinement_criterion = std::numeric_limits<Set::Scalar>::infinity()
private

Definition at line 80 of file Flame.H.

◆ phirefinement

int Integrator::Flame::phirefinement = -1

Definition at line 113 of file Flame.H.

◆ plot_field

bool Integrator::Flame::plot_field = true
private

Definition at line 86 of file Flame.H.

◆ pressure

Set::Scalar Integrator::Flame::pressure = NAN

Definition at line 123 of file Flame.H.

◆ propellant

Definition at line 131 of file Flame.H.

◆ small

Set::Scalar Integrator::Flame::small = NAN
private

Definition at line 84 of file Flame.H.

◆ t_refinement_criterion

Set::Scalar Integrator::Flame::t_refinement_criterion = NAN
private

Definition at line 82 of file Flame.H.

◆ t_refinement_restriction

Set::Scalar Integrator::Flame::t_refinement_restriction = NAN
private

Definition at line 83 of file Flame.H.

◆ Telastic

Set::Scalar Integrator::Flame::Telastic = NAN

Definition at line 110 of file Flame.H.

◆ temp_mf

Set::Field<Set::Scalar> Integrator::Flame::temp_mf
private

Definition at line 60 of file Flame.H.

◆ temp_old_mf

Set::Field<Set::Scalar> Integrator::Flame::temp_old_mf
private

Definition at line 61 of file Flame.H.

◆ temps_mf

Set::Field<Set::Scalar> Integrator::Flame::temps_mf
private

Definition at line 62 of file Flame.H.

◆ Tfluid

Set::Scalar Integrator::Flame::Tfluid = NAN

Definition at line 103 of file Flame.H.

◆ [struct]

struct { ... } Integrator::Flame::thermal

◆ traction

Set::Scalar Integrator::Flame::traction = NAN

Definition at line 112 of file Flame.H.

◆ Tref

Set::Scalar Integrator::Flame::Tref = NAN

Definition at line 102 of file Flame.H.

◆ variable_pressure

int Integrator::Flame::variable_pressure = -1
private

Definition at line 87 of file Flame.H.

◆ volume

Set::Scalar Integrator::Flame::volume = 0.0

Definition at line 119 of file Flame.H.

◆ w0

Set::Scalar Integrator::Flame::w0 = NAN

Definition at line 94 of file Flame.H.

◆ w1

Set::Scalar Integrator::Flame::w1 = NAN

Definition at line 94 of file Flame.H.

◆ w12

Set::Scalar Integrator::Flame::w12 = NAN

Definition at line 94 of file Flame.H.


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