##############################################################
call Imatrix%eyes(this%OmegaSqMatrix%size() )
##############################################################
Derived Types
Components
Type |
Visibility | Attributes |
|
Name |
| Initial | |
type(CRS_),
|
public |
|
:: |
OmegaSqMatrix |
|
|
|
real(kind=Real64),
|
public, |
allocatable
|
:: |
Mmatrix_diag(:) |
|
|
|
real(kind=Real64),
|
public, |
allocatable
|
:: |
DampingRatio(:) |
|
|
|
real(kind=real64),
|
public |
|
:: |
tol |
= |
dble(1.0e-25) |
|
real(kind=real64),
|
public, |
allocatable
|
:: |
v_in1(:) |
|
|
|
real(kind=real64),
|
public, |
allocatable
|
:: |
v_in2(:) |
|
|
|
real(kind=real64),
|
public, |
allocatable
|
:: |
v_out1(:) |
|
|
|
real(kind=real64),
|
public, |
allocatable
|
:: |
v_out2(:) |
|
|
|
real(kind=real64),
|
public, |
allocatable
|
:: |
u_in1(:) |
|
|
|
real(kind=real64),
|
public, |
allocatable
|
:: |
u_in2(:) |
|
|
|
real(kind=real64),
|
public, |
allocatable
|
:: |
u_out1(:) |
|
|
|
real(kind=real64),
|
public, |
allocatable
|
:: |
u_out2(:) |
|
|
|
real(kind=real64),
|
public, |
allocatable
|
:: |
hanning_buffer(:,:) |
|
|
|
integer(kind=int32),
|
public |
|
:: |
itrmax |
= |
100 |
|
integer(kind=int32),
|
public |
|
:: |
EbO_Algorithm |
= |
FEMDomain_Overset_GPP |
|
real(kind=real64),
|
public |
|
:: |
EbO_relative_penalty |
= |
1000.0d0 |
|
Type-Bound Procedures
procedure, public, pass ::
initWaveKernel |
|
procedure, public, pass ::
init_by_femdomain_pointers_WK |
|
generic, public ::
init => initWaveKernel, init_by_femdomain_pointers_WK |
|
procedure, public ::
setLPF => setLPF_WaveKernel |
|
procedure, public ::
bandpass => bandpass_WaveKernel |
|
procedure, public ::
lowpass => lowpass_WaveKernel |
|
procedure, public ::
movingAverage => movingAverage_WaveKernel |
|
procedure, public, pass ::
getDisplacement_and_Velocity_WaveKernel |
|
procedure, public, pass ::
getDisplacement_and_Velocity_MPI_WaveKernel |
|
procedure, public, pass ::
getDisplacement_and_Velocity_complex64_WaveKernel |
|
generic, public ::
getDisplacement_and_Velocity => getDisplacement_and_Velocity_WaveKernel, getDisplacement_and_Velocity_complex64_WaveKernel, getDisplacement_and_Velocity_MPI_WaveKernel |
|
procedure, public ::
getDisplacement => getDisplacementWaveKernel |
|
procedure, public ::
getVelocity => getVelocityWaveKernel |
|
Functions
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(WaveKernel_),
|
intent(inout) |
|
|
:: |
this |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
u_n(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
v_n(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
dt |
|
integer(kind=int32),
|
intent(in), |
optional |
|
:: |
fix_idx(:) |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
cutoff_frequency |
|
logical,
|
intent(in), |
optional |
|
:: |
debug_mode |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
RHS(:) |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
gain |
|
Return Value
real(kind=real64), allocatable, (:)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(WaveKernel_),
|
intent(inout) |
|
|
:: |
this |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
u_n(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
v_n(:) |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
RHS(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
dt |
|
integer(kind=int32),
|
intent(in), |
optional |
|
:: |
fix_idx(:) |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
cutoff_frequency |
|
logical,
|
intent(in), |
optional |
|
:: |
debug_mode |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
gain |
|
Return Value
real(kind=real64), allocatable, (:)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
integer(kind=int32),
|
intent(in) |
|
|
:: |
k |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
t |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
f_c |
|
Return Value
real(kind=real64)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
integer(kind=int32),
|
intent(in) |
|
|
:: |
k |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
t |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
f_c |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
DampingRatio(:) |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
weights(:) |
|
Return Value
real(kind=real64), allocatable, (:)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
integer(kind=int32),
|
intent(in) |
|
|
:: |
k |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
t |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
f_c |
|
Return Value
real(kind=real64)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
integer(kind=int32),
|
intent(in) |
|
|
:: |
k |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
t |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
f_c |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
DampingRatio(:) |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
weights(:) |
|
Return Value
real(kind=real64), allocatable, (:)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
type(CRS_),
|
intent(inout) |
|
|
:: |
Omega_sq_matrix |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
dt |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
f_c |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
u_n(:) |
|
integer(kind=int32),
|
intent(in) |
|
|
:: |
itrmax |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
tol |
|
integer(kind=int32),
|
intent(in) |
|
|
:: |
fix_idx(:) |
|
Return Value
real(kind=real64), allocatable, (:)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
type(CRS_),
|
intent(inout) |
|
|
:: |
Omega_sq_matrix |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
dt |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
f_c |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
u_n(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
DampingRatio(:) |
|
integer(kind=int32),
|
intent(in) |
|
|
:: |
itrmax |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
tol |
|
integer(kind=int32),
|
intent(in), |
optional |
|
:: |
fix_idx(:) |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
weights(:) |
|
Return Value
real(kind=real64), allocatable, (:)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
type(CRS_),
|
intent(inout) |
|
|
:: |
Omega_sq_matrix |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
dt |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
f_c |
|
complex(kind=real64),
|
intent(in) |
|
|
:: |
u_n(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
DampingRatio(:) |
|
integer(kind=int32),
|
intent(in) |
|
|
:: |
itrmax |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
tol |
|
integer(kind=int32),
|
intent(in), |
optional |
|
:: |
fix_idx(:) |
|
Return Value
complex(kind=real64), allocatable, (:)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
type(CRS_),
|
intent(inout) |
|
|
:: |
Omega_sq_matrix |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
dt |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
f_c |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
v_n(:) |
|
integer(kind=int32),
|
intent(in) |
|
|
:: |
itrmax |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
tol |
|
integer(kind=int32),
|
intent(in) |
|
|
:: |
fix_idx(:) |
|
Return Value
real(kind=real64), allocatable, (:)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
type(CRS_),
|
intent(inout) |
|
|
:: |
Omega_sq_matrix |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
dt |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
f_c |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
v_n(:) |
|
integer(kind=int32),
|
intent(in) |
|
|
:: |
itrmax |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
tol |
|
integer(kind=int32),
|
intent(in), |
optional |
|
:: |
fix_idx(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
DampingRatio(:) |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
weights(:) |
|
Return Value
real(kind=real64), allocatable, (:)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
type(CRS_),
|
intent(inout) |
|
|
:: |
Omega_sq_matrix |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
dt |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
f_c |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
v_n(:) |
|
integer(kind=int32),
|
intent(in) |
|
|
:: |
itrmax |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
tol |
|
integer(kind=int32),
|
intent(in), |
optional |
|
:: |
fix_idx(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
DampingRatio(:) |
|
type(MPI_),
|
intent(inout) |
|
|
:: |
MPID |
|
type(FEMDomain_),
|
intent(inout) |
|
|
:: |
FEMDomain |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
weights(:) |
|
Return Value
real(kind=real64), allocatable, (:)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
type(CRS_),
|
intent(inout) |
|
|
:: |
Omega_sq_matrix |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
dt |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
f_c |
|
complex(kind=real64),
|
intent(in) |
|
|
:: |
v_n(:) |
|
integer(kind=int32),
|
intent(in) |
|
|
:: |
itrmax |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
tol |
|
integer(kind=int32),
|
intent(in), |
optional |
|
:: |
fix_idx(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
DampingRatio(:) |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
weights(:) |
|
Return Value
complex(kind=real64), allocatable, (:)
Subroutines
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(WaveKernel_),
|
intent(inout) |
|
|
:: |
this |
|
type(FEMDomain_),
|
intent(inout) |
|
|
:: |
FEMDomain |
|
integer(kind=int32),
|
intent(in) |
|
|
:: |
DOF |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
YoungModulus(:) |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
PoissonRatio(:) |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
DampingRatio(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
Density(:) |
|
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(WaveKernel_),
|
intent(inout) |
|
|
:: |
this |
|
type(FEMDomainp_),
|
intent(inout) |
|
|
:: |
FEMDomainPointers(:) |
|
integer(kind=int32),
|
intent(in) |
|
|
:: |
DOF |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
YoungModulus(:) |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
PoissonRatio(:) |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
DampingRatio(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
Density(:) |
|
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(WaveKernel_),
|
intent(inout) |
|
|
:: |
this |
|
real(kind=real64),
|
intent(inout) |
|
|
:: |
u_n(:) |
|
real(kind=real64),
|
intent(inout) |
|
|
:: |
v_n(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
freq_range(1:2) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
dt |
|
integer(kind=int32),
|
intent(in), |
optional |
|
:: |
fix_idx(:) |
|
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(WaveKernel_),
|
intent(inout) |
|
|
:: |
this |
|
real(kind=real64),
|
intent(inout) |
|
|
:: |
u_n(:) |
|
real(kind=real64),
|
intent(inout) |
|
|
:: |
v_n(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
cutoff_frequency |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
dt |
|
integer(kind=int32),
|
intent(in), |
optional |
|
:: |
fix_idx(:) |
|
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(WaveKernel_),
|
intent(inout) |
|
|
:: |
this |
|
real(kind=real64),
|
intent(inout) |
|
|
:: |
u_n(:) |
|
real(kind=real64),
|
intent(inout) |
|
|
:: |
v_n(:) |
|
integer(kind=int32),
|
intent(in), |
optional |
|
:: |
fix_idx(:) |
|
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(WaveKernel_),
|
intent(inout) |
|
|
:: |
this |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
u_n(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
v_n(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
dt |
|
integer(kind=int32),
|
intent(in), |
optional, |
allocatable
|
:: |
fix_idx(:) |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
cutoff_frequency |
|
logical,
|
intent(in), |
optional |
|
:: |
debug_mode |
|
real(kind=real64),
|
|
|
allocatable
|
:: |
u(:) |
|
real(kind=real64),
|
|
|
allocatable
|
:: |
v(:) |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
RHS(:) |
|
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(WaveKernel_),
|
intent(inout) |
|
|
:: |
this |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
u_n(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
v_n(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
dt |
|
integer(kind=int32),
|
intent(in), |
optional, |
allocatable
|
:: |
fix_idx(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
cutoff_frequency |
|
logical,
|
intent(in), |
optional |
|
:: |
debug_mode |
|
real(kind=real64),
|
|
|
allocatable
|
:: |
u(:) |
|
real(kind=real64),
|
|
|
allocatable
|
:: |
v(:) |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
RHS(:) |
|
type(MPI_),
|
intent(inout) |
|
|
:: |
MPID |
|
type(FEMDomain_),
|
intent(inout) |
|
|
:: |
FEMDomain |
|
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(WaveKernel_),
|
intent(inout) |
|
|
:: |
this |
|
complex(kind=real64),
|
intent(in) |
|
|
:: |
u_n(:) |
|
complex(kind=real64),
|
intent(in) |
|
|
:: |
v_n(:) |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
dt |
|
integer(kind=int32),
|
intent(in), |
optional, |
allocatable
|
:: |
fix_idx(:) |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
cutoff_frequency |
|
logical,
|
intent(in), |
optional |
|
:: |
debug_mode |
|
complex(kind=real64),
|
|
|
allocatable
|
:: |
u(:) |
|
complex(kind=real64),
|
|
|
allocatable
|
:: |
v(:) |
|
real(kind=real64),
|
intent(in), |
optional |
|
:: |
RHS(:) |
|
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(WaveKernel_),
|
intent(inout) |
|
|
:: |
this |
|
real(kind=real64),
|
intent(in) |
|
|
:: |
weights(:) |
|