- 积分
- 1
- 注册时间
- 2011-11-25
- 仿真币
-
- 最后登录
- 1970-1-1
|
学习marc很长时间了,子程序的学习用了我大部分时间,经过长时间的时间,我发现了一个代码非常好用,在调试子程序时这两句话可以使你的效率大大提高,很快定为到问题处,今天分享给大家,多多支持!!!代码如下:
OPEN(UNIT=10,FILE='text.txt')
WRITE(10,*) N(2)
虽然非常简单,但是非常有用!
下面介绍一下如何使用这两个代码。我想大家一看便知,这两句话的意思无非是建立一个文件,然后写入一些东西,对,就这么简单,但是在调试子程序时作用很大的~~
下面这是我做激光焊接模拟时的子程序代码,激光焊接热源模型是用高斯柱状热源和高斯面热源复合来完成的,不做解释,主要介绍那两句代码的用处。
subroutine flux(f,temflu,N,time)
implicit real*8 (a-h,o-z)
dimension N(3),temflu(6)
REAL rb,h,b,z0,r0,k,p,v,pi,ka,kb,c,ib,d
c OPEN(UNIT=10,FILE='text.txt')
c WRITE(10,*) N(2)
r=sqrt((temflu(4)-v*time)**2
& +temflu(5)**2)
c=abs(temflu(6))
if((N(2).eq.3).and.r.le.r0) then
IF(c.le.z) THEN
ib=kb+b
f=ib*exp(-2*r*r/(rb*rb))*exp(-h*c)
ELSE f=0
END IF
else if((N(2).ne.3).and.r.lt.10*rb) then
rb=10*rb
f=0.7*2*p*(1-k)/(pi*rb*rb)*exp(-2*r*r/(rb*rb))
else f=0
end if
RETURN
END
如果把代码加在开头,那么通过看当前文件夹里有没有生成text.txt的文件就可以确定子程序是否编译成功。
当你想知道子程序里某个变量的数值时,就可以把N(2)换成相应的变量,这样就会在该文件里输出变量的数值。
小弟菜鸟一个,忘大侠们多多关照,第一次发技术贴,希望大家多多支持,谢谢了!!!
|
评分
-
1
查看全部评分
-
|