MEF90DefMechSplitNone Derived Type

type, public, extends(MEF90DefMechSplit) :: MEF90DefMechSplitNone


Components

Type Visibility Attributes Name Initial
integer(kind=C_INT32_T), public :: comm
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 = ''

Type-Bound Procedures

procedure, public, pass(self) :: D2EED => D2EEDNone

  • private subroutine D2EEDNone(self, HookesLaw, phi, psi, D2EEDPlus, D2EEDMinus, ierr)

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

    D2EEDNone: Compute the second derivative of the positive and negative part of the elastic energy density (positive and negative stress) evaluated at the strain tensor Strain. without a split, D2EEDPlus = HookesLaw, D2EEDMinus = 0

    Arguments

    Type IntentOptional Attributes Name
    class(MEF90DefMechSplitNone), 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

procedure, public, pass(self) :: DEED => DEEDNone

  • private subroutine DEEDNone(self, HookesLaw, phi, DEEDPlus, DEEDMinus, ierr)

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

    DEEDNone: Compute the derivative of the positive and negative part of the elastic energy density (positive and negative stress) evaluated at the strain tensor Strain. without a split, we have DEEDPlus = HookesLaw Strain DEEDMinus = 0

    Arguments

    Type IntentOptional Attributes Name
    class(MEF90DefMechSplitNone), 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

procedure, public, pass(self) :: EED => EEDNone

  • private subroutine EEDNone(self, HookesLaw, phi, EEDPlus, EEDMinus, ierr)

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

    EEDNone: Compute the positive and negative part of the elastic energy density associated with a strain tensor without a split, we have EEDPlus = 1/2 HookesLaw Strain \cdot Strain EEDMinus = 0

    Arguments

    Type IntentOptional Attributes Name
    class(MEF90DefMechSplitNone), 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

procedure, public, pass(self) :: setFromOptions => MEF90DefMechSplitNone_setFromOptions

  • private subroutine MEF90DefMechSplitNone_setFromOptions(self, ierr)

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

    MEF90DefMechSplitNone_setFromOptions: the default constructor for a MEF90DefMechSplitNone

    Arguments

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

procedure, public, pass(self) :: setup => setupNONE

  • private subroutine setupNONE(self, Strain, ierr)

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

    setupNONE: the setup routine for a MEF90DefMechSplitNone, which does nothing since there is no split

    Arguments

    Type IntentOptional Attributes Name
    class(MEF90DefMechSplitNone), intent(inout) :: self
    class(mef90Mat), intent(in) :: Strain
    integer(kind=C_INT32_T), intent(inout) :: ierr

procedure, public, pass(self) :: view => MEF90Object_view

  • private subroutine MEF90Object_view(self, viewer, ierr)

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

    MEF90Object_view: Views a MEF90Object and flagged it as viewed so that it is not viewed multiple times when -verbose is set to a high value

    Arguments

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

procedure, public, pass(self) :: view_internal => MEF90DefMechSplitNone_view

  • private subroutine MEF90DefMechSplitNone_view(self, viewer, ierr)

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

    MEF90DefMechSplitNone_view: view a MEF90DefMechSplitNone

    Arguments

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