KKL (v2) model, which can be rewritten as a regular GD model with
$a(\alpha) = g(\alpha)$ and $w(\alpha) = 1-g(\alpha)$
where $g(\alpha) = 4(1-\alpha)^3 - 3 (1-\alpha)^4$
Karma, A., Kessler, D. A., and Levine, H. (2001).
Phase-field model of mode III dynamic fracture. Phys. Rev. Lett., 87(4):045501. doi:10.1103/PhysRevLett.87.045501
Derived Types
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, public, pass(self) ::
D2a => D2aKKL |
|
| procedure, public, pass(self) ::
D2w => D2wKKL |
|
| procedure, public, pass(self) ::
Da => DaKKL |
|
| procedure, public, pass(self) ::
Dw => DwKKL |
|
| procedure, public, pass(self) ::
a => aKKL |
|
| procedure, public, pass(self) ::
setFromOptions => MEF90DefMechATKKL_setFromOptions |
|
| procedure, public, pass(self) ::
view => MEF90Object_view |
|
| procedure, public, pass(self) ::
view_internal => MEF90DefMechAT_View |
|
| procedure, public, pass(self) ::
w => wKKL |
|
Functions
- Author
- Blaise Bourdin (2020, bourdin@lsu.edu)
D2aKKL: the second derivative of the "a" function of the KKL (v2) model
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(MEF90DefMechATKKL_Type),
|
intent(in) |
|
|
:: |
self |
|
|
real(kind=C_DOUBLE)
|
|
|
|
:: |
alpha |
|
Return Value
real(kind=c_double)
- Author
- Blaise Bourdin (2020, bourdin@lsu.edu)
D2wKKL: the second derivative of the "w" function of the KKL (v2) model
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(MEF90DefMechATKKL_Type),
|
intent(in) |
|
|
:: |
self |
|
|
real(kind=C_DOUBLE)
|
|
|
|
:: |
alpha |
|
Return Value
real(kind=c_double)
- Author
- Blaise Bourdin (2020, bourdin@lsu.edu)
DaKKL: the derivative of the "a" function of the KKL (v2) model
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(MEF90DefMechATKKL_Type),
|
intent(in) |
|
|
:: |
self |
|
|
real(kind=C_DOUBLE)
|
|
|
|
:: |
alpha |
|
Return Value
real(kind=c_double)
- Author
- Blaise Bourdin (2020, bourdin@lsu.edu)
DwKKL: the derivative of the "w" function of the KKL (v2) model
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(MEF90DefMechATKKL_Type),
|
intent(in) |
|
|
:: |
self |
|
|
real(kind=C_DOUBLE)
|
|
|
|
:: |
alpha |
|
Return Value
real(kind=c_double)
- Author
- Blaise Bourdin (2020, bourdin@lsu.edu)
aKKL: the "a" function of the KKL (v2) model,
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(MEF90DefMechATKKL_Type),
|
intent(in) |
|
|
:: |
self |
|
|
real(kind=C_DOUBLE)
|
|
|
|
:: |
alpha |
|
Return Value
real(kind=c_double)
- Author
- Blaise Bourdin (2020, bourdin@lsu.edu)
wKKL: the "w" function of the of the KKL (v2) model
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(MEF90DefMechATKKL_Type),
|
intent(in) |
|
|
:: |
self |
|
|
real(kind=C_DOUBLE)
|
|
|
|
:: |
alpha |
|
Return Value
real(kind=c_double)
Subroutines
- Author
- Blaise Bourdin (2025-26, bourdin@mcmaster.ca)
MEF90DefMechATKKL_setFromOptions: initializes a MEF90_DefMechATKKL_Type from options
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
class(MEF90DefMechATKKL_Type),
|
intent(inout) |
|
|
:: |
self |
|
|
integer(kind=C_INT32_T),
|
intent(inout) |
|
|
:: |
ierr |
|