ModalAnalysis_ Derived Type

type, public :: ModalAnalysis_


Components

Type Visibility Attributes Name Initial
type(FEMSolver_), public :: solver
integer(kind=int32), public, allocatable :: DomainNodeID(:,:)
integer(kind=int32), public, allocatable :: DomainElemID(:,:)
real(kind=real64), public, allocatable :: YoungModulus(:)
real(kind=real64), public, allocatable :: PoissonRatio(:)
real(kind=real64), public, allocatable :: Density(:)
real(kind=real64), public, allocatable :: EigenFrequency(:)
real(kind=real64), public, allocatable :: EigenMode(:,:)

Type-Bound Procedures

procedure, public :: init => initModalAnalysis

procedure, public :: setMaterial => setMaterialModalAnalysis

  • public subroutine setMaterialModalAnalysis(this, DomainID, Density, YoungModulus, PoissonRatio)

    Arguments

    Type IntentOptional Attributes Name
    class(ModalAnalysis_), intent(inout) :: this
    integer(kind=int32), intent(in) :: DomainID
    real(kind=real64), intent(in) :: Density(:)
    real(kind=real64), intent(in) :: YoungModulus(:)
    real(kind=real64), intent(in) :: PoissonRatio(:)

procedure, public :: setBoundary => setBoundaryModalAnalysis

  • public subroutine setBoundaryModalAnalysis(this, DomainID, NodeList)

    Arguments

    Type IntentOptional Attributes Name
    class(ModalAnalysis_), intent(inout) :: this
    integer(kind=int32), intent(in) :: DomainID
    integer(kind=int32), intent(in) :: NodeList(:)

procedure, public :: solve => solveModalAnalysis

  • public subroutine solveModalAnalysis(this, penalty, only_matrix)

    Arguments

    Type IntentOptional Attributes Name
    class(ModalAnalysis_), intent(inout) :: this
    real(kind=real64), intent(in), optional :: penalty
    logical, intent(in), optional :: only_matrix

procedure, public :: vtk => vtkModalAnalysis

  • public subroutine vtkModalAnalysis(this, name, num_mode, amp, stress_scale)

    Arguments

    Type IntentOptional Attributes Name
    class(ModalAnalysis_), intent(in) :: this
    character(len=*), intent(in) :: name
    integer(kind=int32), intent(in) :: num_mode
    real(kind=real64), intent(in) :: amp
    real(kind=real64), intent(in), optional :: stress_scale

procedure, public :: remove => removeModalAnalysis

procedure, public :: destroy => removeModalAnalysis