| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=C_INT32_T), | public | :: | comm | ||||
| real(kind=C_DOUBLE), | public | :: | gamma | = | 1.0e-1 | ||
| logical(kind=C_BOOL), | public | :: | isHybrid | = | PETSC_FALSE | ||
| character(kind=c_char, len=MEF90MXSTRLEN), | public | :: | name | = | "NULL" | ||
| character(kind=c_char, len=MEF90MXSTRLEN), | public | :: | prefix | ||||
| integer, | public | :: | quadratureOrder | = | 0 | ||
| class(mef90Mat), | public, | allocatable | :: | strain | |||
| character(len=MEF90MXSTRLEN), | public | :: | type | = | '' |
| procedure, public, pass(self) :: D2EED => D2EEDHD | |
| procedure, public, pass(self) :: DEED => DEEDHD | |
| procedure, public, pass(self) :: EED => EEDHD | |
| procedure, public, pass(self) :: setFromOptions => setFromOptionsHD | |
| procedure, public, pass(self) :: setup => setupHD | |
| procedure, public, pass(self) :: view => MEF90Object_view | |
| procedure, public, pass(self) :: view_internal => viewHD |
D2EEDHD: Compute the second derivative of the positive and negative part of the elastic energy density (positive and negative stress)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MEF90DefMechSplitHD), | intent(in) | :: | self | |||
| class(MEF90HookesLaw), | intent(in) | :: | HookesLaw | |||
| class(mef90Mat), | intent(in) | :: | phi | |||
| class(mef90Mat), | intent(in) | :: | psi | |||
| real(kind=C_DOUBLE), | intent(out) | :: | D2EEDPlus | |||
| real(kind=C_DOUBLE), | intent(out) | :: | D2EEDMinus | |||
| integer(kind=C_INT32_T), | intent(inout) | :: | ierr |
DEEDHD: Compute the directional derivative of the positive and negative part of the elastic energy density in the direction phi at the point defined by the strain tensor
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MEF90DefMechSplitHD), | intent(in) | :: | self | |||
| class(MEF90HookesLaw), | intent(in) | :: | HookesLaw | |||
| class(mef90Mat), | intent(in) | :: | phi | |||
| real(kind=C_DOUBLE), | intent(out) | :: | DEEDPlus | |||
| real(kind=C_DOUBLE), | intent(out) | :: | DEEDMinus | |||
| integer(kind=C_INT32_T), | intent(inout) | :: | ierr |
EEDHD: Compute the positive and negative part of the elastic energy density associated with a strain tensor EEDMinus = SmoothPositiveSquare(-trace(e)) AI.I/2/N^2 EEDPlus = Ae.e/2 - EEDMinus with N = 3 for 3D and N = 2 for 2D, where e is the strain tensor, A is the Hookes law tensor
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MEF90DefMechSplitHD), | intent(in) | :: | self | |||
| class(MEF90HookesLaw), | intent(in) | :: | HookesLaw | |||
| class(mef90Mat), | intent(in) | :: | phi | |||
| real(kind=C_DOUBLE), | intent(out) | :: | EEDPlus | |||
| real(kind=C_DOUBLE), | intent(out) | :: | EEDMinus | |||
| integer(kind=C_INT32_T), | intent(inout) | :: | ierr |
setFromOptionsHD: the default constructor for a MEF90DefMechSplitHD
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MEF90DefMechSplitHD), | intent(inout) | :: | self | |||
| integer(kind=C_INT32_T), | intent(inout) | :: | ierr |
setupHD: the setup routine for a MEF90DefMechSplitHD, which does nothing since there is no split
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MEF90DefMechSplitHD), | intent(inout) | :: | self | |||
| class(mef90Mat), | intent(in) | :: | Strain | |||
| integer(kind=C_INT32_T), | intent(inout) | :: | ierr |
viewHD: view a MEF90DefMechSplitHD
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(MEF90DefMechSplitHD), | intent(in) | :: | self | |||
| type(tPetscViewer), | intent(in) | :: | viewer | |||
| integer(kind=C_INT32_T), | intent(inout) | :: | ierr |