ABAQUS中fric_coef子程序
想用Fortran语言把这个公式编入.for文档中,但总是出现错误,会的朋友能否指点一下 subroutine fric_coef (C Write only -
* fCoef, fCoefDeriv,
C Read only -
* nBlock, nProps, nTemp, nFields,
* jFlags, rData,
* surfInt, surfSlv, surfMst,
* props, slipRate, pressure,
* tempAvg, fieldAvg
* real a, b, c )
C
include 'aba_param.inc'
C
dimension fCoef(nBlock),
* fCoefDeriv(nBlock,3),
* props(nProps),
* slipRate(nBlock),
* pressure(nBlock),
* tempAvg(nBlock),
* fieldAvg(nBlock,nFields)
C
parameter( iKStep = 1,
* iKInc = 2,
* nFlags = 2
* a = 0.1,
* b = -1.2,
* c = 0.3)
C
parameter( iTimStep = 1,
* iTimGlb= 2,
* iDTimCur = 3,
* nData = 3,)
C
dimension jFlags(nFlags), rData(nData)
C
character*80 surfInt, surfSlv, surfMst
C
xMuk = props(1)
xMus = props(2)
beta = props(3)
DOk = 1, nBlock
fCoef(k)=(a*exp(b*pressure(k))+c)
*
END DO
return
end
subroutine fric_coef (
C Write only -
* fCoef, fCoefDeriv,
C Read only -
* nBlock, nProps, nTemp, nFields,
* jFlags, rData,
* surfInt, surfSlv, surfMst,
* props, slipRate, pressure,
* tempAvg, fieldAvg )
C
include 'aba_param.inc'
real :: a, b, c
C
dimension fCoef(nBlock),
* fCoefDeriv(nBlock,3),
* props(nProps),
* slipRate(nBlock),
* pressure(nBlock),
* tempAvg(nBlock),
* fieldAvg(nBlock,nFields)
C
parameter( iKStep = 1,
* iKInc = 2,
* nFlags = 2,
* a = 0.1,
* b = -1.2,
* c = 0.3)
C
parameter( iTimStep = 1,
* iTimGlb= 2,
* iDTimCur = 3,
* nData = 3)
C
dimension jFlags(nFlags), rData(nData)
C
character*80 surfInt, surfSlv, surfMst
C
xMuk = props(1)
xMus = props(2)
beta = props(3)
DOk = 1, nBlock
fCoef(k)=(a*exp(b*pressure(k))+c)
* *(xMuk+(xMus-xMuk)*exp(-beta*slipRate(k)))
END DO
return
end
青衣巷 发表于 2021-11-19 15:58
subroutine fric_coef (
C Write only -
* fCoef, fCoefDeriv,
很感谢您的回复,我试着运行了一下,又出现了这个错误the implicit statement is not position corrently within the scoping unit,我查了一下好像是implicit语句位置不对,刚接触Fortran语言不是很懂,想再请教一下 include 'aba_param.inc'
real :: a, b, c
交换一下位置
青衣巷 发表于 2021-11-20 10:33
include 'aba_param.inc'
real :: a, b, c
能运行了,谢谢:-D
页:
[1]