Alamo
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
Integrator::Base::Mechanics< MODEL > Class Template Referenceabstract
Inheritance diagram for Integrator::Base::Mechanics< MODEL >:
[legend]
Collaboration diagram for Integrator::Base::Mechanics< MODEL >:
[legend]

Public Types

enum  Type { Static, Dynamic, Disable }
 

Public Member Functions

 Mechanics ()
 
- 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)
 

Static Public Member Functions

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

Protected Types

typedef Set::Matrix4< AMREX_SPACEDIM, MODEL::sym > MATRIX4
 

Protected Member Functions

void Initialize (int lev) override
 
virtual void UpdateModel (int a_step, Set::Scalar a_time)=0
 
virtual void TimeStepBegin (Set::Scalar a_time, int a_step) 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
 
- Protected Member Functions inherited from Integrator::Integrator
virtual void TimeStepComplete (Set::Scalar, int)
 
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
 

Protected Attributes

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::ICic_rhs = nullptr
 
BC::BC< Set::Scalar > * mybc
 
IC::ICvelocity_ic = nullptr
 
Solver::Nonlocal::Newton< MODEL > solver
 
BC::Operator::Elastic::Elasticbc
 
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
 
- 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

template<class MODEL>
class Integrator::Base::Mechanics< MODEL >

Definition at line 23 of file Mechanics.H.

Member Typedef Documentation

◆ MATRIX4

template<class MODEL >
typedef Set::Matrix4<AMREX_SPACEDIM,MODEL::sym> Integrator::Base::Mechanics< MODEL >::MATRIX4
protected

Definition at line 452 of file Mechanics.H.

Member Enumeration Documentation

◆ Type

template<class MODEL >
enum Integrator::Base::Mechanics::Type
Enumerator
Static 
Dynamic 
Disable 

Definition at line 27 of file Mechanics.H.

Constructor & Destructor Documentation

◆ Mechanics()

template<class MODEL >
Integrator::Base::Mechanics< MODEL >::Mechanics ( )
inline

Definition at line 29 of file Mechanics.H.

Member Function Documentation

◆ Advance()

template<class MODEL >
void Integrator::Base::Mechanics< MODEL >::Advance ( int  lev,
Set::Scalar  time,
Set::Scalar  dt 
)
inlineoverrideprotectedvirtual

Implements Integrator::Integrator.

Reimplemented in Integrator::TopOp< MODEL >.

Definition at line 238 of file Mechanics.H.

◆ Initialize()

template<class MODEL >
void Integrator::Base::Mechanics< MODEL >::Initialize ( int  lev)
inlineoverrideprotectedvirtual

Use the #ic object to initialize::Temp.

Implements Integrator::Integrator.

Reimplemented in Integrator::Mechanics< MODEL >, Integrator::Mechanics< Model::Solid::Affine::Isotropic >, and Integrator::TopOp< MODEL >.

Definition at line 140 of file Mechanics.H.

◆ Integrate()

template<class MODEL >
void Integrator::Base::Mechanics< MODEL >::Integrate ( int  amrlev,
Set::Scalar  ,
int  ,
const amrex::MFIter &  mfi,
const amrex::Box &  a_box 
)
inlineoverrideprotectedvirtual

Reimplemented from Integrator::Integrator.

Reimplemented in Integrator::TopOp< MODEL >.

Definition at line 377 of file Mechanics.H.

◆ Parse()

template<class MODEL >
static void Integrator::Base::Mechanics< MODEL >::Parse ( Mechanics< MODEL > &  value,
IO::ParmParse pp 
)
inlinestatic

Definition at line 34 of file Mechanics.H.

◆ TagCellsForRefinement()

template<class MODEL >
void Integrator::Base::Mechanics< MODEL >::TagCellsForRefinement ( int  lev,
amrex::TagBoxArray &  a_tags,
Set::Scalar  ,
int   
)
inlineoverrideprotectedvirtual

◆ TimeStepBegin()

template<class MODEL >
virtual void Integrator::Base::Mechanics< MODEL >::TimeStepBegin ( Set::Scalar  a_time,
int  a_step 
)
inlineoverrideprotectedvirtual

◆ UpdateModel()

template<class MODEL >
virtual void Integrator::Base::Mechanics< MODEL >::UpdateModel ( int  a_step,
Set::Scalar  a_time 
)
protectedpure virtual

Field Documentation

◆ bc

template<class MODEL >
BC::Operator::Elastic::Elastic* Integrator::Base::Mechanics< MODEL >::bc
protected

Definition at line 487 of file Mechanics.H.

◆ ddw_mf

template<class MODEL >
Set::Field<MATRIX4> Integrator::Base::Mechanics< MODEL >::ddw_mf
protected

Definition at line 454 of file Mechanics.H.

◆ disp_hi

template<class MODEL >
Set::Vector Integrator::Base::Mechanics< MODEL >::disp_hi[AMREX_SPACEDIM]
protected

Definition at line 478 of file Mechanics.H.

◆ disp_mf

template<class MODEL >
Set::Field<Set::Vector> Integrator::Base::Mechanics< MODEL >::disp_mf
protected

Definition at line 461 of file Mechanics.H.

◆ disp_old_mf

template<class MODEL >
Set::Field<Set::Vector> Integrator::Base::Mechanics< MODEL >::disp_old_mf
protected

Definition at line 468 of file Mechanics.H.

◆ ic_rhs

template<class MODEL >
IC::IC* Integrator::Base::Mechanics< MODEL >::ic_rhs = nullptr
protected

Definition at line 481 of file Mechanics.H.

◆ m_elastic_ref_threshold

template<class MODEL >
Set::Scalar Integrator::Base::Mechanics< MODEL >::m_elastic_ref_threshold = 0.01
protected

Definition at line 489 of file Mechanics.H.

◆ m_interval

template<class MODEL >
int Integrator::Base::Mechanics< MODEL >::m_interval = 0
protected

Definition at line 458 of file Mechanics.H.

◆ m_max_coarsening_level

template<class MODEL >
int Integrator::Base::Mechanics< MODEL >::m_max_coarsening_level = -1
protected

Definition at line 493 of file Mechanics.H.

◆ m_print_model

template<class MODEL >
bool Integrator::Base::Mechanics< MODEL >::m_print_model = false
protected

Definition at line 490 of file Mechanics.H.

◆ m_print_residual

template<class MODEL >
bool Integrator::Base::Mechanics< MODEL >::m_print_residual = false
protected

Definition at line 491 of file Mechanics.H.

◆ m_time_evolving

template<class MODEL >
bool Integrator::Base::Mechanics< MODEL >::m_time_evolving = false
protected

Definition at line 492 of file Mechanics.H.

◆ m_type

template<class MODEL >
Type Integrator::Base::Mechanics< MODEL >::m_type = Type::Static
protected

Definition at line 459 of file Mechanics.H.

◆ m_zero_out_displacement

template<class MODEL >
bool Integrator::Base::Mechanics< MODEL >::m_zero_out_displacement = false
protected

Definition at line 495 of file Mechanics.H.

◆ model_mf

template<class MODEL >
Set::Field<MODEL> Integrator::Base::Mechanics< MODEL >::model_mf
protected

Definition at line 453 of file Mechanics.H.

◆ mu_dashpot

template<class MODEL >
Set::Scalar Integrator::Base::Mechanics< MODEL >::mu_dashpot = NAN
protected

Definition at line 473 of file Mechanics.H.

◆ mu_newton

template<class MODEL >
Set::Scalar Integrator::Base::Mechanics< MODEL >::mu_newton = NAN
protected

Definition at line 474 of file Mechanics.H.

◆ mybc

template<class MODEL >
BC::BC<Set::Scalar>* Integrator::Base::Mechanics< MODEL >::mybc
protected

Definition at line 482 of file Mechanics.H.

◆ plot_disp

template<class MODEL >
bool Integrator::Base::Mechanics< MODEL >::plot_disp = true
protected

Definition at line 497 of file Mechanics.H.

◆ plot_psi

template<class MODEL >
bool Integrator::Base::Mechanics< MODEL >::plot_psi = true
protected

Definition at line 500 of file Mechanics.H.

◆ plot_rhs

template<class MODEL >
bool Integrator::Base::Mechanics< MODEL >::plot_rhs = true
protected

Definition at line 501 of file Mechanics.H.

◆ plot_strain

template<class MODEL >
bool Integrator::Base::Mechanics< MODEL >::plot_strain = true
protected

Definition at line 499 of file Mechanics.H.

◆ plot_stress

template<class MODEL >
bool Integrator::Base::Mechanics< MODEL >::plot_stress = true
protected

Definition at line 498 of file Mechanics.H.

◆ psi_mf

template<class MODEL >
Set::Field<Set::Scalar> Integrator::Base::Mechanics< MODEL >::psi_mf
protected

Definition at line 455 of file Mechanics.H.

◆ psi_on

template<class MODEL >
bool Integrator::Base::Mechanics< MODEL >::psi_on = false
protected

Definition at line 456 of file Mechanics.H.

◆ res_mf

template<class MODEL >
Set::Field<Set::Vector> Integrator::Base::Mechanics< MODEL >::res_mf
protected

Definition at line 463 of file Mechanics.H.

◆ rho

template<class MODEL >
Set::Scalar Integrator::Base::Mechanics< MODEL >::rho = 1.0
protected

Definition at line 472 of file Mechanics.H.

◆ rhs_mf

template<class MODEL >
Set::Field<Set::Vector> Integrator::Base::Mechanics< MODEL >::rhs_mf
protected

Definition at line 462 of file Mechanics.H.

◆ solver

template<class MODEL >
Solver::Nonlocal::Newton<MODEL> Integrator::Base::Mechanics< MODEL >::solver
protected

Definition at line 486 of file Mechanics.H.

◆ strain_mf

template<class MODEL >
Set::Field<Set::Matrix> Integrator::Base::Mechanics< MODEL >::strain_mf
protected

Definition at line 465 of file Mechanics.H.

◆ stress_mf

template<class MODEL >
Set::Field<Set::Matrix> Integrator::Base::Mechanics< MODEL >::stress_mf
protected

Definition at line 464 of file Mechanics.H.

◆ trac_hi

template<class MODEL >
Set::Vector Integrator::Base::Mechanics< MODEL >::trac_hi[AMREX_SPACEDIM]
protected

Definition at line 477 of file Mechanics.H.

◆ tstart

template<class MODEL >
Set::Scalar Integrator::Base::Mechanics< MODEL >::tstart = -1
protected

Definition at line 504 of file Mechanics.H.

◆ vel_mf

template<class MODEL >
Set::Field<Set::Vector> Integrator::Base::Mechanics< MODEL >::vel_mf
protected

Definition at line 469 of file Mechanics.H.

◆ vel_old_mf

template<class MODEL >
Set::Field<Set::Vector> Integrator::Base::Mechanics< MODEL >::vel_old_mf
protected

Definition at line 470 of file Mechanics.H.

◆ velocity_ic

template<class MODEL >
IC::IC* Integrator::Base::Mechanics< MODEL >::velocity_ic = nullptr
protected

Definition at line 484 of file Mechanics.H.


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