地应力平衡的一个简单例子
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
abaqus地应力平衡
先说为什么要施加地应力:
1、我们所建立的几何模型一般和工程实际情况或尺寸相对应、相一致,比如边坡几何模型和实际边坡尺寸一致,但我们可以夸张一点想像,实际边坡应是由一个更大一点或更高一点的不受重力的初始边坡在n年前突然受重力和类似目前的边界条件作用下逐渐形成了今天的尺寸大小,n年前受重力和类似目前的边界条件作用之前边坡的尺寸大小,我们不得而知,如果能准确知晓,我们就可以建立一个那时的几何模型,再施加重力和边界条件进行计算,变形后形状和现状边坡形状一致,其内力也就是初始应力场或地应力,就不用专门去施加地应力了,但问题是我们不能知晓边坡受力前的形状尺寸,我们现在的几何模型就是边坡现在的实际尺寸,受力后将会变成一个更小的或与现状不一致的边坡,这不符合我们模拟现状边坡的目的。
如果我们知道现状边坡的内力,将其提取出来作为几何模型的内力,再和外力(重力)平衡,则我们建立的模型才能算和实际模型一致。
真实地知道现状边坡的内力是很难的,我们采取的办法是,用我们所建立的几何模型施加和实际模型一致的重力和边界条件进行计算,得到变形后或变得更小或与现状边坡不完全一致的边坡内力近似的作为现状边坡的内力,并重新将其施加于与现状边坡一致的几何模型,再施加重力(当然边界条件也应基本一致)以平衡,这样才算建立了与现状模型基本一致的模型,其下的计算才成为可能。
这就是所谓“地应力平衡”的含义、目的、作用。
2. 地应力平衡中的外力和内力的问题,地应力平衡中,显然,重力是外力,应力场是内力,仅有外力重力,没有内力是不可能的,同样,仅有内力(专指初始应力场)而不受重力也是不可能的,否则,整个体系的力不会平衡。
这就是为什么我们将提取出的内力施加于几何模型后必须再施加重力的原因。
为的是内力和外力平衡。
3. 地应力场的方向问题,有网友在论坛里问,既然重力是向下,为与重力平衡,那应力场的方向是不是向上呢,这同样是我开始接触abaqus 的疑问,相信很初学者也有这样的疑问,我的理解是内力是没有向上、向下或者向其它方向的概念的,内力只有拉力或压力或剪力之分,其方向也按是拉是压是顺时针或逆时针而分,内力往往都是成对出现,如地应力场中的应力以压应力为主,取一个微元,则压应力同时出现在向下和向上,你能说地应力就是向上,与重力反向吗?
aba中初始地应力场平衡一般在表面水平的情况下仅仅和密度相关,密度一样的话平衡的结果很好,别的参数改变之后经过计算,差别很小。
表面不水平的情况则最好通过文件导入初应力的情况进行平衡。
一般来讲,表面不平的时候有很多因素造成误差很大。
cdstudio版主的总结:
/viewthread.php?tid=908486&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D470
地应力平衡的正确时间点:
所谓地应力平衡是指, 当我们建任何东西或挖任何东西之前, 地表的位移都是零, 但是土体的应力却存在, 这种无位移但有应力的时间点叫地应力平衡. 那么正确的时间点应该是什么呢, 就是不管土原来是什么样的, 高山, 河流, 丘陵, 平原都可以, 关键是在我们对它做任何扰动之前. 有些人问桩土作用如何平衡? 这个问题首先就是错的, 因为地应力平衡的时候是不能有桩的.一旦有桩就跨过了地应力平衡这个时间点, 数值模拟要忠实于实际情况, 不能想当然, 所以正确的选择时间点是地应力平衡计算中最最关键的.
处理地应力平衡的三种方法:
1.地表水平土层分层水平的情况下的地应力平衡
地表水平而且土层分层水平的情况下的地应力平衡是最简单的情况, 事实上也是大多数计算用到的平衡方法, 这个时候可以用ABAQUS 提供的*initial conditions, type=stress, geostatic方法来做. 具体怎么写这个语句, 请自行参考文档.
2. 其它的情况下的地应力平衡
地表不水平或土分层不规则的情况下只能使用导入地应力数据的方式进行地应力平衡, 其方法的核心是给土体加重力, 不必理会其土体
位移, 只是单纯的提取每个单元的平均应力, 再将这个应力读回ABAQUS作为初始应力, 以达到平衡土体位移的效果. 具体操作参考这
个贴
/viewthread.php?tid=762963&highlight=%B5%D8%D3%A6%C1%A6%C6%BD%BA%E2
3. 不预设地应力
所谓的不进行地应力平衡是指计算前不设定土体位移归零, 而是记录下土体在重力作用下每个结点的位移值, 在进行后继计算后, 将位移结果减去重力作用下每个结点的位移值就能得到当前计算步的净位移, 这种方法只适用于小变形分析, 不适用于几何非线性的情况, 好处是收敛性好, 精度高, 因为记录的是结点位移, 缺点是麻烦, 因为要提前记录, 还要处理数据.
1法是对单元集进行赋值, 与结点集无关;
常见的问题
1. 有结构物的情况如何平衡?
有结构物的情况下就不是正确的平衡点, 如果一定要这样平衡, 比如原来有一个隧道, 现在在上面建房子, 要估计这种情况下的追加位移是多少, 这种情况下可以用上面的方法2和3来完成.
2. 多层土的情况下的平衡?
多层土的情况可以根据不同的情况选择方法1或2进行.
3. 有地下水的情况下的平衡?
有水的情况下最主要是要搞清楚土的三相, 按照不同的孔隙率计算土的干密度和湿密度, 这种平衡目前最好是只用方法1来完成.
4. 边坡加重力无法平衡?
边坡加重力无法平衡表示边坡本身是不稳的, 请检查模型是否合理, 塑性参数是否合理.
/thread-753043-1-12.html aba_aba大哥解答:
你的inp文件中有part和instance, 而geo.dat中的节点编号前面没有instance名称。
有两种方法:
1。
建立没有part的inp文件,geo.dat中的单元编号前面没有instance名称。
见
/forum/viewthread.php?tid=708942
2。
建立有part的inp文件,geo.dat中的单元编号前面加上instance名称。
见
/forum/thread-724821-1-1.html
按照第2种方法,在你的geo.dat文件中单元编号前面加上Part-1-1. ,例如第一行变为
Part-1-1.1,-1.50E+04,-3.50E+04,-1.50E+04,-1.25E-12,-1.92E-13,-4.17E-12
/archiver/tid-708942.html
先建立好你的模型,按照你的课题把边界条件、接触什么的都建好,然后使用命令mdb.models['你的模型名字
'].setValues(noPartsInputFile=ON),建立没有part的inp文件(abaqus不认带part的istress数据)
zhuyi:要写你的model的名字(在CAE窗口顶部,Model右面,默认名称为Model-1, Model-2等等),不是CAE或JOB的名称。
你的model的名字前后都要加上单引号
地应力平衡方法
熊志勇陈功奇
第一部分地应力平衡方法简介
地应力平衡有三种方法:
(1)*initial conditions,type=stress,input=FileName.csv(或inp)
该方法中的文件FILENAME.INP获取方法为:首先将已知边界条件施加到模型上进行正演计算,然后一般是将计算得到的每个单元的应力外插到形心点处并导出6个应力分量(也可以导出积分点处的应力分量,视要求平衡的精确程度而定)。
其所采用的几何模型可以考虑地表起伏不平的情况以及岩土材料极其不均匀的情况,适用范围广。
但由于外插的应力有一定误差,因此采用弹塑性本构模型时,可能会导致某些点的高斯点应力
位于屈服面以外,当大面积的高斯点上的应力超出屈服面之后,应力转移要通过大量的
迭代才能完成,而且有可能出现解不收敛的情况。
在仅考虑自重情况下只能考虑受泊松比的影响带来的侧压力系数效应,因此平衡后的效果不一定很理想,但无疑其适用性很强。
(2)*initial conditions,type=stress,geostatic
该方法需给出不同材料区域的最高点和最低点的自重应力及其相应坐标。
所采用的几何模型一般较规则,表面大致水平,地应力平衡的好坏一般只受岩体密度的影响,无论采用弹性或弹塑性本构模型都能很好的达到平衡,可以不必局限于仅受泊松比的影响,
能够通过考虑水平两个方向的侧压力系数值来施加初始应力场。
计算速度快,收敛性好。
缺点就是不能够很好平衡具有起伏表面的几何模型,需知道平整后模型的上覆岩体自重。
(3)*initial conditions,type=stress,geostatic,user
该方法采用用户子程序SIGINI来定义初始应力场,可以定义其为应力分量为坐标、单元号、积分点号等变量的函数,要达到精确平衡需已知具体边界条件,在实际中应用较少。
第二部分地应力平衡方法实例详解
地应力平衡是岩土工程数值模拟分析的重要的内容,为了让师弟师妹们快点上手,我利用第一种方法做一个较简单的模型,希望对大家有用。
一、模型描述:
3
/
2080m
kg
=
ρ
7
10
1⨯
=
E
35
.0
=
ν
二、地应力平衡过程
60kpa
2
1.启动ABAQUS,单击Create Model
Datebase
2.创建部件(Part)
在Part模块,单击创建部件按钮,弹
出如右图的对话框,
按图输入部件名:Part-soil;
采用二维模型选择2D Planar;
Type选择可变型(Deformable);
基本特征选择壳体(Shell);
Approximate size输入70,这个数值
的大小,应根据模型的最大尺寸来确
定:稍大于最大尺寸的2倍。
比如本
模型最大尺寸是30那么我输入了70,
但也不是绝对,你当然也可以输入65,
或75等等。
最后单击Continue,继续下一步。
按照模型尺寸(如图),建立模型部件,
双击鼠标中键,完成部件的建立。
3.建立材料属性(P roperty)
在Module中切换到P roperty模块,单击,输入材料名称(name):
Material-soil,单击Density,在弹出对话框中输入:密度2080;然后单击
Mechaniacal—Elasticity—Elastic,在弹出的对话框输入图,单击OK完成材料的定义。
单击按钮,输入名字:S ection-soil,选择Soild , Homogeneous,单击
Continue,OK,完成截面的创立。
单击按钮,选取部件(单击或框选,选择后成粉红色,表示选中),单击Done 或单击鼠标中键来确定。
在弹出的对话框中选中Section-Soil,单击OK.
4.装配部件(Assembly)
在Module选择Assembly模块,单击,弹出对话框,采用默认值,单击OK.
注意:1.本模型只有一个部件所以自动选中,如有多个可按Shift键全选中;
2.Instance Type 本例都无所谓,只有一个部件,但是如有多个部件,我比
较喜欢选择Independent,因为在这种情况下,所有的部件会出现在一个窗口,划分网格更方便,并且直观的看到不同部件连接处网格划分的是否协调。
5.创建分析步(Step)
在Module选择Step模块,单击,弹出下面的对话框,创建分析步Step-1,
选择Geostatic,单击Continue,在分析步编辑框Basic中选择On(如果会发生大变形的情况下要选择On),其他默认,单击OK
6.施加荷载和定义边界条件(Load)
在Module选择Load模块,单击定义边界条件,需要对模型的左、右、下底面定义边界条件,分别命名BC-1、BC-2 、BC-3,选择初始步
(Initial),Displacement/Rotation, 单击Continue,选择左、右、下底面边界,单击Done,分别选择U1、 U1、 U2(U1是水平方向,U2是竖直方向),单击OK完成边界条件的定义。
单击定义重力荷载,Name:Load-grv, 选择Step-1,Mechanical,Gravity,单击Continue。
单击Edit Region,选择整个模型,在Component 2中输入-9.8(重力加速度),单击OK
7.划分网格(Mesh)(划分网格是一门艺术,本例只是简单的划分)
在Module选择Mesh模块,单击设定网格的种子,将全局种子大小设为1,其余默认,单击OK.
单击,采用默认,单击OK。
单击,Family选择Plane Strain,其余采用默认,单击OK
单击,单击Yes,完成网格的划分,如下图:
8.在命令行中输入mdb.models['Model'].setValues(noPartsInputFile=ON),按回
车键
9.在job模块中创建名为Job-NoInitialCondition的分析步,提交分析。
应力图
水平位移图
10.将分析得到的应力场保存为一个文本文件。
具体做法:打开分析得到的ODB文件,
选择菜单Report→Field Output,在下图所示的对话框中,选中积分点上的各个应力分量(对于二维问题,应力分量S11、S22、S33和S12;对于三维问题,还应选中S13和S23)。
图表 1输入常变量S11、S22、S33和 S12
单击此对话框中的Setup标签页,在Name文本框中输入要保存的文件名b.inp,取消对Append to file 的选择(即创建一个新文件),在Write后面只选中Field Output (如下图所示)。
图表 2设置输出场变量
注意,此处输出的是当前增量步结束时的应力结果,因此上述对话框顶部的Step 必须是Geostatic分析步,Frame必须是1。
如果Frame是0,会看到输出的应力都是0。
11.按照ABAQUS所要求的初始应力场文件格式,修改上述文件b.inp中的内容。
具体
方法为:
用Excel打开上述文件b.inp,在”文本文件导入向导”的步骤1中选择“分隔符号”,在步骤2中选择“Tab”键和“空格”键,这样b.inp中的各列数据就成为Excel表格中的各个列。
删除表格中开始几行的模型信息,再删除积分点编号所在的第2列数据(都为数字1),只保留单元编号和各个应力分量列,并将各个应力分量的科学计数法格式改为显示小数点后5位数字。
修改前和修改后的数据如下:
图表 3修改前图表 4 修改后
下面将上述数据输出为以逗号分隔的文本文件b.csv,具体的方法是:在Excel 中单击菜单“文件”→“另存为”,将文件类型设置为“CSV(逗号分隔)”,对于出现的提示信息,单击“是”,即可。
12.为模型中定义初始应力场。
在ABAQUS/CAE中无法直接定义初始应力,只能手工添加
关键词,具体方法为:
将原来的CAE模型另存为a.cae,选择菜单Model→Edit keywords,在*STEP语句之前添加以下语句:
*initial conditions,type=stress,input=b.csv
图表 5 修改前
图表 6 修改之后
13.在job功能模块中将分析作业名Job-WithInitialCondition,重新提交分析。
注意,
初始应力场文件b.csv应该和INP文件Job-WithInitialCondition.inp位于同一个路径下,否则将会出现下列错误信息:
The following file(s) could not be located :b.csv(无法找到文件b.csv)
14.查看地应力平衡的结果。
打开Job-WithInitialCondition.odb初始状态下(0时刻),
模型就具有了一个初始应力场,这个应力场与上一个结果文件
Job-NoitialCondition.odb中分析步结束时刻的应力场完全相同。
图表 7 平衡后的地应力场
15.上面就已经完成了初始地应力平衡,接下来可以添加其他分析步(例如普通的静力
分析步Static,General),定义接触和实际的荷载,并去掉前面第一步中临时边界条件
图表 8 施加静力的模型
图表 9 应力云图
图表 10 位移等值线图。