首页/文章/ 详情

【FCA-Chp-6】第6章 计算微观(细观)力学(2)

2年前浏览1952

6.3 局部-全局分析

在局部-全局分析(图6.8)中,对于全局模型中每个Gauss积分点上给定的应变,使用一个RVE计算应力。全局模型用于计算位移和产生的应变,假设材料是均质的。局部模型考虑不均质性,并通过一个RVE来对非均质材料建模。

6.8 使用RVE的局部-全局分析

6.13-6.156.2节中用于一次施加一个应变分量,目的是得到材料的等效弹性特性。式6.13-6.15对于施加在RVE的应变的一般状态仍然有效,但是必须注意在边或顶点处的周期性边界的说明。式6.13-6.159个约束方程,可以施加在RVE的面上所有成对的周期性的点之间,除了边和顶点处的点。

 

因为每条边属于两个面,在每条边上,可以看到2个位移分量都被用于施加2个约束方程,每个约束方程来自一个面,如同式6.42-6.44给出。然而,对于一个位移分量,只能写一个约束方程。因此,这些边必须分别处理。类似地,因为3个面交汇于一个顶点,来自3个面的3个周期性约束方程的施加则需要每次使用单个位移分量。根据类似于前面给出的推导,可得下面的结果。

 

四对顶点需要一次对一个分析。每对顶点关于RVE的中心(坐标为(0, 0, 0))对称。得到的约束方程如下

 


 

几何(模块:Part)、材料和截面(模块:Property)、装配(模块:Assembly)、分析步(模块:Step)和网格(模块:Mesh)可以使用例6.2中使用的方法创建,但是要创建2D模型,RVE1个完整的纤维和41/4纤维,如图6.4所示。在本例中没有对称边界条件可以使用。相反,周期性边界条件(PBC)式6.13-6.15必须在Load模块中施加。这些周期性边界条件通过使用约束方程实施。本例中没有载荷本身,而是由式6.13-6.15中等式右侧的常数项(由施加的应变产生)对模型产生加载。


为了写出约束方程,需要定义一个参考点,以及主从节点。然后,主从节点的连接通过精确表示式6.13-6.15的约束方程实现。如前面注意的,顶点的方程与面的方程要分别处理。该工作由[5PBC_2D.py]自动完成。


求解本例的完整脚本在[5Ex_6.4-CE.py]可得。首先,该脚本创建网格和节点集 合,稍后用于约束方程。脚本可以在Abaqus/CAE中运行,具体操作为:菜单FileRun script[Ex_6.4-CE.py]OK。该脚本调用[5PBC_2D.py]写约束方程,调用[5srecover2D.py]计算平均应力。结果在表6.4中给出。

6.4 RVE中的平均应力和基体上的最大应力(例6.4

 

6.9 应变的云图(在模型坐标系X-Y-Z中的E11,例6.4

6.4 层压的RVE

在微尺度获得RVE所用的过程类似地可以用于在中尺度分析层压板。本例中RVE表示层压板。因此,厚度方向应该保持沿厚度自由膨胀。例如,平行于x-y平面的单层板,并且没有施加式6.15,因此,厚度坐标不受约束(见图6.10)。总之,RVE必须包含整个厚度。对于受面内载荷的对称层压板,RVE可以使用对称边界条件用一半厚度定义(见例6.5)。 

6.10 层压的RVE

 

 

 


6.5 计算[0/90/-45/45]S层压板的Gxy,其中,单层板的材料参数为E1 = 139GPaE2 = 14.5GPaG12 = G13 = 5.86GPaG23 = 2.93GPav12 = v13 = 0.21E1 = 139GPav23 = 0.38,单层板厚度tk = 1.25mm

6.5 作为层压板对称的一个结果,可以使用层压板厚度一半的代表性体积单元RVE,并在z = 0处使用对称边界条件。RVE的模型使用3D实体单元离散。可以使用Abaqus CAE GUI按照下列伪代码建模。

 

i. 设置工作路径

菜单:File, Set Work Directory[C:\Simulia\User\Ex_6.5]OK

菜单:FileSave As[C:\Simulia\User\Ex_6.5\Ex_6.5.cae]OK

 

ii. 创建部件

模块:Part

菜单:PartCreate

    3DDeformableSolidExtrusionApprox. size [10]Cont

菜单:AddLineRectangle[0,0][1,1]XDoneDepth [5]OK

菜单:ToolsDatum

    TypePlaneMethodOffset from principal plane

    XY PlaneOffset [1.25]

    XY PlaneOffset [2.5]

    XY PlaneOffset [3.75]X# 关闭Create Datum对话框

菜单:ToolsPartition

    CellUse datum plane# 选取:z=1.25的基准面,

    Create Partition

    # 选取:较大实体Done# 选取:z=2.5的基准面,

    Create Partition

    # 选取:较大实体,Done# 选取:z=3.75的基准面,

    Create Partition

    Done# 关闭Create Partition对话框

 

iii. 定义材料、截面并赋截面给部件

模块:Property

菜单:MaterialCreate

    MechanicalElasticityElasticTypeEngineering Constants

    [139000, 14500, 14500, 0.21, 0.21, 0.38, 5860, 5860, 2930]OK

菜单:AssignMaterial Orientation

    # 选取:Z=4*1.25(自由表面)处的第1Done

    Use Default Orientation or Other Method

    DefinitionCoordinate system,

    Additional Rotation DirectionAxis 3

    Additional RotationAngle [0]OK

    # 选取:Z=3*1.25处的第2Done

    Use Default Orientation or Other Method

    DefinitionCoordinate system,

    Additional Rotation DirectionAxis 3

    Additional RotationAngle [90]OK

    # 选取:Z=2*1.25处的第3Done

    Use Default Orientation or Other Method

    DefinitionCoordinate system,

    Additional Rotation DirectionAxis 3

    Additional RotationAngle [-45]OK

    # 选取:Z=1*1.25处的第4Done

    Use Default Orientation or Other Method

    DefinitionCoordinate system,

    Additional Rotation DirectionAxis 3

    Additional RotationAngle [45]OKDone

菜单:SectionCreate

    SolidHomogeneousContMaterialMaterial-1OK

菜单:AssignSection# 选取所有,DoneOKDone

 

iv. 创建装配

模块:Assembly

菜单:InstanceCreateIndependentOK

 

v. 定义分析步

模块:Step

菜单:StepCreate

    Procedure typeLinear perturbationStaticContOK

菜单:OutputField Output RequestsEditF-Output-1

    Output Variables[S,E,U,IVOL]OK

 

vi. 添加边界条件和载荷

# 施加简单剪切

模块:Load

菜单:BCManager

    CreateName [yfix]StepInitialDisp/RotaCont

    # 选取:y=0处的表面,Done# 勾选:U1U2OK

    CreateName [disp]StepStep-1Disp/RotaCont

    # 选取:Y=1处的表面,Done

    # 勾选:U1 [1]# 勾选:U2 [0]OK

    CreateName [zsymm]StepInitialSymm/Anti/EncaCont

    # 选取:Z=0处的表面,DoneZSYMMOK

    # 关闭BC Manager对话框

 

vii. 定义约束

应用Tie约束x = 常数表面,以便得到

模块:Interaction

菜单:ConstraintCreateTieCont

    Choose the master typeSurface# 选取:表面x=0Done

    Choose the slave typeSurface# 选取:表面x=1Done

    Position ToleranceSpecify distance [1]

    # 不勾选:Adjust slave surface initial position # !!!

    # 不勾选:Tie rotational DOFs if applicableOK

 

viii. 对模型划分网格

模块:Mesh

菜单:SeedInstance

    Approx global size [1.25]OK

    # 对于纯剪,每层厚度一个单元足够

菜单:MeshInstanceYes

 

ix. 求解并可视化结果

模块:Job

菜单:JobManager

    CreateContOKSubmit# 当完成后,Results

菜单:FileSave

菜单:FileRun Script[Ex_6.5-post.py]OK

 

脚本[5Ex_6.5-post.py]可以用于计算平均剪应力,以及剪切模量。因为施加的应变等于单位应变,计算得到的平均应力σ12等于C66。因此,在脚本最后一行得到G12 = 21,441MPa

 

""" Post-processing Ex. 6.5 """

 

# 确认工作路径正确

import os

os.chdir(r’C:\Simulia\User\Chapter_6\Ex_6.5’)

 

# 打开当前作业的输出数据库(ODB

from visualization import *

odb = openOdb(path=’Job-1.odb’);

myAssembly = odb.rootAssembly;

 

# 创建临时变量指向frame,提高读取速度

frameRepository = odb.steps[’Step-1’].frames;

frameS=[];

frameIVOL=[];

 

# 在层压板方向(全局)创建坐标系

coordSys = odb.rootAssembly.DatumCsysByThreePoints(name=’CSYSLAMINATE’,

    coordSysType=CARTESIAN, origin=(0,0,0),

    point1=(1.0, 0.0, 0), point2=(0.0, 1.0, 0.0) )

 

# 将应力从单层板坐标系转换到定义的CSYSLAMINATE层压板坐标系 

# stressTrans=odb.steps[’Step-1’].frames[-1].fieldOutputs[’S’]\

#     .getTransformedField(datumCsys=coordSys)

stressTrans=frameRepository[-1].fieldOutputs[’S’]\

.getTransformedField(datumCsys=coordSys)

 

# 将转换后的应力添加到frameS

frameS.insert(0,stressTrans.getSubset(position=INTEGRATION_POINT));

frameIVOL.insert(0,frameRepository[-1].fieldOutputs[’IVOL’]\

    .getSubset(position=INTEGRATION_POINT));

 

Tot_Vol=0; # 总体积

Tot_Stress=0; # 应力和

 

for II in range(0,len(frameS[-1].values)):

    Tot_Vol=Tot_Vol frameIVOL[0].values[II].data;

    Tot_Stress=Tot_Stress frameS[0].values[II].data * frameIVOL[0].values[II].data;

 

# 计算平均值

Avg_Stress=Tot_Stress/Tot_Vol;

print ’Abaqus/Standard Stress Tensor Order:’

# 根据Abaqus Analysis User’s Manual - 1.2.2 Conventions

print ’ 11-22-33-12-13-23’;

print Avg_Stress;

print ’G12=’,Avg_Stress[3]

 

练习题


 


 

问题6.3 使用问题6.1中计算得到的刚度矩阵,计算E1E2v12v23G12G23

 

问题6.4 使用问题6.2中计算得到的刚度矩阵,计算E1E2v12v23G12G23

 

问题6.5 展示例6.3中去掉Tie约束后导致的非零法 正应变和G13的错误结果。

 

问题6.6 用例6.3中的方法计算G12,但是使用对称边界条件,仅离散RVE1/4

 

问题6.7 通过修改例6.3的边界条件和Tie约束,计算G23

 

问题6.8 使用例6.4作为指导,计算G23

来源:AbaPY
MechanicalAbaqusDeform材料
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-08-31
最近编辑:2年前
KongXH
博士 专注于有限元分析领域,联合创作...
获赞 49粉丝 100文章 59课程 1
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈