首页/文章/ 详情

HyperStudy_使用系统识别进行材料参数校准 HS-4200

3月前浏览737

 

了解一种用于模拟弹塑性材料的RADIOSS材料定律的参数表征方法。

在开始之前,请将本教程中使用的模型文件从 /HS-4200/ 复 制到您的工作目录。

研究了延展性铝合金的表征。执行RADIOSS模拟以复 制实验性拉伸测试。确定材料定律的参数以拟合实验结果。

HS-1506:使用曲线差值积分进行材料校准提供了一种使用HyperMath或Python functions来测量两条曲线之间的差异来设置此问题的替代方法。

HS-1507:使用数据源中的面积工具进行Material校准提供了一种使用面积工具设置此问题的替代方法。

一、模型定义

标准拉伸试样的四分之一使用对称条件进行建模。通过在左端施加速度对试样施加牵引力。

单位为:mm、ms、g、N、MPa。

 
 

要表征的材料是6063 T7铝。它具有各向同性的弹塑性行为,可以通过Johnson-Cook模型无损地再现(RADIOSS Block Law2),定义为:

σ      
应力水平      
εp      
塑性应变      
a      
屈服应力      
b      
硬化模量      
n      
硬化指数      
c      
应变率系数      
ε      
应变率      
ε0      
参考应变率      

在本教程中,参数a、b、n、σmax(最大应力)和杨氏模量被定义为Inputs Variable。通过实验测试获得的应力-应变曲线如图3所示。

 

对于模拟结果,通过将节点1的位移除以参考长度(75 mm) 来获得工程应变,通过将截面1中的力除以其初始表面(10.2 mm2) 来获得工程应力。

 

二、创建基本输入模板

在此步骤中,在HyperStudy中创建基本输入模板,或使用研究目录中的基本输入模板。

1.启动HyperStudy。

2.在菜单栏中,单击Tools>Editor

此时将打开Editor

3.在File字段中,导航到您的工作目录并打开文件TENSILE_TEST_0000.rad。

Note: RADIOSS使用20个字符的固定字段作为属性。

4.在查找区域中,输入/MAT/PLAS_JOHNS/1并单击。

HyperStudy在TENSILE_TEST_0000.rad文件中突出显示/MAT/PLAS_JOHNS/1。

 

5.从第51行的开头开始并突出显示前20个字段,选择E。

Tip: 要帮助您选择20个字符的字段,请按Control键激活选择器(设置为20个字符),然后单击value

 

6.右键单击突出显示的字段,然后从上下文菜单中选择Create Parameter。

此时将打开Parameter: varname_1对话框。

7.在Label字段中,输入E_Young。

8.更改边界。

o下限:50000

o初始值: 60400

o上限:70000

9.在Format字段中,输入%20.5f。

10.单击OK

 

11.使用表1 中提供的信息定义另外四个变量。

Note: 一些初始值与原始文件中的值不同。

表1.

Variable      
Label      
Lower Bound      
Nominal      
Upper Bound      
Format      
a      
a_PlasticityYieldStress      
90      
110      
120      
%20.5f      
b      
b_HardeningCoeff      
100      
125      
160      
%20.5f      
n      
n_HardeningExpo      
0.1      
0.2      
0.3      
%20.5f      
sigmax      
Sigma_Max      
250      
280      
290      
%20.5f      

12.单击OK关闭Editor

13.在Save Template对话框中,导航到您的工作目录并将文件另存为TENSILE_TEST_000.tpl。

三、执行研究设置

1.通过以下方式开始新研究:

o在菜单栏中,单击File>New

o在功能区上,单击。

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 Scrip列中,选择RADIOSS

d)验证Solver input arguments字段是否显示为$(file)。

此参数运行Starter和RADIOSS的Engine进行崩溃分析。它还会阻止从动画文件创建.h3d结果文件。X是用于模拟的CPU数量。

5.定义模型依赖关系

a)单击Model Resources

此时将打开Model Resource对话框。

b)选择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个Inputs Variable。

7.转到Define Input Variables步骤。

8.查看Inputs Variable的下限和上限范围。

四、执行试运行

1.转到Test Models步骤。

2.单击Run Define

将在study目录中创建一个approaches/setup_1-def/ 目录。approaches/setup_1-def/run__00001/m_1目录包含输入文件,该文件是试运行的结果。

五、创建和评估输出响应

在此步骤中,您将RADIOSS应力-应变曲线与实验数据进行比较。

您将关注曲线中的三个特定点以进行此比较。由于损伤不是用这个定律建模的,所以在颈缩点之后不需要比较。

·应变时实验应力与RADIOSS之差等于0.02(1)

·实验菌株与RADIOSS在颈缩点的差异(2)

·颈缩点的实验应力和RADIOSS之间的差异(3)

 

1.转到Define Output Responses步骤。

2.创建标记为Disp_sim的数据源。

a)单击Data Sources选项卡。

b)从Directory中,将位于approaches/setup_1-def/run__00001/m_1中的TENSILE_TEST01文件拖放到工作区中。

此时将打开Data Source Builder。

c)对于Tool ,选择File Source

d)定义以下选项:

Type:None/Node1

Request:4 node 1

component:DX-XD isplacement

e)单击OK

 

f)在工作区中,将数据源的标签更改为Disp_sim。

 

3.重复步骤2 以创建标记为Force_sim的第二个数据源,并在此过程中进行以下更改:

a)将Type设置为Section/SECTION_2

b)将Request设置为2 section 1

c)将Component设置为FT-Resultant Tangent Force

4.创建3个输出响应。

a)单击Define Output Responses步骤。

b)单击Add Output Response三次

c)在工作区的Label列中,将三个输出响应的标签更改为Radioss_Strain_0_2、Radioss_Stress_Necking和Radioss_Strain_Necking。

 

5.定义Radioss_Strain_0_2输出响应。

a)在输出响应Radioss_Strain_0_2的Expression列中,单击(...)的。

此时将打开Expression Builder。

b)单击Function选项卡。

c)从函数列表中,选择lininterp

d)单击Insert varname

函数lininterp(,,) 将显示在Evaluate Expression字段中。

e)在Evaluate Expression字段中,输入lininterp functions中的(ds_1/75,ds_2/10.2,0.02)。

此表达式计算Strain等于0.02时相对于Strain的应力。

 

f)单击OK

6.定义Radioss_Stress_Necking输出响应。

a)在输出响应Radioss_Stress_Necking的Expression列中,单击 (...) 的。

此时将打开Expression Builder。

b)单击Data Sources选项卡。

c)从数据源列表中,选择Force_sim

d)从Insert Varname下拉列表中,选择Maximum

 

e)单击Insert varname

函数max(ds_2) 将显示在Evaluate Expression字段中。

f)在Evaluate Expression字段中,编辑函数,使其读取max(ds_2)/10.2。

这是力的最大值(ds_2),它在最小应变和力最大值处的应变之间修剪,除以10.2(表面积)以获得应力。

Note: 在一些类似的曲线拟合问题中,可能需要在极限载荷后修剪数据,这样做的表达式是: max(ds_2[subrange(ds_1,min(m_1_ds_1),ds_1[indexofmax(ds_2)])/10.2.

g)单击OK

7.定义Radioss_Strain_Necking输出响应。

a)在输出响应Radioss_Strain_Necking的Expression列中,单击 (...) 的。

此时将打开Expression Builder。

b)在Evaluate Expression字段中,输入ds_1[indexofmax(ds_2)]/75。

这是力值最大值处的位移(ds_1) 除以75(参考长度)以获得应变。

Note: 在一些类似的曲线拟合问题中,可能需要在极限加载后修剪数据,这样做的表达式是:ds_1[maxindex(subrange(ds_1,min(ds_1),ds_1[indexofmax(ds_2)])]/75.

c)单击OK

8.单击Evaluate以提取响应值。

六、运行优化

1.添加优化。

a)在Explorer中,右键单击并从上下文菜单中选择Add。

b)在Add对话框中,选择Optimization

c)对于Definition from,选择一种方法,然后单击OK。

2.转到Optimization 1>Definition>Define Output Responses步骤。

3.单击Objectives/Constraints - Goals选项卡。

4.添加目标。

a)单击Add Goal

b)在Apply On列中,选择Radioss_Strain_0_2

c)在Type列中,选择More

d)在第1列中,选择System Identification

e)在第2列中,输入141.00000。

5.对Radioss_Stress_Necking和Radioss_Strain_Necking输出响应应用目标。

a)为Radioss_Stress_Necking指定以下内容:

Type:System Identification

目标值: 148.00000

b)为Radioss_Strain_Necking指定以下内容:

Type:System Identification

目标值:0.0800000

6.转到Optimization>Specifications步骤。

7.在工作区中,将Mode设置为Adaptive Response Surface Method(ARSM)

Note: 只启用对问题表述有效的方法。

8.单击Apply

9.转到Optimization>Evaluate步骤。

10.单击Evaluate Tasks以启动优化。

11.查看迭代历程记录。

a)单击Iteration Plot选项卡。

b)激活 可在其自己的绘图中查看每个通道。

c)使用Channel selector,选择三个目标和Objective Function。

前三个选择是系统识别优化问题中使用的实际值。观察他们的目标历程,看看他们的价值观确实接近各自的目标价值观。最后的图是系统识别问题中使用的标量目标;实际目标值和目标值之间平方差的标准化和。请注意,此组合函数的值已通过优化降低。

 


来源:TodayCAEer
SystemRADIOSSpythonUM材料DAP
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-05-27
最近编辑:3月前
TodayCAEer
本科 签名征集中
获赞 85粉丝 191文章 740课程 2
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈