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

#include <Fracture.H>

Inheritance diagram for Integrator::Fracture:
Integrator::Base::Mechanics< brittle_model > Integrator::Integrator

Public Member Functions

 Fracture ()
 
 Fracture (IO::ParmParse &pp)
 
void Initialize (int lev) override
 
virtual void UpdateModel (int a_step, Set::Scalar) override
 
void TimeStepBegin (Set::Scalar, int a_step) override
 
void Advance (int a_lev, amrex::Real a_time, amrex::Real a_dt) override
 
void TagCellsForRefinement (int lev, amrex::TagBoxArray &a_tags, Set::Scalar a_time, int a_ngrow) override
 
void Integrate (int amrlev, Set::Scalar time, int step, const amrex::MFIter &mfi, const amrex::Box &a_box) override
 
void TimeStepComplete (Set::Scalar, int) override
 
- Public Member Functions inherited from Integrator::Base::Mechanics< brittle_model >
 Mechanics ()
 
 ~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, 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 (Fracture &value, IO::ParmParse &pp)
 
- Static Public Member Functions inherited from Integrator::Base::Mechanics< brittle_model >
static void Parse (Mechanics &value, IO::ParmParse &pp)
 

Static Public Attributes

static constexpr const char * name = "fracture"
 

Protected Attributes

struct { 
 
   Set::Field< Set::Scalar >   c_mf 
 
   Set::Field< Set::Scalar >   c_old_mf 
 
   Set::Field< Set::Scalar >   energy_pristine_mf 
 
   Set::Field< Set::Scalar >   history_var_mf 
 
   Set::Field< Set::Scalar >   driving_force_mf 
 
   std::vector< pfczm_crack_type >   cracktype 
 
   std::vector< std::string >   ic_type 
 
   std::vector< IC::IC< Set::Scalar > * >   ic 
 
   bool   is_ic = true 
 
   Set::Scalar   scaleModulusMax = 0.02 
 
   Set::Scalar   refinement_threshold = NAN 
 
   Set::Scalar   mult_lap = NAN 
 
   Set::Scalar   mult_Gc = NAN 
 
   Set::Scalar   el_mult = NAN 
 
   Set::Scalar   driving_force_reference = 1.0 
 
   Set::Scalar   driving_force_reference_prev = 1.0 
 
   Set::Scalar   driving_force_norm = 0.0 
 
   Set::Scalar   driving_force_refinement_threshold = NAN 
 
   Set::Scalar   tol_rel = NAN 
 
   Set::Scalar   tol_abs = NAN 
 
   Set::Scalar   max_iter = NAN 
 
   Set::Scalar   crack_l2_err = 0.0 
 
   Set::Scalar   crack_norm = 0.0 
 
   Set::Scalar   crack_prop_iter = 0 
 
   Set::Scalar   beta = NAN 
 
crack 
 
struct { 
 
   Set::Field< Set::Scalar >   eta_mf 
 
   Set::Scalar   m_eta_ref_threshold = 0.01 
 
   std::vector< brittle_model >   models 
 
   IC::IC< Set::Scalar > *   ic 
 
   bool   is_ic = false 
 
   int   num_mat = 1 
 
material 
 
bool elastic_do_solve_now = true
 
bool increase_load_step = true
 
bool set_initial_df_once = false
 
bool set_new_reference = true
 
int loadstep = 0
 
BC::BC< Set::Scalar > * bc_psi = nullptr
 
- Protected Attributes inherited from Integrator::Base::Mechanics< brittle_model >
Set::Field< brittle_modelmodel_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< brittle_modelsolver
 
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
 
- 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
 

Additional Inherited Members

- Public Types inherited from Integrator::Base::Mechanics< brittle_model >
enum  Type
 
- Protected Types inherited from Integrator::Base::Mechanics< brittle_model >
typedef Set::Matrix4< AMREX_SPACEDIM, MODEL::sym > MATRIX4
 
- Protected Member Functions inherited from Integrator::Base::Mechanics< brittle_model >
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
 
- Protected Member Functions inherited from Integrator::Integrator
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, 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
 

Detailed Description

Definition at line 75 of file Fracture.H.

Constructor & Destructor Documentation

◆ Fracture() [1/2]

Integrator::Fracture::Fracture ( )
inline

Definition at line 79 of file Fracture.H.

◆ Fracture() [2/2]

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

Definition at line 81 of file Fracture.H.

Member Function Documentation

◆ Advance()

void Integrator::Fracture::Advance ( int  a_lev,
amrex::Real  a_time,
amrex::Real  a_dt 
)
inlineoverridevirtual

Implements Integrator::Integrator.

Definition at line 496 of file Fracture.H.

◆ Initialize()

void Integrator::Fracture::Initialize ( int  lev)
inlineoverridevirtual

Implements Integrator::Integrator.

Definition at line 152 of file Fracture.H.

◆ Integrate()

void Integrator::Fracture::Integrate ( int  amrlev,
Set::Scalar  time,
int  step,
const amrex::MFIter &  mfi,
const amrex::Box &  a_box 
)
inlineoverridevirtual

Reimplemented from Integrator::Integrator.

Definition at line 688 of file Fracture.H.

◆ Parse()

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

Definition at line 87 of file Fracture.H.

◆ TagCellsForRefinement()

void Integrator::Fracture::TagCellsForRefinement ( int  lev,
amrex::TagBoxArray &  a_tags,
Set::Scalar  a_time,
int  a_ngrow 
)
inlineoverridevirtual

Implements Integrator::Integrator.

Definition at line 624 of file Fracture.H.

◆ TimeStepBegin()

void Integrator::Fracture::TimeStepBegin ( Set::Scalar  ,
int  a_step 
)
inlineoverridevirtual

Reimplemented from Integrator::Base::Mechanics< brittle_model >.

Definition at line 234 of file Fracture.H.

◆ TimeStepComplete()

void Integrator::Fracture::TimeStepComplete ( Set::Scalar  ,
int   
)
inlineoverridevirtual

Reimplemented from Integrator::Integrator.

Definition at line 703 of file Fracture.H.

◆ UpdateModel()

virtual void Integrator::Fracture::UpdateModel ( int  a_step,
Set::Scalar   
)
inlineoverridevirtual

Implements Integrator::Base::Mechanics< brittle_model >.

Definition at line 186 of file Fracture.H.

Field Documentation

◆ bc_psi

BC::BC<Set::Scalar>* Integrator::Fracture::bc_psi = nullptr
protected

Definition at line 780 of file Fracture.H.

◆ beta

Set::Scalar Integrator::Fracture::beta = NAN

Definition at line 762 of file Fracture.H.

◆ c_mf

Set::Field<Set::Scalar> Integrator::Fracture::c_mf

Definition at line 733 of file Fracture.H.

◆ c_old_mf

Set::Field<Set::Scalar> Integrator::Fracture::c_old_mf

Definition at line 734 of file Fracture.H.

◆ [struct]

struct { ... } Integrator::Fracture::crack

◆ crack_l2_err

Set::Scalar Integrator::Fracture::crack_l2_err = 0.0

Definition at line 758 of file Fracture.H.

◆ crack_norm

Set::Scalar Integrator::Fracture::crack_norm = 0.0

Definition at line 759 of file Fracture.H.

◆ crack_prop_iter

Set::Scalar Integrator::Fracture::crack_prop_iter = 0

Definition at line 760 of file Fracture.H.

◆ cracktype

std::vector<pfczm_crack_type> Integrator::Fracture::cracktype

Definition at line 738 of file Fracture.H.

◆ driving_force_mf

Set::Field<Set::Scalar> Integrator::Fracture::driving_force_mf

Definition at line 737 of file Fracture.H.

◆ driving_force_norm

Set::Scalar Integrator::Fracture::driving_force_norm = 0.0

Definition at line 752 of file Fracture.H.

◆ driving_force_reference

Set::Scalar Integrator::Fracture::driving_force_reference = 1.0

Definition at line 750 of file Fracture.H.

◆ driving_force_reference_prev

Set::Scalar Integrator::Fracture::driving_force_reference_prev = 1.0

Definition at line 751 of file Fracture.H.

◆ driving_force_refinement_threshold

Set::Scalar Integrator::Fracture::driving_force_refinement_threshold = NAN

Definition at line 753 of file Fracture.H.

◆ el_mult

Set::Scalar Integrator::Fracture::el_mult = NAN

Definition at line 748 of file Fracture.H.

◆ elastic_do_solve_now

bool Integrator::Fracture::elastic_do_solve_now = true
protected

Definition at line 774 of file Fracture.H.

◆ energy_pristine_mf

Set::Field<Set::Scalar> Integrator::Fracture::energy_pristine_mf

Definition at line 735 of file Fracture.H.

◆ eta_mf

Set::Field<Set::Scalar> Integrator::Fracture::eta_mf

Definition at line 766 of file Fracture.H.

◆ history_var_mf

Set::Field<Set::Scalar> Integrator::Fracture::history_var_mf

Definition at line 736 of file Fracture.H.

◆ ic [1/2]

std::vector<IC::IC<Set::Scalar> *> Integrator::Fracture::ic

Definition at line 741 of file Fracture.H.

◆ ic [2/2]

IC::IC<Set::Scalar>* Integrator::Fracture::ic

Definition at line 769 of file Fracture.H.

◆ ic_type

std::vector<std::string> Integrator::Fracture::ic_type

Definition at line 740 of file Fracture.H.

◆ increase_load_step

bool Integrator::Fracture::increase_load_step = true
protected

Definition at line 775 of file Fracture.H.

◆ is_ic

bool Integrator::Fracture::is_ic = true

Definition at line 742 of file Fracture.H.

◆ loadstep

int Integrator::Fracture::loadstep = 0
protected

Definition at line 778 of file Fracture.H.

◆ m_eta_ref_threshold

Set::Scalar Integrator::Fracture::m_eta_ref_threshold = 0.01

Definition at line 767 of file Fracture.H.

◆ [struct]

struct { ... } Integrator::Fracture::material

◆ max_iter

Set::Scalar Integrator::Fracture::max_iter = NAN

Definition at line 756 of file Fracture.H.

◆ models

std::vector<brittle_model> Integrator::Fracture::models

Definition at line 768 of file Fracture.H.

◆ mult_Gc

Set::Scalar Integrator::Fracture::mult_Gc = NAN

Definition at line 747 of file Fracture.H.

◆ mult_lap

Set::Scalar Integrator::Fracture::mult_lap = NAN

Definition at line 746 of file Fracture.H.

◆ name

constexpr const char* Integrator::Fracture::name = "fracture"
staticconstexpr

Definition at line 78 of file Fracture.H.

◆ num_mat

int Integrator::Fracture::num_mat = 1

Definition at line 771 of file Fracture.H.

◆ refinement_threshold

Set::Scalar Integrator::Fracture::refinement_threshold = NAN

Definition at line 745 of file Fracture.H.

◆ scaleModulusMax

Set::Scalar Integrator::Fracture::scaleModulusMax = 0.02

Definition at line 744 of file Fracture.H.

◆ set_initial_df_once

bool Integrator::Fracture::set_initial_df_once = false
protected

Definition at line 776 of file Fracture.H.

◆ set_new_reference

bool Integrator::Fracture::set_new_reference = true
protected

Definition at line 777 of file Fracture.H.

◆ tol_abs

Set::Scalar Integrator::Fracture::tol_abs = NAN

Definition at line 755 of file Fracture.H.

◆ tol_rel

Set::Scalar Integrator::Fracture::tol_rel = NAN

Definition at line 754 of file Fracture.H.


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