📄 userh_ekcohes.for
字号:
!For User
! to prescribe COHESIVE SPRING STIFFNESS for each group of elements,
! which only applies to elements of crack and interface.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!NthGrp: Nth group
!WDmg: damage parameter
!UserEKSpring: stiffness of cohesive spring, as a funtion of WDmg
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!To learn the cohesive zone model, one may refer to
! B. Yang and K. Ravi-Chandar, 1996, "On the role of the process zone
! in dynamic fracture,"
! Journal of the Mechanics and Physics of Solids 44, 1955-1976.
! B. Yang and K. Ravi-Chandar, 1998, "Antiplane crack growth
! under quasistatic loading in a damaging material,"
! International Journal of Solids and Structures 35, 3695-3715.
! B. Yang and K. Ravi-Chandar, 1998, "A single-domain dual-boundary-element
! formulation incorporating a cohesive zone model for elastostatic cracks,"
! International Journal of Fracture 93, 115-144.
! B. Yang, S. Mall and K. Ravi-Chandar, 2001, "A cohesive zone model of
! fatigue crack growth in quasibrittle materials,"
! International Journal of Solids and Structures 38, 3927-3944.
**************************************************************
Function UserEKSpring(NthGrp,WDmg)
Implicit Real*8 (A-H,O-Z)
Implicit Integer (I-N)
Common/Example/NthExample
*================================================================
If(NthExample.eq.1) then
UserEKSpring=Ex1_UserEKSpring(NthGrp,WDmg)
return
elseif(NthExample.eq.2) then
UserEKSpring=Ex2_UserEKSpring(NthGrp,WDmg)
return
elseif(NthExample.eq.3) then
UserEKSpring=Ex3_UserEKSpring(NthGrp,WDmg)
return
elseif(NthExample.eq.4) then
UserEKSpring=Ex4_UserEKSpring(NthGrp,WDmg)
return
endif
*====================================================
*=============================================================
return
end
**************************************************************
Function Ex1_UserEKSpring(NthGrp,WDmg)
Implicit Real*8 (A-H,O-Z)
Implicit Integer (I-N)
*====================================================
Ex1_UserEKSpring=0.d0
*=============================================================
return
end
**************************************************************
Function Ex2_UserEKSpring(NthGrp,WDmg)
Implicit Real*8 (A-H,O-Z)
Implicit Integer (I-N)
*====================================================
Ex2_UserEKSpring=0.d0
*=============================================================
return
end
**************************************************************
Function Ex3_UserEKSpring(NthGrp,WDmg)
Implicit Real*8 (A-H,O-Z)
Implicit Integer (I-N)
*====================================================
Ex3_UserEKSpring=1.d5
*=============================================================
return
end
**************************************************************
Function Ex4_UserEKSpring(NthGrp,WDmg)
Implicit Real*8 (A-H,O-Z)
Implicit Integer (I-N)
Dimension PYieldGrp(200),WFailGrp(200)
*====================================================
If(NthGrp.eq.1.or.NthGrp.eq.2.or.NthGrp.eq.3) then
Ex4_UserEKSpring=1.d6 !perfectly bonded
else
Ex4_UserEKSpring=1.d-6 !crack
endif
*=============================================================
return
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -