m_MEF90_DefMechAT_class Module



Abstract Interfaces

abstract interface

  • private function ATInterface(self, alpha)

    Arguments

    Type IntentOptional Attributes Name
    class(MEF90DefMechAT_Type), intent(in) :: self
    real(kind=C_DOUBLE) :: alpha

    Return Value real(kind=c_double)


Derived Types

type, public, abstract, extends(MEF90Object) ::  MEF90DefMechAT_Type

MEF90_DefMechAT_Type: The abstract class used to define a generalized Ambrosio-Tortorelli phase field model

Components

Type Visibility Attributes Name Initial
integer(kind=C_INT32_T), public :: aOrder = -1
integer(kind=C_INT32_T), public :: comm
real(kind=C_DOUBLE), public :: cw = -1.0_Kr
real(kind=C_DOUBLE), public :: fractureToughness = 0.0_Kr
real(kind=C_DOUBLE), public :: internalLength = -1.0_Kr
logical(kind=C_BOOL), public :: isElastic = PETSC_FALSE
character(kind=c_char, len=MEF90MXSTRLEN), public :: name = "NULL"
character(kind=c_char, len=MEF90MXSTRLEN), public :: prefix
real(kind=C_DOUBLE), public :: residualStiffness = 0.0_Kr
class(mef90Mat), public, allocatable :: toughnessAnisotropyMatrix
character(len=MEF90MXSTRLEN), public :: type = ''
integer(kind=C_INT32_T), public :: wOrder = -1

Type-Bound Procedures

procedure(ATInterface), public, deferred, pass(self) :: D2a
procedure(ATInterface), public, deferred, pass(self) :: D2w
procedure(ATInterface), public, deferred, pass(self) :: Da
procedure(ATInterface), public, deferred, pass(self) :: Dw
procedure(ATInterface), public, deferred, pass(self) :: a
procedure, public, pass(self) :: setFromOptions => MEF90DefMechAT_setFromOptions
procedure, public, pass(self) :: view => MEF90Object_view
procedure, public, pass(self) :: view_internal => MEF90DefMechAT_View
procedure(ATInterface), public, deferred, pass(self) :: w

Subroutines

public subroutine MEF90DefMechAT_View(self, viewer, ierr)

Author
Blaise Bourdin (2025, bourdin@mcmaster.ca)

MEF90DefMechAT_view: the default viewer for a MEF90_DefMechAT_Type

Arguments

Type IntentOptional Attributes Name
class(MEF90DefMechAT_Type), intent(in) :: self
type(tPetscViewer), intent(in) :: viewer
integer(kind=C_INT32_T), intent(inout) :: ierr

public subroutine MEF90DefMechAT_setFromOptions(self, ierr)

Author
Blaise Bourdin (2025, bourdin@mcmaster.ca)

MEF90DefMechAT_setFromOptions: initializes a MEF90_DefMechAT_Type from options subclasses may implement their own setFromOptions if they have additional parameters, but it is expected that these will call MEF90DefMechAT_setFromOptions

Arguments

Type IntentOptional Attributes Name
class(MEF90DefMechAT_Type), intent(inout) :: self
integer(kind=C_INT32_T), intent(inout) :: ierr