| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(WaveKernel_), | public | :: | WK | ||||
| type(FEMDomainp_), | public | :: | femdomain | ||||
| type(MPI_), | public, | pointer | :: | mpid | => | null() | |
| integer(kind=int32), | public, | allocatable | :: | fix_idx(:) | |||
| real(kind=real64), | public, | allocatable | :: | f_n(:) | |||
| real(kind=real64), | public, | allocatable | :: | u(:) | |||
| real(kind=real64), | public, | allocatable | :: | v(:) | |||
| real(kind=real64), | public, | allocatable | :: | u_n(:) | |||
| real(kind=real64), | public, | allocatable | :: | v_n(:) | |||
| real(kind=real64), | public, | allocatable | :: | u_2(:) | |||
| real(kind=real64), | public, | allocatable | :: | v_2(:) | |||
| real(kind=real64), | public, | allocatable | :: | u_1(:) | |||
| real(kind=real64), | public, | allocatable | :: | v_1(:) | |||
| real(kind=real64), | public, | allocatable | :: | u_old(:) | |||
| real(kind=real64), | public, | allocatable | :: | v_old(:) | |||
| real(kind=real64), | public, | allocatable | :: | YoungModulus(:) | |||
| real(kind=real64), | public, | allocatable | :: | PoissonRatio(:) | |||
| real(kind=real64), | public, | allocatable | :: | Density(:) | |||
| real(kind=real64), | public | :: | relative_cutoff_frequency | = | 1.0d0 | ||
| real(kind=real64), | public | :: | dt | = | 1.0d0/100.0d0 | ||
| real(kind=real64), | public | :: | t | = | 0.0d0 | ||
| integer(kind=int32), | public | :: | timestep | = | 0 | ||
| integer(kind=int32), | public | :: | start_step | = | 1 | ||
| integer(kind=int32), | public | :: | interval | = | 0 | ||
| integer(kind=int32), | public | :: | itrmax | = | 50 | ||
| integer(kind=int32), | public | :: | DOF | ||||
| real(kind=real64), | public | :: | tol | = | dble(1.0e-25) | ||
| logical, | public | :: | initialized | = | .false. |
| procedure, public :: init => initTSFEM | |
| procedure, public :: DirichletBoundary => DirichletBoundaryTSFEM | |
| procedure, public, pass :: NeumannBoundaryTSFEM | |
| procedure, public, pass :: NeumannBoundary_multiple_ForceTSFEM | |
| generic, public :: NeumannBoundary => NeumannBoundary_multiple_ForceTSFEM, NeumannBoundaryTSFEM | |
| procedure, public :: time => timeTSFEM | |
| procedure, public :: save => saveTSFEM | |
| procedure, public :: movie => movieTSFEM | |
| procedure, public :: AbsorbingBoundary => AbsorbingBoundaryTSFEM |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TSFEM_), | intent(inout) | :: | this | |||
| type(FEMDomain_), | intent(inout), | target | :: | femdomain | ||
| real(kind=real64), | intent(in) | :: | Density | |||
| real(kind=real64), | intent(in) | :: | YoungModulus | |||
| real(kind=real64), | intent(in), | optional | :: | PoissonRatio | ||
| integer(kind=int32), | intent(in) | :: | DOF | |||
| type(MPI_), | intent(in), | optional, | target | :: | mpid |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TSFEM_), | intent(inout) | :: | this | |||
| integer(kind=int32), | intent(in) | :: | NodeList(:) | |||
| character(len=*), | intent(in) | :: | direction |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TSFEM_), | intent(inout) | :: | this | |||
| integer(kind=int32), | intent(in) | :: | NodeList(:) | |||
| real(kind=real64), | intent(in) | :: | Force | |||
| character(len=*), | intent(in) | :: | direction | |||
| logical, | intent(in), | optional | :: | clear |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TSFEM_), | intent(inout) | :: | this | |||
| integer(kind=int32), | intent(in) | :: | NodeList(:) | |||
| real(kind=real64), | intent(in) | :: | Force(:) | |||
| character(len=*), | intent(in) | :: | direction | |||
| logical, | intent(in), | optional | :: | clear |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TSFEM_), | intent(inout) | :: | this | |||
| integer(kind=int32), | intent(in) | :: | NodeList(:) | |||
| character(len=*), | intent(in) | :: | direction |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TSFEM_), | intent(inout) | :: | this | |||
| real(kind=real64), | intent(in) | :: | dt | |||
| real(kind=real64), | intent(in) | :: | t | |||
| integer(kind=int32), | intent(in) | :: | timestep |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TSFEM_), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TSFEM_), | intent(inout) | :: | this | |||
| character(len=*), | intent(in) | :: | name |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(TSFEM_), | intent(inout) | :: | this | |||
| character(len=*), | intent(in) | :: | name |