Alamo
Public Member Functions | Protected Member Functions | Private Attributes
Integrator::Fracture Class Reference
Inheritance diagram for Integrator::Fracture:
[legend]
Collaboration diagram for Integrator::Fracture:
[legend]

Public Member Functions

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

Protected Member Functions

void Initialize (int ilev) override
 
void TimeStepBegin (Set::Scalar, int) override
 
void Advance (int lev, Set::Scalar, Set::Scalar dt) override
 
void TagCellsForRefinement (int lev, amrex::TagBoxArray &a_tags, amrex::Real, int) override
 
void Integrate (int amrlev, Set::Scalar, int, const amrex::MFIter &mfi, const amrex::Box &box) override
 
void TimeStepComplete (amrex::Real, 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)
 
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
 

Private Attributes

int number_of_ghost_nodes = 2
 
int number_of_materials = 1
 
int nlevels
 
struct {
   Set::Field< Set::Scalar >   disp_mf
 
   Set::Field< Set::Scalar >   strain_mf
 
   Set::Field< Set::Scalar >   stress_mf
 
   Set::Field< Set::Scalar >   rhs_mf
 
   Set::Field< Set::Scalar >   residual_mf
 
   Set::Field< Set::Scalar >   energy_mf
 
   Set::Field< Set::Scalar >   energy_pristine_mf
 
   Set::Field< Set::Scalar >   energy_pristine_old_mf
 
   Set::Scalar   int_energy = 0.0
 
   BC::Operator::Elastic::Constant   brittlebc
 
   Set::Scalar   df_mult = 1.0
 
   bool   do_solve_now = false
 
   int   interval = 0
 
   Set::Scalar   omega = 2./3.
 
elastic
 
struct {
   Set::Field< Set::Scalar >   c_mf
 
   Set::Field< Set::Scalar >   c_old_mf
 
   Set::Field< Set::Scalar >   driving_force_mf
 
   Set::Scalar   int_crack = 0.0
 
   Set::Scalar   driving_force_reference = 1.0
 
   Set::Scalar   driving_force_norm = 0.0
 
   Set::Scalar   driving_force_norminf = 0.0
 
   Set::Scalar   driving_force_tolerance_rel = 1E-4
 
   Set::Scalar   driving_force_tolerance_abs = 0.0
 
   Model::Interface::Crack::Constant   cracktype
 
   amrex::Vector< std::string >   ic_type
 
   amrex::Vector< IC::IC * >   ic
 
   bool   is_ic = false
 
   Set::Scalar   scaleModulusMax = 0.02
 
   Set::Scalar   refinement_threshold = 0.001
 
   Set::Scalar   mult_df_Gc = 1.0
 
   Set::Scalar   mult_df_lap = 1.0
 
   Set::Scalar   beta = 0.0
 
crack
 
struct {
   amrex::Vector< brittle_fracture_model_type_test >   brittlemodeltype
 
   Set::Field< Set::Scalar >   material_mf
 
   Set::Field< brittle_fracture_model_type_test >   model_mf
 
   std::string   input_material = "isotropic"
 
   Set::Scalar   refinement_threshold = 0.1
 
   IC::IC *   ic
 
   std::string   ic_type
 
   bool   is_ic = false
 
material
 
struct {
   Set::Vector   body_force = Set::Vector::Zero()
 
   Set::Scalar   val = 0.
 
loading
 

Additional Inherited Members

- 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

Definition at line 46 of file Fracture.H.

Constructor & Destructor Documentation

◆ Fracture()

Integrator::Fracture::Fracture ( )
inline

Definition at line 50 of file Fracture.H.

Here is the call graph for this function:

Member Function Documentation

◆ Advance()

void Integrator::Fracture::Advance ( int  lev,
Set::Scalar  ,
Set::Scalar  dt 
)
inlineoverrideprotectedvirtual

Implements Integrator::Integrator.

Definition at line 388 of file Fracture.H.

Here is the call graph for this function:

◆ Initialize()

void Integrator::Fracture::Initialize ( int  ilev)
inlineoverrideprotectedvirtual

Implements Integrator::Integrator.

Definition at line 189 of file Fracture.H.

◆ Integrate()

void Integrator::Fracture::Integrate ( int  amrlev,
Set::Scalar  ,
int  ,
const amrex::MFIter &  mfi,
const amrex::Box &  box 
)
inlineoverrideprotectedvirtual

Reimplemented from Integrator::Integrator.

Definition at line 506 of file Fracture.H.

◆ TagCellsForRefinement()

void Integrator::Fracture::TagCellsForRefinement ( int  lev,
amrex::TagBoxArray &  a_tags,
amrex::Real  ,
int   
)
inlineoverrideprotectedvirtual

Implements Integrator::Integrator.

Definition at line 482 of file Fracture.H.

Here is the call graph for this function:

◆ TimeStepBegin()

void Integrator::Fracture::TimeStepBegin ( Set::Scalar  ,
int   
)
inlineoverrideprotectedvirtual

Reimplemented from Integrator::Integrator.

Definition at line 221 of file Fracture.H.

Here is the call graph for this function:

◆ TimeStepComplete()

void Integrator::Fracture::TimeStepComplete ( amrex::Real  ,
int   
)
inlineoverrideprotectedvirtual

Reimplemented from Integrator::Integrator.

Definition at line 523 of file Fracture.H.

Field Documentation

◆ beta

Set::Scalar Integrator::Fracture::beta = 0.0

Definition at line 579 of file Fracture.H.

◆ body_force

Set::Vector Integrator::Fracture::body_force = Set::Vector::Zero()

Definition at line 595 of file Fracture.H.

◆ brittlebc

BC::Operator::Elastic::Constant Integrator::Fracture::brittlebc

elastic BC if using brittle fracture

Definition at line 549 of file Fracture.H.

◆ brittlemodeltype

amrex::Vector<brittle_fracture_model_type_test> Integrator::Fracture::brittlemodeltype

Definition at line 583 of file Fracture.H.

◆ c_mf

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

crack field at current time step

Definition at line 559 of file Fracture.H.

◆ c_old_mf

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

crack field at previous time step

Definition at line 560 of file Fracture.H.

◆ crack

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

◆ cracktype

Model::Interface::Crack::Constant Integrator::Fracture::cracktype

type of crack. See Crack/Constant or Crack/Sin

Definition at line 569 of file Fracture.H.

◆ df_mult

Set::Scalar Integrator::Fracture::df_mult = 1.0

mulitplier for elastic driving force.

Definition at line 550 of file Fracture.H.

◆ disp_mf

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

displacement field

Definition at line 539 of file Fracture.H.

◆ do_solve_now

bool Integrator::Fracture::do_solve_now = false

Definition at line 551 of file Fracture.H.

◆ driving_force_mf

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

crack driving forces.

Definition at line 561 of file Fracture.H.

◆ driving_force_norm

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

Definition at line 564 of file Fracture.H.

◆ driving_force_norminf

Set::Scalar Integrator::Fracture::driving_force_norminf = 0.0

Definition at line 565 of file Fracture.H.

◆ driving_force_reference

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

Definition at line 563 of file Fracture.H.

◆ driving_force_tolerance_abs

Set::Scalar Integrator::Fracture::driving_force_tolerance_abs = 0.0

Definition at line 567 of file Fracture.H.

◆ driving_force_tolerance_rel

Set::Scalar Integrator::Fracture::driving_force_tolerance_rel = 1E-4

Definition at line 566 of file Fracture.H.

◆ elastic

struct { ... } Integrator::Fracture::elastic

◆ energy_mf

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

total elastic energy

Definition at line 544 of file Fracture.H.

◆ energy_pristine_mf

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

energy of the prisitne material as if no crack is present

Definition at line 545 of file Fracture.H.

◆ energy_pristine_old_mf

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

energy of the pristine material for previous time step.

Definition at line 546 of file Fracture.H.

◆ ic [1/2]

amrex::Vector<IC::IC*> Integrator::Fracture::ic

crack IC. See IC/Notch and IC/Ellipsoid

Definition at line 571 of file Fracture.H.

◆ ic [2/2]

IC::IC* Integrator::Fracture::ic

Definition at line 589 of file Fracture.H.

◆ ic_type [1/2]

amrex::Vector<std::string> Integrator::Fracture::ic_type

crack IC type. See IC/Notch and IC/Ellipsoid

Definition at line 570 of file Fracture.H.

◆ ic_type [2/2]

std::string Integrator::Fracture::ic_type

Definition at line 590 of file Fracture.H.

◆ input_material

std::string Integrator::Fracture::input_material = "isotropic"

Definition at line 586 of file Fracture.H.

◆ int_crack

Set::Scalar Integrator::Fracture::int_crack = 0.0

integrated crack field over the entire domain.

Definition at line 562 of file Fracture.H.

◆ int_energy

Set::Scalar Integrator::Fracture::int_energy = 0.0

integrated energy over the entire domain.

Definition at line 547 of file Fracture.H.

◆ interval

int Integrator::Fracture::interval = 0

Definition at line 552 of file Fracture.H.

◆ is_ic

bool Integrator::Fracture::is_ic = false

Definition at line 572 of file Fracture.H.

◆ loading

struct { ... } Integrator::Fracture::loading

◆ material

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

◆ material_mf

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

Definition at line 584 of file Fracture.H.

◆ model_mf

Set::Field<brittle_fracture_model_type_test> Integrator::Fracture::model_mf

Definition at line 585 of file Fracture.H.

◆ mult_df_Gc

Set::Scalar Integrator::Fracture::mult_df_Gc = 1.0

Multiplier for Gc/zeta term.

Definition at line 577 of file Fracture.H.

◆ mult_df_lap

Set::Scalar Integrator::Fracture::mult_df_lap = 1.0

Multiplier for the laplacian term.

Definition at line 578 of file Fracture.H.

◆ nlevels

int Integrator::Fracture::nlevels
private

Definition at line 536 of file Fracture.H.

◆ number_of_ghost_nodes

int Integrator::Fracture::number_of_ghost_nodes = 2
private

Number of ghost nodes.

Definition at line 534 of file Fracture.H.

◆ number_of_materials

int Integrator::Fracture::number_of_materials = 1
private

Definition at line 535 of file Fracture.H.

◆ omega

Set::Scalar Integrator::Fracture::omega = 2./3.

Definition at line 553 of file Fracture.H.

◆ refinement_threshold

Set::Scalar Integrator::Fracture::refinement_threshold = 0.001

Definition at line 575 of file Fracture.H.

◆ residual_mf

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

residual field for solver

Definition at line 543 of file Fracture.H.

◆ rhs_mf

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

rhs fab for elastic solution

Definition at line 542 of file Fracture.H.

◆ scaleModulusMax

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

material modulus ratio inside crack (default = 0.02).

Definition at line 574 of file Fracture.H.

◆ strain_mf

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

total strain field (gradient of displacement)

Definition at line 540 of file Fracture.H.

◆ stress_mf

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

stress field

Definition at line 541 of file Fracture.H.

◆ val

Set::Scalar Integrator::Fracture::val = 0.

Definition at line 596 of file Fracture.H.


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