MEF90HookesLaw Derived Type

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

MEF90HookesLaw: The abstract class used to define a stress-strain relation


Components

Type Visibility Attributes Name Initial
integer(kind=C_INT32_T), public :: comm
character(kind=c_char, len=MEF90MXSTRLEN), public :: name = "NULL"
character(kind=c_char, len=MEF90MXSTRLEN), public :: prefix

Type-Bound Procedures

procedure(HookesLawMultInterface), public, deferred :: mult

  • subroutine HookesLawMultInterface(A, phi, Aphi, ierr) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(MEF90HookesLaw), intent(in) :: A
    class(mef90Mat), intent(in) :: phi
    class(mef90Mat), intent(out), allocatable :: Aphi
    integer(kind=C_INT32_T), intent(inout) :: ierr

procedure(HookesLawMultMultInterface), public, deferred :: multmult

  • subroutine HookesLawMultMultInterface(A, phi, psi, Aphipsi, ierr) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(MEF90HookesLaw), intent(in) :: A
    class(mef90Mat), intent(in) :: phi
    class(mef90Mat), intent(in) :: psi
    real(kind=C_DOUBLE), intent(out) :: Aphipsi
    integer(kind=C_INT32_T), intent(inout) :: ierr

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

  • private subroutine MEF90Object_setFromOptions(self, ierr)

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

    MEF90Object_setFromOptions: generic version of the setFromOptions method for all MEF90Objects, which just prints the object if -verbose is set to a high value Can be overridden in classes if they have options to set.

    Arguments

    Type IntentOptional Attributes Name
    class(MEF90Object), intent(inout) :: self
    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(MEF90ObjectViewInterface), public, deferred, pass(self) :: view_internal

  • subroutine MEF90ObjectViewInterface(self, viewer, ierr) Prototype

    Arguments

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