FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
dynamic_var_init.f90
Go to the documentation of this file.
1 !-------------------------------------------------------------------------------
2 ! Copyright (c) 2019 FrontISTR Commons
3 ! This software is released under the MIT License, see LICENSE.txt
4 !-------------------------------------------------------------------------------
8 
10 
11  use m_fstr
13 
14 contains
15 
16  subroutine dynamic_init_varibles( hecMESH, hecMAT, fstrSOLID, fstrEIG, fstrDYNAMIC, fstrPARAM )
17 
18  implicit none
19 
20  type(hecmwst_local_mesh) :: hecmesh
21  type(hecmwst_matrix) :: hecMAT
22  type(fstr_eigen) :: fstrEIG
23  type(fstr_solid) :: fstrSOLID
24  type(fstr_dynamic) :: fstrDYNAMIC
25  type(fstr_param) :: fstrPARAM
26 
27  integer(kind=kint) :: j
28 
29  call dynamic_mat_ass_load (hecmesh, hecmat, fstrsolid, fstrdynamic, fstrparam)
30 
31  if( fstrsolid%VELOCITY_type == kbcinitial ) then
32  do j = 1, hecmesh%n_node*hecmesh%n_dof
33  fstrdynamic%ACC(j,1)=(hecmat%B(j)-fstrdynamic%ray_m*fstreig%mass(j)*fstrdynamic%VEL(j,1))/&
34  fstreig%mass(j)
35  enddo
36  elseif( fstrsolid%ACCELERATION_type == kbcinitial ) then
37  do j = 1, hecmesh%n_node*hecmesh%n_dof
38  fstrdynamic%VEL(j,1)=(hecmat%B(j)-fstreig%mass(j)*fstrdynamic%ACC(j,1))/&
39  (fstrdynamic%ray_m*fstreig%mass(j))
40  enddo
41  endif
42 
43  end subroutine dynamic_init_varibles
44 
45 end module m_dynamic_init_variables
m_fstr::fstr_eigen
Package of data used by Lanczos eigenvalue solver.
Definition: m_fstr.f90:593
m_fstr::kbcinitial
integer(kind=kint), parameter kbcinitial
Definition: m_fstr.f90:66
m_fstr::fstr_solid
Definition: m_fstr.f90:238
m_fstr::fstr_dynamic
Data for DYNAMIC ANSLYSIS (fstrDYNAMIC)
Definition: m_fstr.f90:504
m_fstr::fstr_param
FSTR INNER CONTROL PARAMETERS (fstrPARAM)
Definition: m_fstr.f90:154
m_dynamic_init_variables
This module provides functions to initialize variables when initial velocity or acceleration boundary...
Definition: dynamic_var_init.f90:9
m_dynamic_mat_ass_load::dynamic_mat_ass_load
subroutine dynamic_mat_ass_load(hecMESH, hecMAT, fstrSOLID, fstrDYNAMIC, fstrPARAM, iter)
This function sets boundary condition of external load.
Definition: dynamic_mat_ass_load.f90:16
m_fstr
This module defines common data and basic structures for analysis.
Definition: m_fstr.f90:15
m_dynamic_mat_ass_load
This module contains function to set boundary condition of external load in dynamic analysis.
Definition: dynamic_mat_ass_load.f90:7
m_dynamic_init_variables::dynamic_init_varibles
subroutine dynamic_init_varibles(hecMESH, hecMAT, fstrSOLID, fstrEIG, fstrDYNAMIC, fstrPARAM)
Definition: dynamic_var_init.f90:17