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

Public Member Functions

 SutureCrack ()
 
- 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 iter) 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)
 
void TimeStepComplete (amrex::Real, int)
 
- 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
 
   Set::Field< Set::Scalar >   strain
 
   Set::Field< Set::Scalar >   stress
 
   Set::Field< Set::Scalar >   rhs
 
   Set::Field< Set::Scalar >   residual
 
   Set::Field< Set::Scalar >   energy
 
   Set::Field< Set::Scalar >   energy_pristine
 
   Set::Field< Set::Scalar >   energy_pristine_old
 
   BC::Operator::Elastic::Constant   brittlebc
 
   Set::Scalar   df_mult = 1.0
 
   bool   do_solve_now = false
 
elastic
 
struct {
   Set::Field< Set::Scalar >   field
 
   Set::Field< Set::Scalar >   field_old
 
   Set::Field< Set::Scalar >   driving_force
 
   Set::Scalar   driving_force_reference = 1.0
 
   Set::Scalar   driving_force_norm = 0.0
 
   Set::Scalar   driving_force_tolerance_rel = 1E-4
 
   Set::Scalar   driving_force_tolerance_abs = 0.0
 
   Model::Interface::Crack::Crack *   cracktype
 
   std::string   ic_type
 
   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
 
crack
 
struct {
   suture_fracture_model_type   brittlemodeltype
 
   Set::Field< Set::Scalar >   modulus_field
 
   Set::Field< suture_fracture_model_type >   brittlemodel
 
   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::Scalar   bottom_tol = 1.0E-6
 
   int   interval = 100
 
   std::string   type = "single"
 
   int   max_iter = 1000
 
   int   max_fmg_iter = 0
 
   int   bottom_max_iter = 200
 
   int   max_fixed_iter = 500
 
   int   verbose = 3
 
   int   cgverbose = 3
 
   Set::Scalar   tol_rel = 1.0E-6
 
   Set::Scalar   tol_abs = 1.0E-6
 
   Set::Scalar   cg_tol_rel = 1.0E-6
 
   Set::Scalar   cg_tol_abs = 1.0E-6
 
   Set::Scalar   tstart = 0.0
 
   Set::Scalar   tend = 0.0
 
   std::string   bottom_solver = "bicgstab"
 
   int   linop_maxorder = 2
 
   bool   use_fsmooth = false
 
   int   max_coarsening_level = 0
 
   bool   agglomeration = true
 
   bool   consolidation = false
 
   int   pre_smooth = 2
 
   int   post_smooth = 2
 
sol
 
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 44 of file SutureCrack.H.

Constructor & Destructor Documentation

◆ SutureCrack()

Integrator::SutureCrack::SutureCrack ( )
inline

Definition at line 48 of file SutureCrack.H.

Here is the call graph for this function:

Member Function Documentation

◆ Advance()

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

Implements Integrator::Integrator.

Definition at line 330 of file SutureCrack.H.

Here is the call graph for this function:

◆ Initialize()

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

Implements Integrator::Integrator.

Definition at line 149 of file SutureCrack.H.

◆ Integrate()

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

Reimplemented from Integrator::Integrator.

Definition at line 444 of file SutureCrack.H.

◆ TagCellsForRefinement()

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

Implements Integrator::Integrator.

Definition at line 420 of file SutureCrack.H.

Here is the call graph for this function:

◆ TimeStepBegin()

void Integrator::SutureCrack::TimeStepBegin ( Set::Scalar  ,
int  iter 
)
inlineoverrideprotectedvirtual

Reimplemented from Integrator::Integrator.

Definition at line 178 of file SutureCrack.H.

Here is the call graph for this function:

◆ TimeStepComplete()

void Integrator::SutureCrack::TimeStepComplete ( amrex::Real  ,
int   
)
inlineprotectedvirtual

Reimplemented from Integrator::Integrator.

Definition at line 457 of file SutureCrack.H.

Field Documentation

◆ agglomeration

bool Integrator::SutureCrack::agglomeration = true

Definition at line 539 of file SutureCrack.H.

◆ body_force

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

Definition at line 546 of file SutureCrack.H.

◆ bottom_max_iter

int Integrator::SutureCrack::bottom_max_iter = 200

Definition at line 525 of file SutureCrack.H.

◆ bottom_solver

std::string Integrator::SutureCrack::bottom_solver = "bicgstab"

Definition at line 535 of file SutureCrack.H.

◆ bottom_tol

Set::Scalar Integrator::SutureCrack::bottom_tol = 1.0E-6

Definition at line 520 of file SutureCrack.H.

◆ brittlebc

BC::Operator::Elastic::Constant Integrator::SutureCrack::brittlebc

elastic BC if using brittle fracture

Definition at line 481 of file SutureCrack.H.

◆ brittlemodel

Set::Field<suture_fracture_model_type> Integrator::SutureCrack::brittlemodel

Definition at line 510 of file SutureCrack.H.

◆ brittlemodeltype

suture_fracture_model_type Integrator::SutureCrack::brittlemodeltype

Definition at line 508 of file SutureCrack.H.

◆ cg_tol_abs

Set::Scalar Integrator::SutureCrack::cg_tol_abs = 1.0E-6

Definition at line 532 of file SutureCrack.H.

◆ cg_tol_rel

Set::Scalar Integrator::SutureCrack::cg_tol_rel = 1.0E-6

Definition at line 531 of file SutureCrack.H.

◆ cgverbose

int Integrator::SutureCrack::cgverbose = 3

Definition at line 528 of file SutureCrack.H.

◆ consolidation

bool Integrator::SutureCrack::consolidation = false

Definition at line 540 of file SutureCrack.H.

◆ crack

struct { ... } Integrator::SutureCrack::crack

◆ cracktype

Model::Interface::Crack::Crack* Integrator::SutureCrack::cracktype

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

Definition at line 495 of file SutureCrack.H.

◆ df_mult

Set::Scalar Integrator::SutureCrack::df_mult = 1.0

mulitplier for elastic driving force.

Definition at line 482 of file SutureCrack.H.

◆ disp

Set::Field<Set::Scalar> Integrator::SutureCrack::disp

displacement field

Definition at line 472 of file SutureCrack.H.

◆ do_solve_now

bool Integrator::SutureCrack::do_solve_now = false

Definition at line 483 of file SutureCrack.H.

◆ driving_force

Set::Field<Set::Scalar> Integrator::SutureCrack::driving_force

crack driving forces.

Definition at line 489 of file SutureCrack.H.

◆ driving_force_norm

Set::Scalar Integrator::SutureCrack::driving_force_norm = 0.0

Definition at line 491 of file SutureCrack.H.

◆ driving_force_reference

Set::Scalar Integrator::SutureCrack::driving_force_reference = 1.0

Definition at line 490 of file SutureCrack.H.

◆ driving_force_tolerance_abs

Set::Scalar Integrator::SutureCrack::driving_force_tolerance_abs = 0.0

Definition at line 493 of file SutureCrack.H.

◆ driving_force_tolerance_rel

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

Definition at line 492 of file SutureCrack.H.

◆ elastic

struct { ... } Integrator::SutureCrack::elastic

◆ energy

Set::Field<Set::Scalar> Integrator::SutureCrack::energy

total elastic energy

Definition at line 477 of file SutureCrack.H.

◆ energy_pristine

Set::Field<Set::Scalar> Integrator::SutureCrack::energy_pristine

energy of the prisitne material as if no crack is present

Definition at line 478 of file SutureCrack.H.

◆ energy_pristine_old

Set::Field<Set::Scalar> Integrator::SutureCrack::energy_pristine_old

energy of the pristine material for previous time step.

Definition at line 479 of file SutureCrack.H.

◆ field

Set::Field<Set::Scalar> Integrator::SutureCrack::field

crack field at current time step

Definition at line 487 of file SutureCrack.H.

◆ field_old

Set::Field<Set::Scalar> Integrator::SutureCrack::field_old

crack field at previous time step

Definition at line 488 of file SutureCrack.H.

◆ ic

IC::IC* Integrator::SutureCrack::ic

crack IC. See IC/Notch and IC/Ellipsoid

Definition at line 497 of file SutureCrack.H.

◆ ic_type

std::string Integrator::SutureCrack::ic_type

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

Definition at line 496 of file SutureCrack.H.

◆ input_material

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

Definition at line 511 of file SutureCrack.H.

◆ interval

int Integrator::SutureCrack::interval = 100

Definition at line 521 of file SutureCrack.H.

◆ is_ic

bool Integrator::SutureCrack::is_ic = false

Definition at line 498 of file SutureCrack.H.

◆ linop_maxorder

int Integrator::SutureCrack::linop_maxorder = 2

Definition at line 536 of file SutureCrack.H.

◆ loading

struct { ... } Integrator::SutureCrack::loading

◆ material

struct { ... } Integrator::SutureCrack::material

◆ max_coarsening_level

int Integrator::SutureCrack::max_coarsening_level = 0

Definition at line 538 of file SutureCrack.H.

◆ max_fixed_iter

int Integrator::SutureCrack::max_fixed_iter = 500

Definition at line 526 of file SutureCrack.H.

◆ max_fmg_iter

int Integrator::SutureCrack::max_fmg_iter = 0

Definition at line 524 of file SutureCrack.H.

◆ max_iter

int Integrator::SutureCrack::max_iter = 1000

Definition at line 523 of file SutureCrack.H.

◆ modulus_field

Set::Field<Set::Scalar> Integrator::SutureCrack::modulus_field

Definition at line 509 of file SutureCrack.H.

◆ mult_df_Gc

Set::Scalar Integrator::SutureCrack::mult_df_Gc = 1.0

Multiplier for Gc/zeta term.

Definition at line 503 of file SutureCrack.H.

◆ mult_df_lap

Set::Scalar Integrator::SutureCrack::mult_df_lap = 1.0

Multiplier for the laplacian term.

Definition at line 504 of file SutureCrack.H.

◆ nlevels

int Integrator::SutureCrack::nlevels
private

Definition at line 469 of file SutureCrack.H.

◆ number_of_ghost_nodes

int Integrator::SutureCrack::number_of_ghost_nodes = 2
private

Number of ghost nodes.

Definition at line 467 of file SutureCrack.H.

◆ number_of_materials

int Integrator::SutureCrack::number_of_materials = 1
private

Definition at line 468 of file SutureCrack.H.

◆ post_smooth

int Integrator::SutureCrack::post_smooth = 2

Definition at line 542 of file SutureCrack.H.

◆ pre_smooth

int Integrator::SutureCrack::pre_smooth = 2

Definition at line 541 of file SutureCrack.H.

◆ refinement_threshold

Set::Scalar Integrator::SutureCrack::refinement_threshold = 0.001

Definition at line 501 of file SutureCrack.H.

◆ residual

Set::Field<Set::Scalar> Integrator::SutureCrack::residual

residual field for solver

Definition at line 476 of file SutureCrack.H.

◆ rhs

Set::Field<Set::Scalar> Integrator::SutureCrack::rhs

rhs fab for elastic solution

Definition at line 475 of file SutureCrack.H.

◆ scaleModulusMax

Set::Scalar Integrator::SutureCrack::scaleModulusMax = 0.02

material modulus ratio inside crack (default = 0.02).

Definition at line 500 of file SutureCrack.H.

◆ sol

struct { ... } Integrator::SutureCrack::sol

◆ strain

Set::Field<Set::Scalar> Integrator::SutureCrack::strain

total strain field (gradient of displacement)

Definition at line 473 of file SutureCrack.H.

◆ stress

Set::Field<Set::Scalar> Integrator::SutureCrack::stress

stress field

Definition at line 474 of file SutureCrack.H.

◆ tend

Set::Scalar Integrator::SutureCrack::tend = 0.0

Definition at line 534 of file SutureCrack.H.

◆ tol_abs

Set::Scalar Integrator::SutureCrack::tol_abs = 1.0E-6

Definition at line 530 of file SutureCrack.H.

◆ tol_rel

Set::Scalar Integrator::SutureCrack::tol_rel = 1.0E-6

Definition at line 529 of file SutureCrack.H.

◆ tstart

Set::Scalar Integrator::SutureCrack::tstart = 0.0

Definition at line 533 of file SutureCrack.H.

◆ type

std::string Integrator::SutureCrack::type = "single"

Definition at line 522 of file SutureCrack.H.

◆ use_fsmooth

bool Integrator::SutureCrack::use_fsmooth = false

Definition at line 537 of file SutureCrack.H.

◆ val

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

Definition at line 547 of file SutureCrack.H.

◆ verbose

int Integrator::SutureCrack::verbose = 3

Definition at line 527 of file SutureCrack.H.


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