【发布时间】:2019-09-09 09:30:17
【问题描述】:
我需要执行 50 次 Abaqus 模拟,每次模拟都会分析某种材料属性,并且每次都通过更改一个参数而有所不同。所以想法是编写一个 Matlab 脚本:
- 打开 .inp 文件
- 编辑感兴趣的材料参数
- 将其打印到一个新文件中,该文件将成为新的 .inp 文件
- 运行它来执行模拟
这是我迄今为止在一个非常简化的版本中完成的:
f= fopen('PRD8_30s.inp');
c = textscan(f,'%s %s %s %s %s ','delimiter',',');
fclose(f) ;
S = [c{1}];
A = {'5e-08'} ;
S(12496) = A ;
fid = fopen('file.inp','w') ;
fprintf(fid,'%s \n',S{:} );
fclose(fid) ;
我手动找到了感兴趣参数的位置(A 在 12496,因此低于 *Viscoelastic 线)。该代码实际上更改了我需要的参数,但存在重大问题:它打印一个新文件,其中包含相对于原始 .inp (12552 与 8737)的附加行,并且它不打印整个 .inp,而只打印第一列。
如何编辑 .inp 更改参数并获得具有可用于运行新模拟的编辑参数的新 .inp?
提前感谢您的帮助!
【问题讨论】:
标签: matlab parameters simulation abaqus calibration