⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userh_ekcohes.for

📁 两维弹性边界元程序
💻 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 + -