m_MEF90_DefMechATLinSoft Module



Interfaces

public interface MEF90DefMechATLinSoft_Type

  • private function MEF90DefMechATLinSoft_Constructor(k)

    Author
    Blaise Bourdin (2020, bourdin@lsu.edu)

    MEF90DefMechATLinSoft_Constructor: the default constructor for a MEF90_DefMechATLinSoft_Type

    Arguments

    Type IntentOptional Attributes Name
    real(kind=C_DOUBLE), intent(in) :: k

    Return Value type(MEF90DefMechATLinSoft_Type)


Derived Types

type, public, extends(MEF90DefMechAT_Type) ::  MEF90DefMechATLinSoft_Type

LinSoft, a model with linear softening phase function:

Read more…

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
real(kind=C_DOUBLE), public :: k
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

Constructor

private function MEF90DefMechATLinSoft_Constructor (k)

MEF90DefMechATLinSoft_Constructor: the default constructor for a MEF90_DefMechATLinSoft_Type

Type-Bound Procedures

procedure, public, pass(self) :: D2a => D2aLinSoft
procedure, public, pass(self) :: D2w => D2wLinSoft
procedure, public, pass(self) :: Da => DaLinSoft
procedure, public, pass(self) :: Dw => DwLinSoft
procedure, public, pass(self) :: a => aLinSoft
procedure, public, pass(self) :: setFromOptions => MEF90DefMechAT_setFromOptions
procedure, public, pass(self) :: view => MEF90Object_view
procedure, public, pass(self) :: view_internal => MEF90DefMechAT_View
procedure, public, pass(self) :: w => wLinSoft

Functions

private function D2aLinSoft(self, alpha)

Author
Blaise Bourdin (2020, bourdin@lsu.edu)

D2aLinSoft: the second derivative of the "a" function of the LinSoft model

Arguments

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

Return Value real(kind=c_double)

private function D2wLinSoft(self, alpha)

Author
Blaise Bourdin (2020, bourdin@lsu.edu)

D2wLinSoft: the second derivative of the "w" function of the LinSoft model

Arguments

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

Return Value real(kind=c_double)

private function DaLinSoft(self, alpha)

Author
Blaise Bourdin (2020, bourdin@lsu.edu)

DaLinSoft: the derivative of the "a" function of the LinSoft model

Arguments

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

Return Value real(kind=c_double)

private function DwLinSoft(self, alpha)

Author
Blaise Bourdin (2020, bourdin@lsu.edu)

DwLinSoft: the derivative of the "w" function of the LinSoft model

Arguments

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

Return Value real(kind=c_double)

private function MEF90DefMechATLinSoft_Constructor(k)

Author
Blaise Bourdin (2020, bourdin@lsu.edu)

MEF90DefMechATLinSoft_Constructor: the default constructor for a MEF90_DefMechATLinSoft_Type

Arguments

Type IntentOptional Attributes Name
real(kind=C_DOUBLE), intent(in) :: k

Return Value type(MEF90DefMechATLinSoft_Type)

private function aLinSoft(self, alpha)

Author
Blaise Bourdin (2020, bourdin@lsu.edu)

aLinSoft: the "a" function of the LinSoft model

Arguments

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

Return Value real(kind=c_double)

private function wLinSoft(self, alpha)

Author
Blaise Bourdin (2020, bourdin@lsu.edu)

wLinSoft: the "w" function of the LinSoft model

Arguments

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

Return Value real(kind=c_double)