FiniteDeform_ Derived Type

type, public :: FiniteDeform_


Contents


Components

TypeVisibility AttributesNameInitial
type(FEMDomain_), public, pointer:: FEMDomain
real(kind=real64), public, allocatable:: DeformStress(:,:,:)
real(kind=real64), public, allocatable:: DeformStrain(:,:,:)
real(kind=real64), public, allocatable:: DeformStressInit(:,:,:)
real(kind=real64), public, allocatable:: DeformStressinc(:,:,:)
real(kind=real64), public, allocatable:: DeformStressMat(:,:,:)
real(kind=real64), public, allocatable:: DeformStressRHS(:,:)
real(kind=real64), public, allocatable:: DeformVecEBETot(:,:)
real(kind=real64), public, allocatable:: DeformVecEBEInc(:,:)
real(kind=real64), public, allocatable:: DeformVecGloTot(:)
real(kind=real64), public, allocatable:: DeformVecGloInc(:)
real(kind=real64), public, allocatable:: TractionVecGlo(:)
real(kind=real64), public, allocatable:: ResidualVecGlo(:)
real(kind=real64), public, allocatable:: InternalVecGlo(:)
real(kind=real64), public, allocatable:: VolInitCurrEBE(:,:)
real(kind=real64), public, allocatable:: YoungsModulus(:)
real(kind=real64), public, allocatable:: PoissonsRatio(:)
real(kind=real64), public, allocatable:: PorePressure(:)
real(kind=real64), public :: dt
real(kind=real64), public :: error
real(kind=real64), public :: reactionforce
real(kind=real64), public :: nr_tol =1.0e-8
logical, public :: ReducedIntegration =.false.
logical, public :: infinitesimal =.false.
integer(kind=int32), public :: itr
integer(kind=int32), public :: Step =0

Type-Bound Procedures

procedure, public :: Solve => SolveFiniteDeformNewton

  • public subroutine SolveFiniteDeformNewton(obj, OptionItr, Solvertype, nr_tol, infinitesimal, restart)

    Arguments

    Type IntentOptional AttributesName
    class(FiniteDeform_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: OptionItr
    character(len=*), intent(in), optional :: Solvertype
    real(kind=real64), intent(in), optional :: nr_tol
    logical, intent(in), optional :: infinitesimal
    logical, intent(in), optional :: restart

procedure, public :: UpdateSolution => SolveFiniteDeform

  • public subroutine SolveFiniteDeform(obj, OptionItr, Solvertype, nr_tol)

    Arguments

    Type IntentOptional AttributesName
    class(FiniteDeform_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: OptionItr
    character(len=*), intent(in), optional :: Solvertype
    real(kind=real64), intent(in), optional :: nr_tol

procedure, public :: DivideBC => DevideBCIntoTimestep

procedure, public :: UpdateBC => UpdateBCInTimestep

procedure, public :: UpdateInitConfig

procedure, public :: Setup => SetupFiniteDeform

  • public subroutine SetupFiniteDeform(obj, tol)

    Arguments

    Type IntentOptional AttributesName
    class(FiniteDeform_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: tol

procedure, public :: Update => UpdateFiniteDeform

  • public subroutine UpdateFiniteDeform(obj, restart)

    Arguments

    Type IntentOptional AttributesName
    class(FiniteDeform_), intent(inout) :: obj
    logical, intent(in), optional :: restart

procedure, public :: Display => DisplayDeformStress

  • public subroutine DisplayDeformStress(obj, DisplayMode, OptionalStep, Name, withDirichlet)

    Arguments

    Type IntentOptional AttributesName
    class(FiniteDeform_), intent(inout) :: obj
    character(len=*), intent(in), optional :: DisplayMode
    integer(kind=int32), intent(in), optional :: OptionalStep
    character(len=*), intent(in), optional :: Name
    logical, intent(in), optional :: withDirichlet

procedure, public :: getDBCVector => getDBCVectorDeform

  • public subroutine getDBCVectorDeform(obj, DBCvec)

    Arguments

    Type IntentOptional AttributesName
    class(FiniteDeform_), intent(in) :: obj
    real(kind=real64), intent(inout), allocatable:: DBCvec(:,:)

procedure, public :: getDispVector => getDispVectorDeform

  • public subroutine getDispVectorDeform(obj, Vector)

    Arguments

    Type IntentOptional AttributesName
    class(FiniteDeform_), intent(in) :: obj
    real(kind=real64), intent(inout), allocatable:: Vector(:,:)

procedure, public :: getVolume => getVolumeDeform

  • public function getVolumeDeform(obj) result(volume)

    Arguments

    Type IntentOptional AttributesName
    class(FiniteDeform_), intent(inout) :: obj

    Return Value real(kind=real64), allocatable, (:)

procedure, public :: check => checkFiniteDeform

procedure, public :: import => importFiniteDeform

  • public subroutine importFiniteDeform(obj, YoungsModulus, PoissonsRatio, PorePressure)

    Arguments

    Type IntentOptional AttributesName
    class(FiniteDeform_), intent(inout) :: obj
    real(kind=real64), intent(in), optional :: YoungsModulus(:)
    real(kind=real64), intent(in), optional :: PoissonsRatio(:)
    real(kind=real64), intent(in), optional :: PorePressure(:)

procedure, public :: export => exportFiniteDeform

  • public subroutine exportFiniteDeform(obj, restart, path)

    Arguments

    Type IntentOptional AttributesName
    class(FiniteDeform_), intent(inout) :: obj
    logical, intent(in), optional :: restart
    character(len=*), intent(in) :: path

procedure, public :: remove => removeFiniteDeform

procedure, public :: save => saveFiniteDeform

  • public subroutine saveFiniteDeform(obj, path, name)

    Arguments

    Type IntentOptional AttributesName
    class(FiniteDeform_), intent(inout) :: obj
    character(len=*), intent(in) :: path
    character(len=*), intent(in), optional :: name

procedure, public :: open => openFiniteDeform

  • public subroutine openFiniteDeform(obj, path, name)

    Arguments

    Type IntentOptional AttributesName
    class(FiniteDeform_), intent(inout) :: obj
    character(len=*), intent(in) :: path
    character(len=*), intent(in), optional :: name

procedure, public :: link => linkFiniteDeform

  • public subroutine linkFiniteDeform(obj, FEMDomain)

    Arguments

    Type IntentOptional AttributesName
    class(FiniteDeform_), intent(inout) :: obj
    type(FEMDomain_), intent(in), target:: FEMDomain