FrontISTR  6.0.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) :: distclr_c2f
31  real(kind=kreal) :: penclr_free
32  real(kind=kreal) :: penclr_nocheck
34  real(kind=kreal) :: tensile_force
35  real(kind=kreal) :: near_dist
36  end type tcontactparam
37 
38  type tcontactinterference
39  integer(kind=kint) :: if_type
40  real(kind=kreal) :: etime
41  real(kind=kreal) :: initial_pos
42  real(kind=kreal) :: end_pos
43  character(HECMW_NAME_LEN) :: cp_name
44  end type tcontactinterference
45 
46 contains
47 
48  subroutine init_contactparam( cparam )
49  type(tcontactparam), intent(out) :: cparam
50  cparam%name = ''
51  cparam%CLEARANCE = 1.d-2
52  cparam%CLR_SAME_ELEM = 5.d-3
53  cparam%CLR_DIFFLPOS = 1.d-2
54  cparam%CLR_CAL_NORM = 1.d-4
55  cparam%DISTCLR_INIT = 1.d-2
56  cparam%DISTCLR_FREE =-1.d-6
57  cparam%DISTCLR_NOCHECK = 1.d0
58  cparam%DISTCLR_C2F = 1.d-3
59  cparam%PENCLR_FREE = 1.d0
60  cparam%PENCLR_NOCHECK = 1.d10
61  cparam%TENSILE_FORCE =-1.d-2
62  cparam%NEAR_DIST = 0.0d0
63  end subroutine init_contactparam
64 
65  subroutine init_contact_if( contact_if )
66  type(tcontactinterference), intent(out) :: contact_if
67  contact_if%if_type = 1
68  contact_if%etime = 1.0d0
69  contact_if%initial_pos = 0.d0
70  contact_if%end_pos = 0.d0
71  contact_if%cp_name = ''
72  end subroutine init_contact_if
73 
74 end module mcontactparam
Definition: hecmw.f90:6
This module manage the parameters for contact calculation.
subroutine, public init_contactparam(cparam)
subroutine, public init_contact_if(contact_if)