FrontISTR  5.7.0
Large-scale structural analysis program with finit element method
fstr_contact_param.f90
Go to the documentation of this file.
1 !-------------------------------------------------------------------------------
2 ! Copyright (c) 2021 FrontISTR Commons
3 ! This software is released under the MIT License, see LICENSE.txt
4 !-------------------------------------------------------------------------------
8 
9  use hecmw
10 
11  implicit none
12 
13  private
14  public :: tcontactparam
15  public :: init_contactparam
16  public :: tcontactinterference
17  public :: init_contact_if
18 
19  type tcontactparam
20  character(HECMW_NAME_LEN) :: name
21  real(kind=kreal) :: clearance
22  real(kind=kreal) :: clr_same_elem
23  real(kind=kreal) :: clr_difflpos
24  real(kind=kreal) :: clr_cal_norm
25  real(kind=kreal) :: distclr_init
26  real(kind=kreal) :: distclr_free
27  real(kind=kreal) :: distclr_nocheck
29  real(kind=kreal) :: tensile_force
30  real(kind=kreal) :: box_exp_rate
31  end type tcontactparam
32 
33  type tcontactinterference
34  integer(kind=kint) :: if_type
35  real(kind=kreal) :: etime
36  real(kind=kreal) :: initial_pos
37  real(kind=kreal) :: end_pos
38  character(HECMW_NAME_LEN) :: cp_name
39  end type tcontactinterference
40 
41 contains
42 
43  subroutine init_contactparam( cparam )
44  type(tcontactparam), intent(out) :: cparam
45  cparam%name = ''
46  cparam%CLEARANCE = 1.d-4
47  cparam%CLR_SAME_ELEM = 5.d-3
48  cparam%CLR_DIFFLPOS = 1.d-2
49  cparam%CLR_CAL_NORM = 1.d-4
50  cparam%DISTCLR_INIT = 1.d-6
51  cparam%DISTCLR_FREE =-1.d-6
52  cparam%DISTCLR_NOCHECK = 1.d0
53  cparam%TENSILE_FORCE =-1.d-8
54  cparam%BOX_EXP_RATE = 1.05d0
55  end subroutine init_contactparam
56 
57  subroutine init_contact_if( contact_if )
58  type(tcontactinterference), intent(out) :: contact_if
59  contact_if%if_type = 1
60  contact_if%etime = 1.0d0
61  contact_if%initial_pos = 0.d0
62  contact_if%end_pos = 0.d0
63  contact_if%cp_name = ''
64  end subroutine init_contact_if
65 
66 end module mcontactparam
mcontactparam::init_contactparam
subroutine, public init_contactparam(cparam)
Definition: fstr_contact_param.f90:44
mcontactparam
This module manage the parameters for contact calculation.
Definition: fstr_contact_param.f90:7
hecmw
Definition: hecmw.f90:6
m_fstr::etime
real(kind=kreal) etime
Definition: m_fstr.f90:140
mcontactparam::init_contact_if
subroutine, public init_contact_if(contact_if)
Definition: fstr_contact_param.f90:58