在本教程中,您将学习如何在HyperStudy中注册Compose、Python或Tem)plex functions。
在开始之前,请将本教程中使用的模型文件从/HS-1506/ 复 制到您的工作目录。
.py和.OML File包含一个计算两条曲线之间面积的函数。
本教程的目标是查找Radioss Material参数值,以便拉伸测试模拟的应力-应变曲线与拉伸测试实验曲线相匹配。
HS-1507:使用数据源中的面积工具进行Material校准提供了一种使用面积工具设置此问题的替代方法。
HS-4200:使用系统识别进行材料校准提供了一种使用系统识别来设置此问题的替代方法。
在本教程结束时,您将了解如何:
·使用HyperStudy - Editor从Radioss文件创建输入模板
·注册Compose、Python或Templex functions
·设置研究
·运行系统识别优化研究
标准拉伸试样的四分之一使用对称条件进行建模。通过在左端施加速度对试样施加牵引力。
单位为:mm、ms、g、N、MPa。
要表征的材料是6063 T7铝。它具有各向同性的弹塑性行为,可以通过Johnson-Cook模型无损地再现(RADIOSS Block Law2),定义为:
在本教程中,参数a、b、n、σmax(最大应力)和杨氏模量被定义为输入变量。通过实验测试获得的应力-应变曲线如图3所示。
对于模拟结果,通过将节点1的位移除以参考长度(75 mm) 来获得工程应变,通过将截面1中的力除以其初始表面(10.2 mm2) 来获得工程应力。
在此步骤中,您可以在HyperStudy中创建基本输入模板,也可以在研究目录中使用基本输入模板。
1.启动HyperStudy。
2.在菜单栏中,单击Tools>Editor。此时将打开Editor。
3.在File字段中,打开TENSILE_TEST_0000.rad文件。
4.在查找区域中,输入/MAT/PLAS_JOHNS/1并单击。
HyperStudy突出显示/MAT/PLAS_JOHNS/1。
5.通过突出显示第51行中的前20个字段来选择变量E。
Tip:按Ctrl激活选择器(设置为20个字符),然后单击该值,快速突出显示20个字符的字段。
6.右键单击突出显示的字段,然后从上下文菜单中选择Create Parameter。
7.在Parameter: varname_1对话框中,定义以下选项,然后单击OK。
a)在Label字段中,输入E_Young。
b)将Lower Bound更改为50000。
c)将Nominal值更改为60400。
d)将Upper Bound更改为70000。
e)将Format更改为%20.5f。
8.使用表1 中提供的信息定义另外四个变量。
表1.
| Variable | Label | Lower Bound | Nominal | Upper Bound | Format |
9.单击Save。
10.在Save Template对话框中,将文件另存为TENSILE_TEST_0000.tpl。
11.关闭Editor。
在此步骤中,您将使用Compose/OML、Python或Templex注册曲线差集函数。
函数curve_difference计算所提供函数的公共域上两条曲线之差的绝对值的积分。这是一个健壮的函数,只有当两个函数相等时,它才会趋于零。
·使用Compose注册curve_difference functions。
∫ba|f(x)−g(x)|dx∫ab|f(x)−g(x)|dx
a)启动Compose。
b)在菜单栏中,单击File>Open。
c)在Open File对话框中,打开文件Curve_Difference.oml。
d)高亮显示函数curve_difference(...)。
e)右键单击突出显示的文本,然后从上下文菜单中选择Register Function。
f)在Register Function对话框中,单击OK。
g)关闭Compose。
·使用Python注册curve_difference functions。
a)在您最喜欢的文本编辑器中,打开hst_py.mvw文件。
b)将 替换为Curve_difference.py文件的实际位置。
*EndDefaults()
c)保存对Preferences File.所做的更改。
d)关闭文本编辑器。
e)在HyperStudy中,从菜单栏中单击File>UsePreferences File.。
f)在Altair HyperStudy - Set Preferences File对话框中,导航到您的工作目录并打开hst_py.mvw文件。
· 使用Templex注册curve_difference functions。
a)在菜单栏中,单击File>UsePreferences File.。
b)在**HyperStudy - 设置Preferences File.**对话框中,打开curve_difference.mvw文件。
1.通过以下方式开始新研究:
a)在菜单栏中,单击File>New。
b)在功能区上,单击。
2.在Add Study对话框中,输入研究名称,选择研究的位置,然后单击OK。
3.转到Define Models步骤。
4.添加Parameterized File模型。
a)从Directory中,将TENSILE_TEST_0000.tpl文件拖放到工作区中。
b)在Solver Input File列中,输入TENSILE_TEST_0000.rad。
这是HyperStudy在任何评估期间写入的求解器输入文件的名称。
c)在Solver execution script列中,选择RADIOSS。
d)验证Solver input arguments字段是否显示为${filepath}。
此求解器输入参数运行RADIOSS的Starter和Engine进行碰撞分析,并且还会阻止从动画文件创建.h3d结果文件。
Note:X是用于模拟的CPU数量。
5.定义模型依赖关系。
a)单击Model Resources。
b)在Model Resource对话框中,选择Model 1(m_1)。
c)单击Resource Assistant>Add File。
d)在Select File对话框中,导航到您的工作目录并打开TENSILE_TEST_0001.rad文件。
e)将Operation设置为Copy。
f)单击Close。
6.单击Import Variables。
从TENSILE_TEST_0000.tpl资源文件导入5个输入变量。
7.转到Define Input Variables步骤。
8.查看输入变量的下限和上限范围。
1.转到Test Models步骤。
2.单击Run Define。在study Directory中创建approaches/setup_1-def/ 目录。approaches/setup_1-def/run__00001/m_1目录包含输入文件,该文件是试运行的结果。
在此步骤中,您将使用curve_difference functions创建和评估输出响应。
为了使RADIOSS应力-应变曲线与实验数据拟合,必须比较两条曲线。
1.Create the Area Between Two Curves输出响应。
a)转到Definition>Define Output Responses步骤。
b)单击Add Output Response。
c)在工作区的Label字段中,输入Area Between Two Curves。
2.创建标记为Disp_sim的数据源。
a)从Directory中,将位于approaches/setup_1-def/run__00001/m_1中的TENSILE_TESTT01文件拖放到工作区中。
b)在File Assistant对话框中,将Reading技术设置为Altair® HyperWorks®,然后单击Next。
c)选择Single Item in a Time Series,然后单击Next。
d)定义以下选项,然后单击Next。
将Type设置为None/Node 1。
将Request设置为4 Node 1。
将Component设置为DX-X Displacement。
e)在Create a new Data Source下,在Label字段中输入Disp_sim。
f)在新的Response复选框中禁用Use数据源。
g)单击Finish。
定义以下选项:
a)将Type设置为Section/SECTION_2。
b)将Request设置为2 section 1。
c)将Component设置为FT-Resultant Tangent Force。
4.创建标记为Strain_exp的第三个数据源。
a)在Area Between Two Curves输出响应的Expression列中,单击...。
b)在Expression Builder中,单击Data Sources选项卡。
c)单击Add Data Source。
新数据源将添加到工作区。
d)在新数据源的Label字段中,输入Strain_exp。
e)在File字段中,单击...。
f)在Data Source Builder中,定义数据源并单击OK。
在File字段中,导航到您的工作目录并打开experiment.xy文件。
将Tool设置为File Source。
将Type设置为Unknown。
将Request设置为Block1。
将Component设置为Column 1。
选择以下选项:
a)将Type设置为Unknown。
b)将Request设置为Block1。
c)将Component设置为Column 2。
6.Define Area Between Two Curves输出响应。
a)在Expression Builder中,单击Functions选项卡。
b)从可用函数列表中,选择curve_difference。
c)单击Insert varname。
函数curve_difference() 将显示在Evaluate Expression字段中。
d)在Evaluate Expression字段中,编辑表达式,使其显示为curve_difference(m_1_ds_1/75,m_1_ds_2/10.2,ds_3,ds_4)。
Note:在表达式中,你会注意到四个数据源的输入方式不同。使用File Assistant创建的前两个数据源的varname标记为m_1_ds_#,而在Expression Builder中创建的最后两个数据源的varname标记为ds_#。
位移和力是从仿真中读取的,而从实验中读取的是应变和应力。为了将位移和力转换为应变和应力,您需要将位移除以长度(75),力除以面积(10.2)。
7.单击OK关闭Expression Builder。
8.单击Evaluate以提取响应值。
1.添加优化。
a)在Explorer中,右键单击并从上下文菜单中选择Add。
b)在Add对话框中,选择Optimization。
c)对于Definition from,选择一种方法,然后单击OK。
2.转到Optimization>Definition>Define Output Responses步骤。
3.单击Objectives/Constraints - Goals选项卡。
4.在Area Between Two Curves输出响应上应用目标。
a)单击Add Goal。
b)在Type列中,选择Minimize。
5.转到Optimization>Specifications步骤。
6.在工作区中,将Mode设置为Adaptive Response Surface Method(ARSM)。
Note:只启用对问题表述有效的方法。
7.单击Apply。
8.转到Evaluate步骤。
9.单击Evaluate Tasks。
10.单击Evaluation Plot选项卡以绘制目标的优化迭代历程记录。