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

#include <ThermoElastic.H>

Inheritance diagram for Integrator::ThermoElastic:
Integrator::HeatConduction Integrator::Mechanics< Model::Solid::Affine::Isotropic > Integrator::Integrator Integrator::Base::Mechanics< MODEL > Integrator::Integrator

Public Member Functions

 ThermoElastic ()
 
 ~ThermoElastic ()=default
 
 ThermoElastic (IO::ParmParse &pp)
 
- Public Member Functions inherited from Integrator::HeatConduction
 HeatConduction (int a_nghost=2)
 
 HeatConduction (IO::ParmParse &pp)
 
virtual ~HeatConduction ()
 
- 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::Mechanics< Model::Solid::Affine::Isotropic >
 Mechanics ()
 
 Mechanics (IO::ParmParse &pp)
 
 ~Mechanics ()
 
void Initialize (int lev) override
 
void TagCellsForRefinement (int lev, amrex::TagBoxArray &a_tags, Set::Scalar a_time, int a_ngrow) override
 
void Regrid (int lev, Set::Scalar time) override
 
- Public Member Functions inherited from Integrator::Base::Mechanics< MODEL >
 Mechanics ()
 
 ~Mechanics ()
 

Static Public Member Functions

static void Parse (ThermoElastic &value, IO::ParmParse &pp)
 
- Static Public Member Functions inherited from Integrator::HeatConduction
static void Parse (HeatConduction &value, IO::ParmParse &pp)
 
- Static Public Member Functions inherited from Integrator::Mechanics< Model::Solid::Affine::Isotropic >
static void Parse (Mechanics &value, IO::ParmParse &pp)
 
- Static Public Member Functions inherited from Integrator::Base::Mechanics< MODEL >
static void Parse (Mechanics &value, IO::ParmParse &pp)
 

Static Public Attributes

static constexpr const char * name = "thermoelastic"
 
- Static Public Attributes inherited from Integrator::HeatConduction
static constexpr const char * name = "heatconduction"
 
- Static Public Attributes inherited from Integrator::Mechanics< Model::Solid::Affine::Isotropic >
static constexpr const char * name
 

Protected Member Functions

void Initialize (int lev) override
 
void UpdateModel (int a_step, Set::Scalar a_time) override
 
void TimeStepBegin (Set::Scalar a_time, int a_step) override
 
void Advance (int a_lev, amrex::Real a_time, amrex::Real a_dt) override
 
void TagCellsForRefinement (int a_lev, amrex::TagBoxArray &a_tags, Set::Scalar a_time, int a_ngrow) override
 
- Protected Member Functions inherited from Integrator::HeatConduction
void AdvanceSpectral (int, Set::Scalar, Set::Scalar)
 
- Protected Member Functions inherited from Integrator::Integrator
virtual void TimeStepComplete (Set::Scalar, int)
 
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
 
- Protected Member Functions inherited from Integrator::Base::Mechanics< MODEL >
void Integrate (int amrlev, Set::Scalar, int, const amrex::MFIter &mfi, const amrex::Box &a_box) override
 

Protected Attributes

std::vector< Set::Scalaralpha
 
- Protected Attributes inherited from Integrator::HeatConduction
Set::Field< Set::Scalartemp_mf
 
Set::Field< Set::Scalartemp_old_mf
 
std::string method
 
- 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
 
- Protected Attributes inherited from Integrator::Mechanics< Model::Solid::Affine::Isotropic >
Set::Field< Set::Scalareta_mf
 
Set::Scalar m_eta_ref_threshold
 
std::vector< Model::Solid::Affine::Isotropicmodels
 
IC::IC< Set::Scalar > * ic_eta
 
IC::IC< Set::Scalar > * ic_psi
 
IC::IC< Set::Scalar > * ic_trac_normal
 
BC::BC< Set::Scalar > * bc_psi
 
BC::BC< Set::Scalar > * bc_trac_normal
 
bool psi_reset_on_regrid
 
bool eta_reset_on_regrid
 
bool model_neumann_boundary
 
Set::Field< Set::Scalartrac_normal_mf
 
- Protected Attributes inherited from Integrator::Base::Mechanics< MODEL >
Set::Field< MODEL > model_mf
 
Set::Field< MATRIX4ddw_mf
 
Set::Field< Set::Scalarpsi_mf
 
bool psi_on = false
 
int m_interval = 0
 
Type m_type = Type::Static
 
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 = 1.0
 
Set::Scalar mu_dashpot = NAN
 
Set::Scalar mu_newton = NAN
 
Set::Vector trac_hi [AMREX_SPACEDIM]
 
Set::Vector disp_hi [AMREX_SPACEDIM]
 
IC::IC< Set::Vector > * ic_rhs = nullptr
 
IC::IC< Set::Vector > * velocity_ic = nullptr
 
Solver::Nonlocal::Newton< MODEL > solver
 
BC::Operator::Elastic::Elasticbc = nullptr
 
Set::Scalar m_elastic_ref_threshold = 0.01
 
bool m_print_model = false
 
bool m_print_residual = false
 
bool m_time_evolving = false
 
int m_max_coarsening_level = -1
 
bool m_zero_out_displacement = false
 
bool plot_disp = true
 
bool plot_stress = true
 
bool plot_strain = true
 
bool plot_psi = true
 
bool plot_rhs = true
 
Set::Scalar tstart = -1
 

Additional Inherited Members

- Public Types inherited from Integrator::Base::Mechanics< MODEL >
enum  Type { Static , Dynamic , Disable }
 
- Protected Types inherited from Integrator::Base::Mechanics< MODEL >
typedef Set::Matrix4< AMREX_SPACEDIM, MODEL::sym > MATRIX4
 

Detailed Description

Definition at line 11 of file ThermoElastic.H.

Constructor & Destructor Documentation

◆ ThermoElastic() [1/2]

Integrator::ThermoElastic::ThermoElastic ( )
inline

Definition at line 18 of file ThermoElastic.H.

◆ ~ThermoElastic()

Integrator::ThermoElastic::~ThermoElastic ( )
default

◆ ThermoElastic() [2/2]

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

Definition at line 25 of file ThermoElastic.H.

Member Function Documentation

◆ Advance()

void Integrator::ThermoElastic::Advance ( int  a_lev,
amrex::Real  a_time,
amrex::Real  a_dt 
)
inlineoverrideprotectedvirtual

Reimplemented from Integrator::HeatConduction.

Definition at line 79 of file ThermoElastic.H.

◆ Initialize()

void Integrator::ThermoElastic::Initialize ( int  lev)
inlineoverrideprotectedvirtual

Reimplemented from Integrator::HeatConduction.

Definition at line 36 of file ThermoElastic.H.

◆ Parse()

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

Definition at line 27 of file ThermoElastic.H.

◆ TagCellsForRefinement()

void Integrator::ThermoElastic::TagCellsForRefinement ( int  a_lev,
amrex::TagBoxArray &  a_tags,
Set::Scalar  a_time,
int  a_ngrow 
)
inlineoverrideprotectedvirtual

Reimplemented from Integrator::HeatConduction.

Definition at line 85 of file ThermoElastic.H.

◆ TimeStepBegin()

void Integrator::ThermoElastic::TimeStepBegin ( Set::Scalar  a_time,
int  a_step 
)
inlineoverrideprotectedvirtual

Reimplemented from Integrator::Integrator.

Definition at line 73 of file ThermoElastic.H.

◆ UpdateModel()

void Integrator::ThermoElastic::UpdateModel ( int  a_step,
Set::Scalar  a_time 
)
inlineoverrideprotectedvirtual

Reimplemented from Integrator::Mechanics< Model::Solid::Affine::Isotropic >.

Definition at line 42 of file ThermoElastic.H.

Field Documentation

◆ alpha

std::vector<Set::Scalar> Integrator::ThermoElastic::alpha
protected

Definition at line 91 of file ThermoElastic.H.

◆ name

constexpr const char* Integrator::ThermoElastic::name = "thermoelastic"
staticconstexpr

Definition at line 16 of file ThermoElastic.H.


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