更改FISH函数内的字符串变量,以通过FLAC命令用作FLAC分析的输入

时间:2016-08-18 15:50:59

标签: flac

我正在使用FLAC创建一个堤坝模型,我正在尝试自动化材料属性输入。有3种材料。我有一个在前一个FISH函数中定义的密度变量列表,如下所示:_d1 = 3.5,_d2 = 3.6,_d3 = 3.7。数字1,2和3对应于FLAC模型中的不同材料。我想循环遍历材料和变量,并为每种材料输入适当的密度。

我想它会涉及循环遍历材质,然后以某种方式将字符串变成浮点变量。

到目前为止我所拥有的只是

;FLAC commands

ini ex_1=1 group='material 1'
ini ex_1=2 group='material 2'
ini ex_1=3 group='material 3'
;and:
def setup
numberof_mats = 3
end
setup

1 个答案:

答案 0 :(得分:0)

创建一个循环遍历每个材质的函数,然后遍历每个区域,当您循环的材料编号等于循环的区域时,可以通过创建随循环变化的字符串变量来分配变量材料编号,通过rez_exe命令在prop命令中使用。可能有一种更简单的方法,但是:

def _assign
loop _n(1,numberof_mats)
loop i (1,izones)
loop j (1,jzones)
if ex_1(i,j)= _n
_xx=i
_yy=j
_d_string=string('_d')+string(_n) ;Creates str var that changes with _n loop
_d_float=parse(_d_string,1) ;converts string to a regular var, float here.
_aa=rez_exe('prop d=_d_float i _xx j _yy') ;_aa could be any variable
endif
endloop
endloop
endloop
end
_assign