材料力学仿真软件:MSC Nastran_(2).材料力学基础
材料力学基础
1. 材料的基本属性
在材料力学仿真软件中,材料的关键参数构成了仿真分析的基础。其主要参数包括弹性模量(E)、泊松比(\nu)、密度(\rho)、屈服强度(\sigma_y)以及断裂强度(\sigma_t)等指标。掌握这些参数的意义及其在仿真软件中的应用至关重要。

1.1 弹性模量
弹性模量(E)表征了材料在弹性范围内对抗变形的能力。该参数描述了材料在受力时的线性应变-应力关系,在 MSC Nastran 中由 MAT1 卡进行定义。
1.1.1 代码示例
MAT1, 1, 210E6, , 0.3, 7.8E-9
MAT1 是材料属性类型的标识。
1 是材料的标识号。
210E6 是弹性模量(单位:Pa)。
0.3 是泊松比。
7.8E-9 是材料的密度(单位:kg/mm^3)。
1.2 泊松比
该参数(ν)被定义为衡量材料在受力时横向与纵向变形比率的物理量。在材料受到拉伸或压缩过程中产生的横向与纵向变形之比则被称为泊松比。此参数通常与其弹性模量共同构成弹性力学的基本概念。
1.2.1 代码示例
MAT1, 1, 210E6, , 0.3, 7.8E-9
0.3是泊松比。
1.3 密度
密度(ρ)表示单位体积中的物质质量,并被用来计算材料的重量和惯性矩等特性。通过 MSC Nastran 的 MAT1 卡配置程序能方便地设定密度值。
1.3.1 代码示例
MAT1, 1, 210E6, , 0.3, 7.8E-9
7.8E-9是密度(单位:kg/mm^3)。
1.4 屈服强度
屈强应力(σy)是材料承受外力时出现塑性变形阶段的临界值,在这一应力水平下材料才会开始表现出非弹性行为特性。通过 MSC Nastran 软件平台借助 MAT24 材料参数卡片能够方便地完成屈强应力指标的数值设定
1.4.1 代码示例
MAT24, 2, 250E6, 450E6, 0.3, 7.8E-9
MAT24 是材料属性类型的标识。
2 是材料的标识号。
250E6 是屈服强度(单位:Pa)。
450E6 是断裂强度(单位:Pa)。
0.3 是泊松比。
7.8E-9 是密度(单位:kg/mm^3)。
1.5 断裂强度
断裂强度(σu)代表材料承受载荷直至断裂所需的最小应力值。在MSC Nastran中通过MAT24卡来定义这一材料参数
1.5.1 代码示例
MAT24, 2, 250E6, 450E-6, 0.3, 7.8E-9
450E6是断裂强度(单位:Pa)。
2. 材料模型
材料模型是表征材料在不同应力状态下的行为特征的数学表达式。这些常见的材料模型主要包括线弹性假设、塑性断裂理论以及超弹性本构关系等。
2.1 线弹性模型
线弹性模型是描述材料在弹性范围内行为的基础性模型。
在线弹性范围内工作的材料适用这一基础性的理论框架。
在这种情况下,
其基本假设即为应力与应变之间的关系呈现线性特征,
并且其基本关系可由胡克定律来表述。
2.1.1 代码示例
MAT1, 1, 210E6, , 0.3, 7.8E-9
MAT1 是线弹性材料模型的标识。
1 是材料的标识号。
210E6 是弹性模量(单位:Pa)。
0.3 是泊松比。
7.8E-9 是密度(单位:kg/mm^3)。
2.2 塑性模型
通过刻画材料在超过屈服强度后发生的塑性变形过程来实现功能的数学模型被称为 plasticity models. 其中最常用的是双线性和多线性的塑料形变理论.
2.2.1 双线性塑性模型
该双线性塑性模型可被应用于描述简单塑性行为的材料;该模型基于两阶段的应力-应变曲线来表征材料的塑性响应
MAT24, 2, 250E6, 450E6, 0.3, 7.8E-9
MAT24 是塑性材料模型的标识。
2 是材料的标识号。
250E6 是屈服强度(单位:Pa)。
450E6 是断裂强度(单位:Pa)。
0.3 是泊松比。
7.8E-9 是密度(单位:kg/mm^3)。
2.3 超弹性模型
超弹性模型用作表征橡胶及合成天然橡胶物质的非线性大变形特性。其中最为常见的几种典型超弹性能模型包括Mooney-Rivlin模型与Ogden模型等。
2.3.1 Mooney-Rivlin模型
Mooney-Rivlin模型通过两个材料常数来描述材料的超弹性行为。
MAT10, 1, 0.97E6, 0.13E6, 0.3
MAT10 是超弹性材料模型的标识。
1 是材料的标识号。
0.97E6 是第一个材料常数(单位:Pa)。
0.13E6 是第二个材料常数(单位:Pa)。
0.3 是泊松比。
2.4 温度依赖性材料模型
温度依赖性材料模型用于表征材料属性在不同温度下的行为特征。在 MSC Nastran 中的 TABLES 卡被用来建立不同温度下材料属性之间的关联。
2.4.1 代码示例
MAT1, 1, 210E6, , 0.3, 7.8E-9
TABLES, 1, 1, 210E6, 200E6, 300E6, 400E6
MAT1 是材料属性类型的标识。
1 是材料的标识号。
210E6 是初始弹性模量(单位:Pa)。
0.3 是泊松比。
7.8E-9 是密度(单位:kg/mm^3)。
TABLES列表中的参数 1, 1, 210E6, 200E6, 300E6, 和 400E6 描述了材料在不同温度条件下的力学特性数据集。其中前两个数字 1, 1 表示表格类型的代码及其唯一标识号;后面的数值分别对应着不同温度点上的弹性模量测量结果
3. 材料属性的定义
在 MSC Nastran 软件中,材料属性经由多种方式进行定义,在线性代数环境中实现各种计算需求的具体配置方式包括:直接指定参数矩阵、基于表格的方式进行数据输入以及可按照需求进行个性化设置等多种选择。
3.1 直接定义
基于常规化定义的方法是最常用的物质特性和物理参数定义方式,在工程实践中通常会明确设置这些属性值于输入文件中
3.1.1 代码示例
MAT1, 1, 210E6, , 0.3, 7.8E-9
MAT24, 2, 250E6, 450E6, 0.3, 7.8E-9
MAT10, 3, 0.97E6, 0.13E6, 0.3
MAT1 定义了线弹性材料。
MAT24 定义了塑性材料。
MAT10 定义了超弹性材料。
3.2 表格定义
表格定义涵盖材料属性的变化情况可依据温度、应变率等参数进行描述。这些变化关系可通过 TABLES 卡进行设定。
3.2.1 代码示例
MAT1, 1, 210E6, , 0.3, 7.8E-9
TABLES, 1, 1, 210E6, 200E6, 300E6, 400E6
TABLES, 1, 1, 210E6, 200E6, 300E6, 400E6定义了弹性模量随温度变化的关系。
3.3 用户自定义
用户可以根据需求设定特定的材料特性用于模拟复杂的物质反应。开发用户自定义模块能够实现各种复杂的力学性能描述。
3.3.1 代码示例
以下是简单的用户子程序示例
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,DDSDDT,SSE,SPD,SCD,
1 RPL,DDSDDC,NDI,NVARY,NTENS,NSTATV,PROPS,NPROPS,
2 COORDS,TIME,DTIME,TEMP,DTEMP,PRESS,DDP,PREDEF,
3 NPRED,DIRECT,CMNAME,NDIR,NODE,STEP,INCRE,NOEL,
4 LAYER,KSPT,KSTEP,KINC,VOID,DIFF)
C
C 用户定义的材料模型
C
INCLUDE 'ABA_PARAM.INC'
DIMENSION STRESS(NTENS),STATEV(NSTATV),DDSDDE(NTENS,NTENS),
1 DDSDDT(NTENS),PROPS(NPROPS),COORDS(3),TIME(2),PREDEF(1,*),
2 DDSDDC(NTENS,NTENS),DIFF(NTENS,NTENS),VOID(3)
CHARACTER*80 CMNAME
C
C 定义材料常数
C
E = PROPS(1)
NU = PROPS(2)
YIELD_STRESS = PROPS(3)
C
C 计算弹性模量矩阵
C
CALL ELASTIC_MATRIX(E, NU, DDSDDE)
C
C 检查是否超过屈服强度
C
IF (STRESS(1) .GT. YIELD_STRESS) THEN
STRESS(1) = YIELD_STRESS
END IF
C
C 计算应力
C
CALL CALC_STRESS(STRESS, STATEV, DDSDDE, SSE, SPD, SCD)
C
RETURN
END
UMAT 是用户定义的材料子程序。
STRESS 是应力向量。
STATEV 是状态变量向量。
DDSDDE 是弹性模量矩阵。
DDSDDT 是热弹性模量矩阵。
SSE 是弹性应变能。
SPD 是塑性耗散能。
SCD 是蠕变耗散能。
RPL 是残余塑性应变。
DDSDDC 是蠕变弹性模量矩阵。
NDI 是独立应力分量的数量。
NVARY 是状态变量的数量。
NTENS 是总应力分量的数量。
NSTATV 是状态变量的数量。
PROPS 是材料属性数组。
COORDS 是坐标数组。
TIME 是时间数组。
DTIME 是时间步长。
TEMP 是温度。
DTEMP 是温度变化。
PRESS 是压力。
DDP 是压力变化。
PREDEF 是预定义变量数组。
NPRED 是预定义变量的数量。
DIRECT 是直接输出标志。
CMNAME 是材料模型名称。
NDIR 是方向数量。
NODE 是节点编号。
STEP 是步骤编号。
INCRE 是增量编号。
NOEL 是单元编号。
LAYER 是层编号。
KSPT 是部分编号。
KSTEP 是步骤编号。
KINC 是增量编号。
VOID 是空穴变量数组。
DIFF 是差异矩阵。
3.4 材料属性的验证
在设定材料属性后有必要核查这些属性是否满足实际材料的行为要求,并可采用静态分析与动态分析相结合的方式来进行核实
3.4.1 代码示例
以下是一个简单的静态分析示例,用于验证材料属性。
BEGIN BULK
MAT1, 1, 210E6, , 0.3, 7.8E-9
GRID, 1, 0.0, 0.0, 0.0
GRID, 2, 100.0, 0.0, 0.0
CQUAD4, 1, 1, 2, 3, 4, 1
PSHELL, 1, 1, 1.0, 1.0, 1.0
FORCE, 1, 1, 1000.0, 0.0, 0.0
SPC, 1, 123456, 0.0
SPC, 2, 123456, 0.0
END BULK
MAT1, 1, 210E6, , 0.3, 7.8E-9 定义了材料属性。
GRID, 1, 0.0, 0.0, 0.0 和 GRID, 2, 100.0, 0.0, 0.0 定义了节点位置。
CQUAD4, 1, 1, 2, 3, 4, 1 定义了一个四边形单元。
PSHELL, 1, 1, 1.0, 1.0, 1.0 定义了壳单元的属性。
FORCE, 1, 1, 1000.0, 0.0, 0.0 定义了作用在节点1上的力。
SPC, 1, 123456, 0.0 和 SPC, 2, 123456, 0.0 定义了节点1和节点2的约束条件。
4. 材料属性的优化
在材料力学仿真中进行材料属性的优化工作是一个关键步骤。经过这一系列操作之后能够显著改善仿真的准确性和效率。
4.1 优化方法
一些经典的优化方法涉及梯度下降法、遗传优化算法以及退火优化算法等技术。在 MSC Nastran 中能够通过编写自定义子程序来实现材料属性的精确化设置。
4.1.1 代码示例
以下是一个简单的梯度法优化材料属性的Fortran子程序示例。
SUBROUTINE OPTIMIZE_MATERIAL(PROPS, ERROR)
C
C 优化材料属性
C
INCLUDE 'ABA_PARAM.INC'
DIMENSION PROPS(4)
C
C 定义初值
C
E = PROPS(1)
NU = PROPS(2)
YIELD_STRESS = PROPS(3)
DENSITY = PROPS(4)
C
C 计算目标函数
C
CALL CALCULATE_ERROR(E, NU, YIELD_STRESS, DENSITY, ERROR)
C
C 优化算法
C
DO I = 1, 4
DPROPS(I) = 0.01 * PROPS(I) ! 定义步长
PROPS_TEMP(I) = PROPS(I) + DPROPS(I)
CALL CALCULATE_ERROR(PROPS_TEMP(1), PROPS_TEMP(2),
1 PROPS_TEMP(3), PROPS_TEMP(4), ERROR_TEMP)
IF (ERROR_TEMP .LT. ERROR) THEN
PROPS(I) = PROPS_TEMP(I)
ERROR = ERROR_TEMP
ELSE
PROPS_TEMP(I) = PROPS(I) - DPROPS(I)
CALL CALCULATE_ERROR(PROPS_TEMP(1), PROPS_TEMP(2),
1 PROPS_TEMP(3), PROPS_TEMP(4), ERROR_TEMP)
IF (ERROR_TEMP .LT. ERROR) THEN
PROPS(I) = PROPS_TEMP(I)
ERROR = ERROR_TEMP
END IF
END IF
END DO
C
RETURN
END
OPTIMIZE_MATERIAL 是优化材料属性的子程序。
PROPS 是材料属性数组。
ERROR 是目标函数值。
E 是弹性模量。
NU 是泊松比。
YIELD_STRESS 是屈服强度。
DENSITY 是密度。
DPROPS 是步长数组。
PROPS_TEMP 是临时材料属性数组。
ERROR_TEMP 是临时目标函数值。
4.2 优化目标
优化目标可以是降低仿真误差、提升仿真效率或保证特定的设计要求;在材料属性的优化方面
在材料力学仿真过程中进行材料属性的优化被认为是一个关键步骤。改善材料属性特性,则可显著提升仿真结果的质量与运行效率。可以选择减少误差、提高效率或满足设计需求作为主要目标方向。选择合适的优化策略及其实施细节对实现预期效果具有重要意义。
4.1 优化方法
常见的优化方法包括梯度法、遗传算法以及模拟退火法等技术手段。 MSC Nastran中可以通过编写自定义子程序来实现材料属性的最优化设计。选择一种合适的优化方法受问题复杂性和所需精度的影响。
4.1.1 代码示例
以下是一个简单的梯度法优化材料属性的Fortran子程序示例。
SUBROUTINE OPTIMIZE_MATERIAL(PROPS, ERROR)
C
C 优化材料属性
C
INCLUDE 'ABA_PARAM.INC'
DIMENSION PROPS(4)
C
C 定义初值
C
E = PROPS(1)
NU = PROPS(2)
YIELD_STRESS = PROPS(3)
DENSITY = PROPS(4)
C
C 计算目标函数
C
CALL CALCULATE_ERROR(E, NU, YIELD_STRESS, DENSITY, ERROR)
C
C 优化算法
C
DO I = 1, 4
DPROPS(I) = 0.01 * PROPS(I) ! 定义步长
PROPS_TEMP(I) = PROPS(I) + DPROPS(I)
CALL CALCULATE_ERROR(PROPS_TEMP(1), PROPS_TEMP(2),
1 PROPS_TEMP(3), PROPS_TEMP(4), ERROR_TEMP)
IF (ERROR_TEMP .LT. ERROR) THEN
PROPS(I) = PROPS_TEMP(I)
ERROR = ERROR_TEMP
ELSE
PROPS_TEMP(I) = PROPS(I) - DPROPS(I)
CALL CALCULATE_ERROR(PROPS_TEMP(1), PROPS_TEMP(2),
1 PROPS_TEMP(3), PROPS_TEMP(4), ERROR_TEMP)
IF (ERROR_TEMP .LT. ERROR) THEN
PROPS(I) = PROPS_TEMP(I)
ERROR = ERROR_TEMP
END IF
END IF
END DO
C
RETURN
END
OPTIMIZE_MATERIAL 是优化材料属性的子程序。
PROPS 是材料属性数组,并包含弹性模量(E)、泊松比(NU)、屈服强度(YIELD_STRESS)以及密度(DENSITY)。
ERROR 是目标函数值,用于衡量优化效果。
DPROPS 是步长数组,用于控制每次优化的步长。
PROPS_TEMP 是临时材料属性数组,用于存储中间结果。
ERROR_TEMP 是临时目标函数值,用于比较优化结果。
4.2 优化目标
优化目标主要可以包括减小数值偏差、提升运行速度或符合系统的技术规范等具体指标。在工程实践中,则需要根据具体情况权衡各项目标的实现效果,并最终确定最优的材料参数组合以达到预期性能指标的要求
4.2.1 减少仿真误差
为了优化材料特性参数,在减少仿真的误差方面具有重要意义。通过改变材料参数使其与实验观测值或理论预测值之间的差异减小的过程较为普遍。这一目标可通过构建并最小化一个反映仿真与实际数据之间差异的误差函数来实现。
SUBROUTINE CALCULATE_ERROR(E, NU, YIELD_STRESS, DENSITY, ERROR)
C
C 计算仿真误差
C
INCLUDE 'ABA_PARAM.INC'
DIMENSION STRESS(6), STRAIN(6), TARGET(6)
C
C 仿真计算
C
CALL SIMULATE(E, NU, YIELD_STRESS, DENSITY, STRESS, STRAIN)
C
C 读取实验数据
C
CALL READ_EXPERIMENTAL_DATA(TARGET)
C
C 计算误差
C
ERROR = 0.0
DO I = 1, 6
ERROR = ERROR + (STRESS(I) - TARGET(I))**2
END DO
ERROR = SQRT(ERROR / 6.0)
C
RETURN
END
CALCULATE_ERROR 是计算误差的子程序。
E 是弹性模量。
NU 是泊松比。
YIELD_STRESS 是屈服强度。
DENSITY 是密度。
STRESS 和 STRAIN 是仿真计算得到的应力和应变。
TARGET 是实验数据或已知的理论结果。
ERROR 是计算得到的误差值,通过最小化这个值来优化材料属性。
4.2.2 提高仿真效率
提升仿真效率被视为另一个关键性的改善方向。经过对材料属性进行针对性的调整后,能够显著降低仿真所需的时间与计算资源消耗。具体措施包括减少迭代次数以及采用高性能算法来提升求解效率等方法。
SUBROUTINE OPTIMIZE_EFFICIENCY(PROPS, ITERATIONS)
C
C 优化仿真效率
C
INCLUDE 'ABA_PARAM.INC'
DIMENSION PROPS(4)
C
C 定义初值
C
E = PROPS(1)
NU = PROPS(2)
YIELD_STRESS = PROPS(3)
DENSITY = PROPS(4)
C
C 计算迭代次数
C
CALL SIMULATE(E, NU, YIELD_STRESS, DENSITY, ITERATIONS)
C
C 优化算法
C
DO I = 1, 4
DPROPS(I) = 0.01 * PROPS(I) ! 定义步长
PROPS_TEMP(I) = PROPS(I) + DPROPS(I)
CALL SIMULATE(PROPS_TEMP(1), PROPS_TEMP(2),
1 PROPS_TEMP(3), PROPS_TEMP(4), ITERATIONS_TEMP)
IF (ITERATIONS_TEMP .LT. ITERATIONS) THEN
PROPS(I) = PROPS_TEMP(I)
ITERATIONS = ITERATIONS_TEMP
ELSE
PROPS_TEMP(I) = PROPS(I) - DPROPS(I)
CALL SIMULATE(PROPS_TEMP(1), PROPS_TEMP(2),
1 PROPS_TEMP(3), PROPS_TEMP(4), ITERATIONS_TEMP)
IF (ITERATIONS_TEMP .LT. ITERATIONS) THEN
PROPS(I) = PROPS_TEMP(I)
ITERATIONS = ITERATIONS_TEMP
END IF
END IF
END DO
C
RETURN
END
OPTIMIZE_EFFICIENCY 是优化仿真效率的子程序。
PROPS 是材料属性数组。
ITERATIONS 是仿真迭代次数。
DPROPS 是步长数组。
PROPS_TEMP 是临时材料属性数组。
ITERATIONS_TEMP 是临时迭代次数。
4.2.3 满足特定设计要求
当面临特定应用场景时, 优化目标旨在让材料属性符合预期的技术规范. 例如, 在开发高性能电子设备时, 我们需要设计一种能在极端温度下保持稳定的材料; 同时, 在航空航天领域, 则追求具有高强度和高韧性的材料.
SUBROUTINE OPTIMIZE_FOR_DESIGN(PROPS, DESIGN_CRITERIA, SATISFIED)
C
C 优化材料属性以满足设计要求
C
INCLUDE 'ABA_PARAM.INC'
DIMENSION PROPS(4), DESIGN_CRITERIA(4)
C
C 定义初值
C
E = PROPS(1)
NU = PROPS(2)
YIELD_STRESS = PROPS(3)
DENSITY = PROPS(4)
C
C 计算设计标准
C
CALL SIMULATE(E, NU, YIELD_STRESS, DENSITY, STRESS, STRAIN)
SATISFIED = .TRUE.
DO I = 1, 4
IF (ABS(PROPS(I) - DESIGN_CRITERIA(I)) .GT. TOLERANCE) THEN
SATISFIED = .FALSE.
EXIT
END IF
END DO
C
C 优化算法
C
IF (.NOT. SATISFIED) THEN
DO I = 1, 4
DPROPS(I) = 0.01 * PROPS(I) ! 定义步长
PROPS_TEMP(I) = PROPS(I) + DPROPS(I)
CALL SIMULATE(PROPS_TEMP(1), PROPS_TEMP(2),
1 PROPS_TEMP(3), PROPS_TEMP(4), STRESS, STRAIN)
IF (ABS(PROPS_TEMP(I) - DESIGN_CRITERIA(I)) .LT. ABS(PROPS(I) - DESIGN_CRITERIA(I))) THEN
PROPS(I) = PROPS_TEMP(I)
ELSE
PROPS_TEMP(I) = PROPS(I) - DPROPS(I)
CALL SIMULATE(PROPS_TEMP(1), PROPS_TEMP(2),
1 PROPS_TEMP(3), PROPS_TEMP(4), STRESS, STRAIN)
IF (ABS(PROPS_TEMP(I) - DESIGN_CRITERIA(I)) .LT. ABS(PROPS(I) - DESIGN_CRITERIA(I))) THEN
PROPS(I) = PROPS_TEMP(I)
END IF
END IF
END DO
END IF
C
RETURN
END
OPTIMIZE_FOR_DESIGN 是优化材料属性以满足设计要求的子程序。
PROPS 是材料属性数组。
DESIGN_CRITERIA 是设计标准数组。
SATISFIED 是一个逻辑变量,表示材料属性是否满足设计要求。
DPROPS 是步长数组。
PROPS_TEMP 是临时材料属性数组。
TOLERANCE 是一个容差值,用于判断材料属性是否接近设计标准。
5. 材料属性的测试与验证
在制定并提升材料特性后,有必要对其实施评估与检验,以确保这些特性在实际应用中能够真实地反映出材料的行为特征.评估与检验可通过对比实验结果、进行多场景分析以及开展持久性稳定性检验等多种方式实现.
5.1 实验数据比对
主要的方法是通过对比实验数据进行验证。通过比较仿真结果与实验数据……检验材料属性的准确性。实验数据常见地包含应力-应变曲线、强度测试指标以及断裂性能参数等。
5.1.1 代码示例
BEGIN BULK
MAT1, 1, 210E6, , 0.3, 7.8E-9
GRID, 1, 0.0, 0.0, 0.0
GRID, 2, 100.0, 0.0, 0.0
CQUAD4, 1, 1, 2, 3, 4, 1
PSHELL, 1, 1, 1.0, 1.0, 1.0
FORCE, 1, 1, 1000.0, 0.0, 0.0
SPC, 1, 123456, 0.0
SPC, 2, 123456, 0.0
END BULK
MAT1, 1, 210E6, , 0.3, 7.8E-9 定义了材料属性。
GRID, 1, 0.0, 0.0, 0.0 和 GRID, 2, 100.0, 0.0, 0.0 定义了节点位置。
CQUAD4, 1, 1, 2, 3, 4, 1 定义了一个四边形单元。
PSHELL, 1, 1, 1.0, 1.0, 1.0 定义了壳单元的属性。
FORCE, 1, 1, 1000.0, 0.0, 0.0 定义了作用在节点1上的力。
SPC, 1, 123456, 0.0 和 SPC, 2, 123456, 0.0 定义了节点1和节点2的约束条件。
5.2 多工况分析
多场景测试是指在多种工作状态下对材料性能进行系统性检验与验证的一种方法学。这种技术手段能够有效评估材料特性在不同实际应用情境中的适用范围。
5.2.1 代码示例
BEGIN BULK
MAT1, 1, 210E6, , 0.3, 7.8E-9
GRID, 1, 0.0, 0.0, 0.0
GRID, 2, 100.0, 0.0, 0.0
CQUAD4, 1, 1, 2, 3, 4, 1
PSHELL, 1, 1, 1.0, 1.0, 1.0
FORCE, 1, 1, 1000.0, 0.0, 0.0
SPC, 1, 123456, 0.0
SPC, 2, 123456, 0.0
LOAD, 1, 1, 1000.0, 0.0, 0.0
LOAD, 2, 1, 500.0, 0.0, 0.0
TEMP, 1, 300.0
TEMP, 2, 400.0
END BULK
LOAD, 1, 1, 1000.0, 0.0, 0.0 和 LOAD, 2, 1, 500.0, 0.0, 0.0 定义了不同的加载条件。
TEMP, 1, 300.0 和 TEMP, 2, 400.0 定义了不同的温度条件。
5.3 长期稳定性测试
长时状态测验法用于测定材料属性在长时间加载以及环境条件变化情况下的稳定状态。此方法可通过持续性的仿真模拟来实现,并核查材料属性是否存在显著偏差。
5.3.1 代码示例
BEGIN BULK
MAT1, 1, 210E6, , 0.3, 7.8E-9
TABLES, 1, 1, 210E6, 200E6, 300E6, 400E6
GRID, 1, 0.0, 0.0, 0.0
GRID, 2, 100.0, 0.0, 0.0
CQUAD4, 1, 1, 2, 3, 4, 1
PSHELL, 1, 1, 1.0, 1.0, 1.0
FORCE, 1, 1, 1000.0, 0.0, 0.0
SPC, 1, 123456, 0.0
SPC, 2, 123456, 0.0
TIME, 1, 0.0, 1000.0, 100.0
TEMP, 1, 300.0
TEMP, 2, 400.0
END BULK
TIME, 1, 0.0, 1000.0, 100.0 定义了仿真时间范围和时间步长。
TEMP, 1, 300.0 和 TEMP, 2, 400.0 定义了不同的温度条件。
5.4 灵敏度分析
灵敏度分析用于评估材料属性对仿真结果的影响范围及作用大小。通过调整材料属性的取值范围或具体数值, 观察仿真结果的变化情况, 并找出哪些材料特性对仿真结果具有显著影响因素, 以便实现重点优化
5.4.1 代码示例
SUBROUTINE SENSITIVITY_ANALYSIS(PROPS, ERROR, SENSITIVITY)
C
C 灵敏度分析
C
INCLUDE 'ABA_PARAM.INC'
DIMENSION PROPS(4), SENSITIVITY(4)
C
C 定义初值
C
E = PROPS(1)
NU = PROPS(2)
YIELD_STRESS = PROPS(3)
DENSITY = PROPS(4)
C
C 计算基线误差
C
CALL CALCULATE_ERROR(E, NU, YIELD_STRESS, DENSITY, ERROR_BASE)
C
C 计算灵敏度
C
DO I = 1, 4
DPROPS(I) = 0.01 * PROPS(I) ! 定义步长
PROPS_TEMP(I) = PROPS(I) + DPROPS(I)
CALL CALCULATE_ERROR(PROPS_TEMP(1), PROPS_TEMP(2),
1 PROPS_TEMP(3), PROPS_TEMP(4), ERROR_TEMP)
SENSITIVITY(I) = (ERROR_TEMP - ERROR_BASE) / DPROPS(I)
PROPS_TEMP(I) = PROPS(I)
END DO
C
RETURN
END
SENSITIVITY_ANALYSIS 是进行灵敏度分析的子程序。
PROPS 是材料属性数组。
ERROR 是基线误差。
SENSITIVITY 是灵敏度数组。
DPROPS 是步长数组。
PROPS_TEMP 是临时材料属性数组。
ERROR_BASE 和 ERROR_TEMP 是基线误差和临时误差。
6. 总结
在材料力学仿真中, 精准设定并提升材料属性是保障仿真结果准确性和可靠性的关键环节. 掌握基本属性, 选用合适模型, 设定参数, 实施优化与验证等步骤均能显著地提升仿真的准确性和效率. 根据具体应用需求, 可以灵活选择并运用不同的优化学案与验证方法来实现预期目标
