ModalAnalysisClass Module



Derived Types

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
procedure, public :: setBoundary => setBoundaryModalAnalysis
procedure, public :: solve => solveModalAnalysis
procedure, public :: vtk => vtkModalAnalysis
procedure, public :: remove => removeModalAnalysis
procedure, public :: destroy => removeModalAnalysis

Subroutines

public subroutine initModalAnalysis(this, domains)

Arguments

Type IntentOptional Attributes Name
class(ModalAnalysis_), intent(inout) :: this
type(FEMDomain_), intent(in) :: domains(:)

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(:)

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(:)

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

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

public subroutine removeModalAnalysis(this)

Arguments

Type IntentOptional Attributes Name
class(ModalAnalysis_), intent(inout) :: this