Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer(kind=int32), | public | :: | WAVE_DISP | = | 1 | ||
integer(kind=int32), | public | :: | WAVE_VELOCITY | = | 2 | ||
integer(kind=int32), | public | :: | WAVE_ACCEL | = | 3 |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(FEMDomain_), | public, | pointer | :: | femdomain | |||
type(FEMSolver_), | public | :: | femsolver | ||||
type(CRS_), | public | :: | M_matrix | ||||
type(CRS_), | public | :: | K_matrix | ||||
type(ModalAnalysis_), | public | :: | modal | ||||
real(kind=real64), | public, | allocatable | :: | da(:) | |||
real(kind=real64), | public, | allocatable | :: | a_ext(:) | |||
real(kind=real64), | public, | allocatable | :: | a_ext_n(:) | |||
real(kind=real64), | public, | allocatable | :: | a(:) | |||
real(kind=real64), | public, | allocatable | :: | a_half(:) | |||
real(kind=real64), | public, | allocatable | :: | a_n(:) | |||
real(kind=real64), | public, | allocatable | :: | v(:) | |||
real(kind=real64), | public, | allocatable | :: | v_half(:) | |||
real(kind=real64), | public, | allocatable | :: | v_n(:) | |||
real(kind=real64), | public, | allocatable | :: | u(:) | |||
real(kind=real64), | public, | allocatable | :: | u_n(:) | |||
complex(kind=real64), | public, | allocatable | :: | u_p(:) | |||
complex(kind=real64), | public, | allocatable | :: | u_m(:) | |||
real(kind=real64), | public, | allocatable | :: | du(:) | |||
real(kind=real64), | public, | allocatable | :: | wave(:,:) | |||
real(kind=real64), | public, | allocatable | :: | dwave(:,:) | |||
real(kind=real64), | public, | allocatable | :: | Density(:) | |||
real(kind=real64), | public, | allocatable | :: | YoungModulus(:) | |||
real(kind=real64), | public, | allocatable | :: | PoissonRatio(:) | |||
real(kind=real64), | public | :: | MaxA(3) | = | 0.0d0 | ||
real(kind=real64), | public | :: | MaxV(3) | = | 0.0d0 | ||
real(kind=real64), | public | :: | MaxU(3) | = | 0.0d0 | ||
integer(kind=int32), | public, | allocatable | :: | WaveNodeList(:) | |||
integer(kind=int32), | public, | allocatable | :: | FixNodeList_x(:) | |||
integer(kind=int32), | public, | allocatable | :: | FixNodeList_y(:) | |||
integer(kind=int32), | public, | allocatable | :: | FixNodeList_z(:) | |||
real(kind=real64), | public, | allocatable | :: | FixNodeList_Disp_x(:) | |||
real(kind=real64), | public, | allocatable | :: | FixNodeList_Disp_y(:) | |||
real(kind=real64), | public, | allocatable | :: | FixNodeList_Disp_z(:) | |||
real(kind=real64), | public, | allocatable | :: | FixNodeList_Disp(:) | |||
integer(kind=int32), | public, | allocatable | :: | num_nodes_in_domains(:) | |||
real(kind=real64), | public, | allocatable | :: | Traction(:) | |||
integer(kind=int32), | public, | allocatable | :: | absorbingBoundary_x(:) | |||
integer(kind=int32), | public, | allocatable | :: | absorbingBoundary_y(:) | |||
integer(kind=int32), | public, | allocatable | :: | absorbingBoundary_z(:) | |||
integer(kind=int32), | public, | allocatable | :: | absorbingBoundary_xyz(:) | |||
real(kind=real64), | public | :: | absorbingBoundary_elasticity | = | 0.0d0 | ||
real(kind=real64), | public | :: | absorbingBoundary_viscosity | = | 0.0d0 | ||
real(kind=real64), | public, | allocatable | :: | Frequency(:) | |||
real(kind=real64), | public, | allocatable | :: | ModeVectors(:,:) | |||
integer(kind=int32), | public, | allocatable | :: | NodeID_range(:,:) | |||
integer(kind=int32), | public, | allocatable | :: | ElementID_range(:,:) | |||
character(len=1), | public | :: | wavedirection | = | "z" | ||
integer(kind=int32), | public | :: | wavetype | = | 0 | ||
real(kind=real64), | public | :: | dt | = | 1.0d0 | ||
real(kind=real64), | public | :: | error | = | dble(1.0e-14) | ||
real(kind=real64), | public | :: | tolerance | = | dble(1.0e-14) | ||
real(kind=real64), | public | :: | t | = | 0.0d0 | ||
integer(kind=int32), | public | :: | step | = | 0 | ||
real(kind=real64), | public | :: | alpha | = | 0.52400d0 | ||
real(kind=real64), | public | :: | beta | = | 0.00129d0 | ||
real(kind=real64), | public | :: | damping_ratio_h | = | 0.010d0 | ||
real(kind=real64), | public | :: | Newmark_beta | = | 0.250d0 | ||
real(kind=real64), | public | :: | Newmark_gamma | = | 0.50d0 | ||
real(kind=real64), | public | :: | boundary_dumping_ratio | = | 1.0d0 | ||
logical, | public | :: | restart | = | .False. | ||
logical, | public | :: | debug | = | .False. | ||
logical, | public | :: | multi_domain_mode | = | .false. | ||
real(kind=real64), | public | :: | overset_penalty | = | 1000.0d0*1000.0d0 |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(in) | :: | obj | |||
real(kind=real64), | intent(in) | :: | M(:,:) | |||
real(kind=real64), | intent(in) | :: | C(:,:) | |||
real(kind=real64), | intent(in) | :: | K(:,:) | |||
real(kind=real64), | intent(in) | :: | beta | |||
real(kind=real64), | intent(in) | :: | gamma | |||
real(kind=real64), | intent(in) | :: | dt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(in) | :: | obj | |||
real(kind=real64), | intent(in) | :: | u_n(:) | |||
real(kind=real64), | intent(in) | :: | v_n(:) | |||
real(kind=real64), | intent(in) | :: | a_n(:) | |||
real(kind=real64), | intent(in) | :: | force(:) | |||
real(kind=real64), | intent(in) | :: | beta | |||
real(kind=real64), | intent(in) | :: | gamma | |||
real(kind=real64), | intent(in) | :: | M(:,:) | |||
real(kind=real64), | intent(in) | :: | C(:,:) | |||
real(kind=real64), | intent(in) | :: | dt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(in) | :: | obj | |||
real(kind=real64), | intent(in) | :: | u(:) | |||
real(kind=real64), | intent(in) | :: | u_n(:) | |||
real(kind=real64), | intent(in) | :: | v_n(:) | |||
real(kind=real64), | intent(in) | :: | a_n(:) | |||
real(kind=real64), | intent(in) | :: | gamma | |||
real(kind=real64), | intent(in) | :: | beta | |||
real(kind=real64), | intent(in) | :: | dt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(in) | :: | obj | |||
real(kind=real64), | intent(in) | :: | u(:) | |||
real(kind=real64), | intent(in) | :: | u_n(:) | |||
real(kind=real64), | intent(in) | :: | v_n(:) | |||
real(kind=real64), | intent(in) | :: | a_n(:) | |||
real(kind=real64), | intent(in) | :: | gamma | |||
real(kind=real64), | intent(in) | :: | beta | |||
real(kind=real64), | intent(in) | :: | dt |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(in) | :: | obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(in) | :: | this | |||
integer(kind=int32), | intent(in) | :: | DomainID | |||
integer(kind=int32), | intent(in) | :: | Direction |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(in) | :: | this | |||
integer(kind=int32), | intent(in) | :: | domainID | |||
integer(kind=int32), | intent(in) | :: | ModeID |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(inout) | :: | obj | |||
type(FEMDomain_), | intent(in), | optional | :: | femdomains(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | 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(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(inout) | :: | this | |||
integer(kind=int32), | intent(in) | :: | DomainID | |||
integer(kind=int32), | intent(in) | :: | NodeList(:) | |||
character(len=*), | intent(in) | :: | condition | |||
real(kind=real64), | intent(in) | :: | boundaryValue(:) | |||
logical, | intent(in), | optional | :: | overwrite |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(inout) | :: | obj | |||
character(len=*), | intent(in) | :: | name | |||
real(kind=real64), | intent(in), | optional | :: | ratio |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(inout) | :: | obj | |||
real(kind=real64), | intent(in), | optional | :: | x_min | ||
real(kind=real64), | intent(in), | optional | :: | x_max | ||
real(kind=real64), | intent(in), | optional | :: | y_min | ||
real(kind=real64), | intent(in), | optional | :: | y_max | ||
real(kind=real64), | intent(in), | optional | :: | z_min | ||
real(kind=real64), | intent(in), | optional | :: | z_max | ||
character(len=1), | intent(in), | optional | :: | direction | ||
integer(kind=int32), | intent(in) | :: | wavetype |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(inout) | :: | obj | |||
real(kind=real64), | intent(in), | optional | :: | x_min | ||
real(kind=real64), | intent(in), | optional | :: | x_max | ||
real(kind=real64), | intent(in), | optional | :: | y_min | ||
real(kind=real64), | intent(in), | optional | :: | y_max | ||
real(kind=real64), | intent(in), | optional | :: | z_min | ||
real(kind=real64), | intent(in), | optional | :: | z_max | ||
real(kind=real64), | intent(in), | optional | :: | displacement | ||
character(len=*), | intent(in), | optional | :: | direction | ||
character(len=*), | intent(in), | optional | :: | release |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(inout) | :: | obj | |||
integer(kind=int32), | intent(in) | :: | timestep | |||
character(len=1), | intent(in), | optional | :: | direction |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(inout) | :: | obj | |||
real(kind=real64), | intent(in), | optional | :: | t0 | ||
integer(kind=int32), | intent(in), | optional | :: | timestep(2) | ||
real(kind=real64), | intent(in), | optional | :: | wave(:,:) | ||
real(kind=real64), | intent(in), | optional | :: | AccelLimit | ||
real(kind=real64), | intent(in), | optional | :: | disp_magnify_ratio | ||
logical, | intent(in), | optional | :: | use_same_stiffness | ||
real(kind=real64), | intent(in), | optional | :: | dt | ||
character(len=*), | intent(in) | :: | timeIntegral | |||
logical, | intent(in), | optional | :: | use_same_matrix | ||
character(len=*), | intent(in), | optional | :: | preconditioning |
Type | Intent | Optional | Attributes | Name | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(inout) | :: | obj | |||||||||||||||||||||||||||||||||||||||||||||
real(kind=real64), | intent(in), | optional | :: | t0 | ||||||||||||||||||||||||||||||||||||||||||||
integer(kind=int32), | intent(in), | optional | :: | timestep(2) | ||||||||||||||||||||||||||||||||||||||||||||
real(kind=real64), | intent(in), | optional | :: | wave(:,:) | ||||||||||||||||||||||||||||||||||||||||||||
real(kind=real64), | intent(in), | optional | :: | AccelLimit | ||||||||||||||||||||||||||||||||||||||||||||
real(kind=real64), | intent(in), | optional | :: | disp_magnify_ratio | ||||||||||||||||||||||||||||||||||||||||||||
logical, | intent(in), | optional | :: | use_same_stiffness | ||||||||||||||||||||||||||||||||||||||||||||
real(kind=real64), | intent(in), | optional | :: | dt | ||||||||||||||||||||||||||||||||||||||||||||
character(len=*), | intent(in) | :: | timeIntegral | |||||||||||||||||||||||||||||||||||||||||||||
logical, | intent(in), | optional | :: | use_same_matrix | ||||||||||||||||||||||||||||||||||||||||||||
public subroutine LinearSolver(row_ptr, col_idx, val, rhs, x)Arguments
|
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(inout) | :: | obj | |||
real(kind=real64), | intent(in), | optional | :: | TOL |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(inout) | :: | Obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(inout) | :: | obj |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(inout) | :: | obj | |||
real(kind=real64), | intent(in), | optional | :: | x_min | ||
real(kind=real64), | intent(in), | optional | :: | x_max | ||
real(kind=real64), | intent(in), | optional | :: | y_min | ||
real(kind=real64), | intent(in), | optional | :: | y_max | ||
real(kind=real64), | intent(in), | optional | :: | z_min | ||
real(kind=real64), | intent(in), | optional | :: | z_max | ||
character(len=1) | :: | direction | ||||
real(kind=real64), | intent(in), | optional | :: | dumping_ratio |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(inout) | :: | this | |||
type(FEMDomain_), | intent(inout), | target | :: | femdomain | ||
real(kind=real64), | intent(in) | :: | YoungModulus(:) | |||
real(kind=real64), | intent(in) | :: | PoissonRatio(:) | |||
real(kind=real64), | intent(in) | :: | Density(:) | |||
integer(kind=int32), | intent(in), | optional, | allocatable | :: | fix_node_list_x(:) | |
integer(kind=int32), | intent(in), | optional, | allocatable | :: | fix_node_list_y(:) | |
integer(kind=int32), | intent(in), | optional, | allocatable | :: | fix_node_list_z(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(inout) | :: | this | |||
type(FEMDomain_), | intent(inout) | :: | femdomains(:) | |||
integer(kind=int32), | intent(in) | :: | connectivity(:,:) | |||
real(kind=real64), | intent(in) | :: | YoungModulus(:) | |||
real(kind=real64), | intent(in) | :: | PoissonRatio(:) | |||
real(kind=real64), | intent(in) | :: | Density(:) | |||
integer(kind=int32), | intent(in), | optional | :: | fix_node_list_x(:) | ||
integer(kind=int32), | intent(in), | optional | :: | fix_node_list_y(:) | ||
integer(kind=int32), | intent(in), | optional | :: | fix_node_list_z(:) | ||
integer(kind=int32), | intent(in) | :: | overset_algorithm | |||
real(kind=real64), | intent(in), | optional | :: | penalty |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | 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 | :: | scalar_field(:) | ||
integer(kind=int32), | intent(in), | optional | :: | with_stress(1:2) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(inout) | :: | this | |||
real(kind=real64), | intent(in), | optional | :: | error | ||
logical, | intent(in), | optional | :: | debug |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(SeismicAnalysis_), | intent(in) | :: | this | |||
integer(kind=int32), | intent(in) | :: | domainID | |||
type(FEMDomain_), | intent(inout) | :: | femdomain | |||
character(len=*), | intent(in) | :: | name | |||
integer(kind=int32), | intent(in), | optional | :: | MAX_MODE_NUM | ||
real(kind=real64), | intent(in), | optional | :: | amp |