FLAC3D,基本知识

FLAC3D,基本知识
FLAC3D,基本知识

FLAC 3D基础知识介绍

一、概述

FLAC(Fast Lagrangian Analysis of Continua)由美国Itasca公司开发的。目前,FLAC有二维和三维计算程序两个版本,二维计算程序V3.0以前的为DOS版本,V2.5版本仅仅能够使用计算机的基本内存64K),所以,程序求解的最大结点数仅限于2000个以内。1995年,FLAC2D已升级为V3.3的版本,其程序能够使用护展内存。因此,大大发护展了计算规模。FLAC3D是一个三维有限差分程序,目前已发展到V3.0版本。

FLAC3D的输入和一般的数值分析程序不同,它可以用交互的方式,从键盘输入各种命令,也可以写成命令(集)文件,类似于批处理,由文件来驱动。因此,采用FLAC程序进行计算,必须了解各种命令关键词的功能,然后,按照计算顺序,将命令按先后,依次排列,形成可以完成一定计算任务的命令文件。

FLAC3D是二维的有限差分程序FLAC2D的护展,能够进行土质、岩石和其它材料的三维结构受力特性模拟和塑性流动分析。调整三维网格中的多面体单元来拟合实际的结构。单元材料可采用线性或非线性本构模型,在外力作用下,当材料发生屈服流动后,网格能够相应发生变形和移动(大变形模式)。FLAC3D 采用的显式拉格朗日算法和混合-离散分区技术,能够非常准确的模拟材料的塑性破坏和流动。由于无须形成刚度矩阵,因此,基于较小内存空间就能够求解大范围的三维问题。

三维快速拉格朗日法是一种基于三维显式有限差分法的数值分析方法,它可以模拟岩土或其他材料的三维力学行为。三维快速拉格朗日分析将计算区域划分为若干四面体单元,每个单元在给定的边界条件下遵循指定的线性或非线性本构关系,如果单元应力使得材料屈服或产生塑性流动,则单元网格可以随着材料的变形而变形,这就是所谓的拉格朗日算法,这种算法非常适合于模拟大变形问题。三维快速拉格朗日分析采用了显式有限差分格式来求解场的控制微分方程,并应用了混合单元离散模型,可以准确地模拟材料的屈服、塑性流动、软化直至大变形,尤其在材料的弹塑性分析、大变形分析以及模拟施工过程等领域有其独到的优点。

FLAC-3D(Three Dimensional Fast Lagrangian Analysis of Continua)是美国Itasca Consulting Goup lnc 开发的三维快速拉格朗日分析程序,该程序能较好地模拟地质材料在达到强度极限或屈服极限时发生的破坏或塑性流动的力学行为,特别适用于分析渐进破坏和失稳以及模拟大变形。它包含10种弹塑性材料本构模型,有静力、动力、蠕变、渗流、温度五种计算模式,各种模式间可以互相藕合,可以模拟多种结构形式,如岩体、土体或其他材料实体,梁、锚元、桩、壳以及人工结构如支护、衬砌、锚索、岩栓、土工织物、摩擦桩、板桩、界面单元等,可以模拟复杂的岩土工程或力学问题。

FLAC3D采用ANSI C++语言编写的。

二、FLAC3D的优点与不足

FLAC3D有以下几个优点:

1 对模拟塑性破坏和塑性流动采用的是“混合离散法“。这种方法比有限元法中通常采用的“离散集成法“更为准确、合理。

2 即使模拟的系统是静态的,仍采用了动态运动方程,这使得FLAC3D在模拟物理上的不稳定过程不存在数值上的障碍。

3 采用了一个“显式解“方案。因此,显式解方案对非线性的应力-应变关系的求解所花费的时间,几互与线性本构关系相同,而隐式求解方案将会花费较长的时间求解非线性问题。面且,它没有必要存储刚度矩阵,这就意味着,采用中等容量的内存可以求解多单元结构;模拟大变形问题几互并不比小变形问题多消耗更多的计算时间,因为没有任何刚度矩阵要被修改。

当然,它也存在以下几个不足之处:

1 对于线性问题的求解,FLAC3D比其他有限元程序运行得要慢;但是,当进行大变形非线性问题

或模拟实际可能出现不稳定问题时,FLAC3D是最有效的工具。

2 用FLAC3D求解时间取决于最长的自然周期和最短的自然周期之比。

三、FLAC3D的特点

1、应用范围广泛

1.1 包含10材料本构模型

Flac3D中为岩土工程问题的求解开发了特有的本构模型,总共包含了10种材料模型:

1. 开挖模型null

2. 3个弹性模型(各向同性,横观各向同性和正交各向同性弹性模型)

3. 6个塑性模型(Drucker-Prager模型、Morh-Coulomb模型、应变硬化/软化模型、遍布节理模型、双线性应变硬化/软化遍布节理模型和修正的cam粘土模型)。

Flac3D网格中的每个区域可以给以不同的材料模型,并且还允许指定材料参数的统计分布和变化梯度。还包含了节理单元,也称为界面单元,能够模拟两种或多种材料界面不同材料性质的间断特性。节理允许发生滑动或分离,因此可以用来模拟岩体中的断层、节理或摩擦边界。

FLAC3D中的网格生成器gen,通过匹配、连接由网格生成器生成局部网格,能够方便地生成所需要的三维结构网格。还可以自动产生交岔结构网格(比如说相交的巷道),三维网格由整体坐标系x,y,z系统所确定,这就提供了比较灵活的产生和定义三维空间参数。

1.2 有五种计算模式

(l)静力模式。这是FLAC-3D默认模式,通过动态松弛方法得静态解。

(2)动力模式。用户可以直接输人加速度、速度或应力波作为系统的边界条件或初始条件,边界可以固定边界和自由边界。动力计算可以与渗流问题相藕合。

(3)蠕变模式。有五种蠕变本构模型可供选择以模拟材料的应力-应变-时间关系:Maxwell模型、双指数模型、参考蠕变模型、粘塑性模型、脆盐模型。

(4)渗流模式。可以模拟地下水流、孔隙压力耗散以及可变形孔隙介质与其间的粘性流体的耦合。渗流服从各向同性达西定律,流体和孔隙介质均被看作可变形体。考虑非稳定流,将稳定流看作是非稳定流的特例。边界条件可以是固定孔隙压力或恒定流,可以模拟水源或深井。渗流计算可以与静力、动力或温度计算耦合,也可以单独计算。

(5)温度模式。可以模拟材料中的瞬态热传导以及温度应力。温度计算可以与静力、动力或渗流计算藕合,也可单独计算。

1.3 可以模拟多种结构形式

(l)对于通常的岩体、土体或其他材料实体,用八节点六面体单元模拟。

(2)FIAC-3D包含有四种结构单元:梁单元、锚单元、桩单元、壳单元。可用来模拟岩土工程中的人工结构如支护、衬砌、锚索、岩栓、土工织物、摩擦桩、板桩等。

(3)FLAC-3D的网格中可以有界面,这种界面将计算网格分割为若干部分,界面两边的网格可以分离,也可以发生滑动,因此,界面可以模拟节理、断层或虚拟的物理边界。

1.4 可以有多种边界条件

边界方位可以任意变化,边界条件可以是速度边界、应力边界,单元内部可以给定初始应力,节点可以给定初始位移、速度等,还可以给定地下水位以计算有效应力、所有给定量都可以具有空间梯度分布。

2 FLAC-3D内嵌语言FISH

FLAC-3D具有强大内嵌语言FISH,使得用户可以定义新的变量或函数,以适应用户的特殊需要,例如,利用HSH做以下事情:

(l)用户可以自定义材料的空间分布规律,如非线性分布等。

(2)用户可以定义变量,追踪其变化规律并绘图表示或打印输出。

(3)用户可以自己设计FLAC-3D内部没有的单元形态。

(4)在数值试验中可以进行伺服控制。

(5)用户可以指定特殊的边界条件。

(6)自动进行参数分析。

(7)利用FLAC-3D内部定义的Fish变量或函数,用户可以获得计算过程中节点、单元参数,如坐标、位移、速度、材料参数、应力、应变、不平衡力等。

3 FLAC-3D具有强大的前后处理功能

FLAC-3D具有强大的自动三维网格生成器,内部定义了多种单元形态,用户还可以利用FISH自定义单元形态,通过组合基本单元,可以生成非常复杂的三维网格,比如交叉隧洞等。

在计算过程中的任何时刻用户都可以用高分辨率的彩色或灰度图或数据文件输出结果,以对结果进行实时分析,图形可以表示网格、结构以及有关变量的等值线图、矢量图、曲线图等,可以给出计算域的任意截面上的变量图或等直线图,计算域可以旋转以从不同的角度观测计算结果。

四、FLAC3D做计算分析的一般步骤:

与大多数程序采用数据输入方式不同,FLAC采用的是命令驱动方式。命令字控制着程序的运行。在必要时,尤其是绘图,还可以启动FLAc用户交互式图形界面。为了建立FLAC计算模型,必须进行以下三个方面的工作:

1. 有限差分网格

2. 本构特性与材料性质

3. 边界条件与初始条件

完成上述工作后,可以获得模型的初始平衡状态,也就是模拟开挖前的原岩应力状态。然后,进行工程开挖或改变边界条件来进行工程的响应分析,类似于FLAC的显式有限差分程序的问题求解。与传统的隐式求解程序不同,FLAC采用一种显式的时间步来求解代数方程。进行一系列计算步后达到问题的解。

在FLAC中,达到问题所需的计算步能够通过程序或用户加以控制,但是,用户必须确定计算步是否已经达到问题的最终的解

五、FLAC3D分析的使用领域

根据手册中所说,总结如下:

1 承受荷载能力与变形分析:用于边坡稳定和基础设计

2 渐进破坏与坍塌反演:用于硬岩采矿和隧道设计

3 断层构造的影响研究:用于采矿设计

4 施加于地质体锚索支护所提供的支护力研究:岩锚和土钉的设计

5 排水和不排水加载条件下全饱和流体流动和孔隙压力扩散研究:挡土墙结构的地下水流动和土体固结

研究

6 粘性材料的蠕变特性:用于碳酸钾盐矿设计

7 陡滑面地质结构的动态加载:用于地震工程和矿山岩爆研究

8 爆炸荷载和振动的动态响应:用于隧道开挖和采矿活动

9 结构的地震感应:用于土坝设计

10 由于温度诱发荷载所导致的变形和结构的不稳定

12 大变形材料分析:用于研究粮仓谷物流动和放矿的矿石流动

六、后处理

用tecplot绘制曲线

1.第一主应力

2.xdisp、ydisp、zdisp、disp

用excel做曲线

隧道

1做地表沉降槽(zdisp)

2地表横向位移(xdisp)

3隧道中线竖向沉降曲线(zdisp)

4提取位移矢量图,

5显示初期支护结构内力

6显示state(找塑性区)

基坑

1做地表沉降槽(zdisp)

2提取位移矢量图,

3显示初期支护结构内力

4显示state(找塑性区)

边坡

做安全系数和应变图

七、模型最优化

用FLAC3D解决问题时,为了得到最有效的分析使模型最优化是很重要的。这个章节对改进模型的运行提供了一些方法建议。同时,准备计算时需要避免的一些通常出现的缺陷也列了出来。

1.检查模型运行时间

一个FLAC3D例子的运行时间是区域数的4/3倍。这个规则适用于平衡条件下的弹性问题。对于塑性问题,运行时间会有点改变,但是不会很大,但是如果发生塑性流动,这个时间将会大的多。对一个具体模型检查自己机子的计算速度很重要。一个简单的方法就是运行5.1节所给的基准测试。然后基于区域数的改变,用这个速度评估具体模型的计算速度。

2.影响运行时间的因素

FLAC3D有时会需要较长时间才可以收敛主要发生在下列情况下:

(a)材料本身刚度变异或材料与结构及接触面之间的刚度差异很大。

(b)划分的区域尺寸相差很大。

这些尺寸差异越大编码就越无效。在做详细分析前应该研究刚度差异的影响。例如,一个荷载作用下的刚性板,可以用一系列顶点固定的网格代替,并施以等速度。(记住FIX命令确定速度,而不是位移。)地下水的出现将使体积模量发生明显的增加——见理论卷第三章流体-固体相互作用分析。

3.考虑网格划分的密度

FLAC3D使用常应变单元。如果应力/应变曲线倾斜度比较高,那么你将需要许多区域来代表多变的分区。通过运行划分密度不同的同一个问题来检查影响。FLAC3D应用常应变区域,因为当用多的少节点单元与用比较少的多节点单元模拟塑性流动时相比更准确。

应尽可能保持网格,尤其是重要区域网格的统一。避免长细比大于5:1的细长单元,并避免单元尺寸跳跃式变化(即应使用平滑的网格)。应用GENERATE命令中的比率关键词,使细划分区域平滑过渡到粗划分区域。

4.自动发现平衡状态

默认情况下,当执行SOLVE 命令时,系统将自动发现力的平衡。当模型中所有网格顶点中所有力的平均量级与其中最大的不平衡力的量级的比率小于1*10时,认为达到了平衡状态。注意一个网格顶点的力由内力(例如,由于重力)和外力(例如,由于所加的应力边界条件)共同引起。因为比率是没有尺寸的,

所以对于有不同的单元体系的模型,在大多数情况下,不平衡力和所加力比率的限制给静力平衡提供了一个精确的限制。

同时还提供了其他的比率限制;可以用SET ratio 命令施加。如果默认的比率限制不能为静力平衡提供一个足够精确的限制,那么应考虑可供选择的比率限制。

默认的比率限制同样可用于热分析和流体分析的稳定状态求解。对于热分析,是对不平衡热流量和所加的热流量量级进行评估,而不是力。对于流体分析,对不平衡流度和所加流度量级进行评估。

5.考虑选择阻尼

对于静力分析,默认的阻尼是局部阻尼,对于消除大多数网格顶点的速度分量周期性为零时的动能很有效。这是因为质量的调节过程依赖于速度的改变。局部阻尼对于求解静力平衡是一个非常有效的计算法则且不会引入错误的阻尼力(见Cundall 1987)。

如果在求解最后状态,重要区域的网格海域的速度分量不为零,那么说明默认的阻尼对于达到平衡状态是不够的。有另外一种形式的阻尼,叫组合阻尼,相比局部阻尼可以使稳定状态达到更好的收敛,这时网格将发生明显的刚性移动。例如,求解轴向荷载作用下桩的承载力或模拟蠕变时都可能发生。使用SETmechanical damp combined命令来调用组合阻尼。组合阻尼对于减小动能方面不如局部阻尼有效,所以应注意使系统的动力激发最小化(见例3.14)。可以用SET mechanical damp local命令转换到默认阻尼。

6.检查模型反应

FLAC3D 显示了一个相试的物理系统是怎样变化的。做一个简单的试验证明你在做你认为你在做的事情。例如,如果荷载和实体在几何尺寸上都是对称的,当然反应也是对称的。改变了模型以后,执行几个时步(假如,5或10步),证明初始反应是正确的,并且发生的位置是正确的。对应力或位移的期望值做一个估计,与FLAC3D 的输出结果作比较。

如果你对模型施加了一个猛烈的冲击,你将会得到猛烈的反应。如果你对模型作了一些看起来不合理的事情,你一定要等待奇怪的结果。如果在分析的一个给定阶段,得到了意外值,那么回顾到这个阶段所用的时步。

在进行模拟前很关键的是检查输出结果。例如,除了一个角点速度很大外,一切都很合理,那么在你理解原因前不要继续下去。这种情况小,你可能没有给定适当的网格边界。

7.初始化变量

在模拟基坑开挖过程时,在达到目的前通常要初始化网格顶点位移。因为计算次序法则不要求位移,所以可以初始化位移,这只是由网格顶点的速度决定,并有益于用户初始化速度却是一件难事。如果设定网格顶点的速度为一常数,那么这些点在设置否则前保持不变。所以,不要不要为了清除这些网格的速度而简单的初始化它们为零——这将影响模拟结果。然而,有时设定速度为零是有用的(例如,消除所有的动能)。

8.最小化静力分析的瞬时效应

对于连续性静力分析,经过许多阶段逐步接近结果是很重要的——即,当问题条件突然改变时,通过最小化瞬时波的影响,使结果更加“静力”。使FLAC3D解决办法更加静态的方法有两种。

(1).当突然发生一个变化时(例如,通过使区域值为零模拟开挖),设定强度性能为很高的值以得到静力平衡。然后为了确保不平衡力很低,设定性能为真实值,再计算,这样,由瞬时现象引起的失败就不会发生了。

(2) .当移动材料时,用FISH 函数或表格记录来逐步减少荷载(见1.2节中的例子)。

9.改变模型材料

FLAC3D 对一个模拟中所用的材料数没有限制。这个准则已经尺寸化,允许用户在自己所用版本的FLAC3D中最大尺寸网格的每个区域(假如设定的)使用不同的材料。

10.运行在现场原位应力和重力作用下的问题

有很多问题在建模时需要考虑现场原位应力和重力的作用。这种问题的一个例子是深层矿业开挖_——

回填,此时大多数岩石受很高的原位应力区的影响(即,自重应力由于网孔尺寸的限制可以忽略不计),但是回填桩的放置使自重应力发展导致岩石在荷载作用下可能坍塌。在这些模拟中要注意的重点(因为任何一种模拟都有重力的作用)是网格的至少三个点在空间上应固定——否则,整个网格在重力作用下将转动。如果你曾经注意到整个网格在重力加速度矢量方向发生转动,那么你可能忘记在空间上固定网格了(见例

3.16)。

八、算例

FLAC3D3.0在某隧道工程开挖支护中的应用-命令流.dat

new

set log on

set logfile wang.log

gen zon radcyl p0 0 0 0 p1 9.0 0 0 p2 0 50 0 p3 0 0 8 &

size 4 20 6 4 dim 6 5 6 5 rat 1 1 1 1 group 围岩

gen zon cshell p0 0 0 0 p1 6.0 0 0 p2 0 50 0 p3 0 0 5.0 &

size 4 20 6 4 dim 5.6 4.6 5.6 4.6 rat 1 1 1 1 group 初期支护

gen zon cshell p0 0 0 0 p1 5.6 0 0 p2 0 50 0 p3 0 0 4.6 &

size 4 20 6 4 dim 5.0 4.0 5.0 4.0 rat 1 1 1 1 group 二次衬砌 fill group 原岩

gen zon radcyl p0 0 0 0 p1 0 0 -8.0 p2 0 50 0 p3 9.0 0 0 &

size 4 20 6 4 dim 3 6 3 6 rat 1 1 1 1 group 围岩2

gen zon cshell p0 0 0 0 p1 0 0 -3.0 p2 0 50 0 p3 6.0 0 0 &

size 4 20 6 4 dim 2.6 5.6 2.6 5.6 rat 1 1 1 1 group 仰拱初期支护

gen zon cshell p0 0 0 0 p1 0 0 -2.6 p2 0 50 0 p3 5.6 0 0 &

size 4 20 6 4 dim 2 5 2 5 rat 1 1 1 1 group 仰拱二次衬砌 fill group 仰拱原岩

gen zone reflect normal -1 0 0

gen zone radtun p0 0 0 0 p1 45 0 0 p2 0 50 0 p3 0 0 20 &

size 3 20 3 12 dim 9 8 9 8 rat 1 1 1 1.1 group 围岩3

gen zon reflect dip 0 ori 0 0 0 range x 0 9 y 0 50 z 8 20

gen zon reflect dip 0 ori 0 0 0 range x 9 45 y 0 50 z 0 20

gen zon reflect dip 90 dd 270 ori 0 0 0 range x 0 9 y 0 50 z 8 20

gen zon reflect dip 90 dd 270 ori 0 0 0 range x 0 9 y 0 50 z -8 -20

gen zon reflect dip 90 dd 270 ori 0 0 0 range x 9 45 y 0 50 z -20 20

gen zon brick p0 -45 0 -20 p1 -45 0 -40 p2 -45 50 -20 p3 45 0 -20 &

size 5 20 6 rat 1.1 1 1 group 围岩4

save tun_model.sav

;假设围岩岩体符合mohr-coulomb本构模型,给围岩赋参数命令流如下,

; mohr-coulomb model

model mohr

def derive

s_mod1=E_mod1/(2.0*(1.0+p_ratio1))

b_mod1=E_mod1/(3.0*(1.0-2.0*p_ratio1))

s_mod2=E_mod2/(2.0*(1.0+p_ratio2))

b_mod2=E_mod2/(3.0*(1.0-2.0*p_ratio2))

end

set E_mod1=0.6e9 p_ratio1=0.27 E_mod2=0.8e9 p_ratio2=0.26

derive

prop bulk b_mod1 shear s_mod1 cohe 1.8e6 tens 0.8e6 fric 30 range z 4.5 20

prop bulk b_mod2 shear s_mod2 cohe 2.8e6 tens 1.0e6 fric 35 range z -40 4.5

ini dens=2300

set grav 0 0 -10

; boundary and initial conditions

apply szz -1.4e6 range z 19.9 20.1

fix z range z -40.1 -39.1

fix x range x -45.1 -44.9

fix x range x 44.9 45.1

fix y range y 49.9 50.1

hist unbal

hist gp xdis 6.0,0,0

hist gp zdis 0,0,5

hist gp xdis 6.0,50,0

hist gp zdis 0,50,5

plot hist 3

solve

save tun_nature.sav

;对后面计算而言,模型建立时岩体在开挖前认为位移已经终了,因此需要对位移进行“清零”,而应力可以保留。假设隧道先开挖上断面,中间不设支护,直到进尺50m,那么此时位移和应力的分布情况可用如下命令流

ini xdis=0 ydis=0 zdis=0

plot re

model null range group 原岩

model null range group 二次衬砌

model null range group 初期支护

set large

hist unbal

plot hist 3

solve

save tun_ext1.sav

;如果在开挖后适时对隧道进行锚喷混凝土初期支护,该命令流如下:

restore tun_nature.sav

ini xdis=0 ydis=0 zdis=0

plot re

model null range group 初期支护

model null range group 二次衬砌

model null range group 原岩

step 100

hist unbal

plot hist 3

mo el range group 初期支护

prop bulk 1.33e9 shear 0.8e9 cohe 2.2e6 tens 1.2e6 fric 32 range z 4.5 7.0 x -7.0 7.0

prop bulk 10.9e9 shear 8.9e9 dens 2500 range group 初期支护set large

solve

save tun_ext2.sav

FLAC3D基础知识介绍

FLAC 3D 基础知识介绍 一、概述 FLAC(Fast Lagrangian Analysis of Continua )由美国Itasca 公司开发的。目前,FLAC 有二维和三维计算程序两个版本,二维计算程序V3.0 以前的为DOS 版本,V2.5 版本仅仅能够使用计算机的基本内存64K),所以,程序求解的最大结点数仅限于2000个以内。1995 年,FLAC2D 已升级为V3.3 的版本,其程序能够使用护展内存。因此,大大发护展了计算规模。FLAC3D是一个三维有限差分程序,目前已发展到V3.0 版本。 FLAC3D的输入和一般的数值分析程序不同,它可以用交互的方式,从键盘输入各种命令,也可以写成命令(集)文件,类似于批处理,由文件来驱动。因此,采用FLAC程序进行计算,必须了解各种命令关键词的功能,然后,按照计算顺序,将命令按先后,依次排列,形成可以完成一定计算任务的命令文件。 FLAC3D是二维的有限差分程序FLAC2D的护展,能够进行土质、岩石和其它材料的三维结构受力特性模拟和塑性流动分析。调整三维网格中的多面体单元来拟合实际的结构。单元材料可采用线性或非线性本构模型,在外力作用下,当材料发生屈服流动后,网格能够相应发生变形和移动(大变形模式)。FLAC3D 采用的显式拉格朗日算法和混合-离散分区技术,能够非常准确的模拟材料的塑性破坏和流动。由于无须形成刚度矩阵,因此,基于较小内存空间就能够求解大范围 的三维问题。

三维快速拉格朗日法是一种基于三维显式有限差分法的数值分析 方法,它可以模拟岩土或其他材料的三维力学行为。三维快速拉格朗日分析将计算区域划分为若干四面体单元,每个单元在给定的边界条件下遵循指定的线性或非线性本构关系,如果单元应力使得材料屈服或产生塑性流动,则单元网格可以随着材料的变形而变形,这就是所 谓的拉格朗日算法,这种算法非常适合于模拟大变形问题。三维快速 拉格朗日分析采用了显式有限差分格式来求解场的控制微分方程,并应用了混合单元离散模型,可以准确地模拟材料的屈服、塑性流动、软化直至大变形,尤其在材料的弹塑性分析、大变形分析以及模拟施工过程等领域有其独到的优点。 FLAC-3D(Three Dimensional Fast Lagrangian Analysis of Continua)是美国Itasca Consulting Goup lnc 开发的三维快速拉格朗日分析程序,该程序能较好地模拟地质材料在达到强度极限或屈服极限时发生的破坏或塑性流动的力学行为,特别适用于分析渐进破坏和失稳以及模拟大变形。它包含10种弹塑性材料本构模型,有静力、动力、蠕变、渗流、温度五种计算模式,各种模式间可以互相藕合,可以模拟多种结构形式,如岩体、土体或其他材料实体,梁、锚元、桩、壳以及人工结构如支护、衬砌、锚索、岩栓、土工织物、摩擦桩、板桩、界面单元等,可以模拟复杂的岩土工程或力学问题。 FLAC3D采用ANSI C++语言编写的。 二、FLAC3D的优点与不足 FLAC3D有以下几个优点: 1对模拟塑性破坏和塑性流动采用的是混合离散法。这种方

FLAC3D基础知识介绍

FLAC 3D基础知识介绍 一、概述 FLAC(Fast Lagrangian Analysis of Continua)由美国Itasca公司开发的。目前,FLAC有二维与三维计算程序两个版本,二维计算程序V3、0以前的为DOS版本,V2、5版本仅仅能够使用计算机的基本内存64K),所以,程序求解的最大结点数仅限于2000个以内。1995年,FLAC2D已升级为V3、3的版本,其程序能够使用护展内存。因此,大大发护展了计算规模。FLAC3D就是一个三维有限差分程序,目前已发展到V3、0版本。 FLAC3D的输入与一般的数值分析程序不同,它可以用交互的方式,从键盘输入各种命令,也可以写成命令(集)文件,类似于批处理,由文件来驱动。因此,采用FLAC程序进行计算,必须了解各种命令关键词的功能,然后,按照计算顺序,将命令按先后,依次排列,形成可以完成一定计算任务的命令文件。 FLAC3D就是二维的有限差分程序FLAC2D的护展,能够进行土质、岩石与其它材料的三维结构受力特性模拟与塑性流动分析。调整三维网格中的多面体单元来拟合实际的结构。单元材料可采用线性或非线性本构模型,在外力作用下,当材料发生屈服流动后,网格能够相应发生变形与移动(大变形模式)。FLAC3D采用的显式拉格朗日算法与混合-离散分区技术,能够非常准确的模拟材料的塑性破坏与流动。由于无须形成刚度矩阵,因此,基于较小内存空间就能够求解大范围的

三维问题。 三维快速拉格朗日法就是一种基于三维显式有限差分法的数值分析方法,它可以模拟岩土或其她材料的三维力学行为。三维快速拉格朗日分析将计算区域划分为若干四面体单元,每个单元在给定的边界条件下遵循指定的线性或非线性本构关系,如果单元应力使得材料屈服或产生塑性流动,则单元网格可以随着材料的变形而变形,这就就是所谓的拉格朗日算法,这种算法非常适合于模拟大变形问题。三维快速拉格朗日分析采用了显式有限差分格式来求解场的控制微分方程,并应用了混合单元离散模型,可以准确地模拟材料的屈服、塑性流动、软化直至大变形,尤其在材料的弹塑性分析、大变形分析以及模拟施工过程等领域有其独到的优点。 FLAC-3D(Three Dimensional Fast Lagrangian Analysis of Continua)就是美国Itasca Consulting Goup lnc开发的三维快速拉格朗日分析程序,该程序能较好地模拟地质材料在达到强度极限或屈服极限时发生的破坏或塑性流动的力学行为,特别适用于分析渐进破坏与失稳以及模拟大变形。它包含10种弹塑性材料本构模型,有静力、动力、蠕变、渗流、温度五种计算模式,各种模式间可以互相藕合,可以模拟多种结构形式,如岩体、土体或其她材料实体,梁、锚元、桩、壳以及人工结构如支护、衬砌、锚索、岩栓、土工织物、摩擦桩、板桩、界面单元等,可以模拟复杂的岩土工程或力学问题。 FLAC3D采用ANSI C++语言编写的。 二、FLAC3D的优点与不足

FLAC3D基础命令流解释

;模型镜像 gen zone radcylinder size 25 1 25 25 gen zone reflect normal -1 0 0 origin x y z(面上一点);沿X轴镜像,通过对称平面法线向量确定对称面 gen zone reflect normal 0 0 -1 ;沿z轴镜像 ;绘图控制 pl contour szz outline on ;在模型中显示位移-应变曲线 hist gp ydisp 0,0,0 hist zone syy 0,1,0 hist zone syy 1,1,0 pl his -2 -3 vs 1 ;在plot hist m vs n的形式里,m代表y轴,n代表x轴(不管m,n的正负); "-"表示对其值作"mirror" ;对模型进行压缩实验的方法 ;即在模型两侧施加相反方向的速度 ini yvel 1e-7 range y -.1 .1 ini yvel -1e-7 range y 1.9 2.1 ;修改模型的坐标值 ini x add -100 y add -100 z add -100 ;显示云图的同时也显示模型网格轮廓 plot add cont disp outline on ;gradient更精确 ;输入角度、弧度方法 pi=π,90°为90.0*degrad def set_vals ptA = 25.0 * sin(pi/2);ptA=25.0 ptB = 25.0 * cos( 60.0*degrad );ptB=12.5 ptC=pi;ptC=3.1415926 end set_vals print ptA ptB ptC ;施加结构单元方法 sel shell id=5 range cylinder end1=(0.0, 0.0,0.0) & end2=(0.0,25.0,0.0) radius=24.5 not plot add sel geom black black cid on scale=0.03 sel node init zpos add -25.0 ;如何显示某一平面 plot create name_plane plot set plane origin 3 4 0 normal 1 0 0 plot add cont disp plane behind shade on plot add sel geom black plot add axes red

Flac3D常见问题整理

1.1常见问题及其解答Gen separate 不能被识别答:原因是FLAC3D版本不行,我用3.0的版本不能。 1. FLAC3D是有限元软件吗?答:不是,是有限差法软件。 2. FLAC3D最先需要掌握的命令有哪些?答:需要掌握gen, ini, app, plo, solve等建模、初始条件、边界条件、后处理和求解的命令。 3. 怎样看模型的样子?答:plo blo gro可以看到不同的group的颜色分布。 4. 怎样看模型的边界情况?答:plo gpfix red sk 5. 怎样看模型的体力分布?答:plo fap red sk 6. 怎样看模型的云图?答:位移:plo con dis (xdis, ydis, zdis) 应力:plo con sz (sy, sx, sxy, syz, sxz) 7. 怎样看模型的矢量图?答:plo dis (xdis, ydis, zdis) 8. 怎样看模型有多少单元、节点?答:print info 9. 怎样输出模型的后处理图?答:File/Print type/Jpg file,然后选择File/Print,将保存格式选择为jpg文件。 10. 怎样调用一个文件?答:使用菜单File/call 或者call 命令。 11. 如何施加面力?答:app nstress ran 12. 如何调整视图的大小、角度?答:综合使用x, y, z, m, Shift键,配合使用Ctrl+R,Ctrl+Z等快捷键。 13. 如何进行边界约束?答:fix x ran (约束的是速度,在初始情况下约束等效于位移约束) 14. 如何知道每个单元的ID?答:使用鼠标双击单元的表面,可以知道单元的ID和坐标。 15. 如何进行切片?答:plo set plane ori (点坐标) norm (法向矢量) plo con sz plane (显示z方向应力的切片) 16. 如何保存计算结果?答:save filename(文件名可自定义) 17. 如何调用已保存的结果?答:使用菜单File/call或者命令rest filename(文件名可自定义)。 18. 如何暂停计算?答:运行中使用Esc命令。 19. 如何在程序中进行暂停,并可恢复计算?答:在命令中加入pause命令,键入continue命令后可恢复计算。 20. 如何跳过某个计算步?答:在计算中按空格键可跳过本次计算,自动进入下一步。 21. FISH是什么?答:是FLAC3D的内置语言,可以用来进行参数化模型、完成命令本身不能进行的功能。 22. FISH是否一定要学?答:可以不用,需要的时候查Manual获得需要的变量就可以了。 23. FLAC3D允许的命令文件格式有哪些?答:只要是符合FLAC3D格式要求的文本文件,无论是什么后缀名,都可以为FLAC3D调用。 24. 如何调用一些可选模块?答:使用命令config dyn (fluid, creep, cppudm)。 25. 如何使用gauss_dev对符合高斯正态分布的材料参数进行赋值?答:假定某材料的摩擦角均值为40度,标准差是2,则命令如下:prop friction 40 gauss_dev 2 26. FISH函数中是否能调用“.sav”文件?答:不能。FLAC3D中规定,new和restore命令不允许出现在FISH函数中,因为new和restore 命令会将原有存储信息清除掉。 27. initial 与apply 有何区别?答:initial初始化命令,如初始化计算体的应力状态等;apply边界条件限制命令,如施加边界的力、位移等约束等。initial的应力状态会随计算过程的发生而发生改变,一般体力需要初始化,而apply施加的边界条件不会发生变化。 28. FLAC3D动力分析中是如何计算永久变形的?答:FLAC3D采用动态运动方程求解动力方程,因此采用弹塑性本构模型可以计算永久变形。而土动力学常用的粘弹性模型由于没有考虑土体的塑性,因此不能计算永久变形。 29. 对于初学者而言,是学习FLAC还是FLAC3D?答:FLAC有较好的图形化操作界面,而FLAC3D目前只能通过命令流来操作,从学习难度上来说,FLAC要简单一些,不过复杂的三维问题还是需要使用FLAC3D才能解决。FLAC和FLAC3D的某些命令和分析方法类似,读者在学习过程中可以相互借鉴。 30. interface建模命令中的dist关键词是否表示接触面的厚度?答:FLAC3D 中的interface 是没有厚度的,dist 关键词表示的是接触面建模时选择范围时的容差,表示该范围内的“面”上将被赋予interface 单元。 31. 初始应力场计算中位移场和速度场是否都要清零?答:是的。一般,FLAC和FLAC3D中位移场和速度场的清零命令都是同时使用的。 32. 加了fix边界,再使用apply施加应力边界有效吗?答:无效。fix和apply都是边界条件,两者不能混用,fix的作用是固定节点的速度,只要用户不更改这个速度,在计算中都会保持不变。 33. solve age后面跟随的时间是真实的时间吗?答:FLAC和FLAC3D在动力、渗流、流变模式下才有真实的时间,时间的单位默认为秒,也可以根据读者使用的量纲进行调整。

FLAC3D 实例命令流1

第1部分命令流按照顺序进行2-1定义一个FISH函数 new def abc abc = 25 * 3 + 5 End print abc 2-2使用一个变量 new def abc hh = 25 abc = hh * 3 + 5 End Print hh Print abc 2-3对变量和函数的理解 new def abc hh = 25 abc = hh * 3 + 5 End set abc=0 hh=0 print hh print abc print hh new def abc abc = hh * 3 + 5 end set hh=25 print abc set abc=0 hh=0 print hh print abc print hh 2-4获取变量的历史记录 new gen zone brick size 1 2 1 model mohr prop shear=1e8 bulk=2e8 cohes=1e5 tens=1e10

fix x y z range y -0.1 0.1 apply yvel -1e-5 range y 1.9 2.1 plot set rotation 0 0 45 plot block group def get_ad ad1 = gp_near(0,2,0) ad2 = gp_near(1,2,0) ad3 = gp_near(0,2,1) ad4 = gp_near(1,2,1) end get_ad def load load=gp_yfunbal(ad1)+gp_yfunbal(ad2)+gp_yfunbal(ad3)+gp_yfunbal(ad4) end hist load hist gp ydis 0,2,0 step 1000 plot his 1 vs -2 2-5用FISH函数计算体积模量和剪砌模量 new def derive s_mod = y_mod / (2.0 * (1.0 + p_ratio)) b_mod = y_mod / (3.0 * (1.0 - 2.0 * p_ratio)) end set y_mod = 5e8 p_ratio = 0.25 derive print b_mod print s_mod 2-6 在FLAC输入中使用符号变量 New def derive s_mod = y_mod / (2.0 * (1.0 + p_ratio)) b_mod = y_mod / (3.0 * (1.0 - 2.0 * p_ratio)) end set y_mod = 5e8 p_ratio = 0.25 derive gen zone brick size 2,2,2 model elastic prop bulk=b_mod shear=s_mod print zone prop bulk print zone prop shear

FLAC3D命令流(整理版)

1、怎样查看模型? 答:plot grid 可以查看网格,plot grid num 可以查看节点号。 2、请问在圆柱体四周如何施加约束条件? 答:可以用fix ... ran cylinder end1 end2 radius r1 cylinder end1 end2 radius r2 not,其中r2

flac3D基础与工程实例命令

2-1 new gen zon bri size 3 3 3 model elas prop bulk 3e8 shear 1e8 ini dens 2000 fix z ran z -.1 .1 fix x ran x -.1 .1 fix x ran x 2.9 3.1 fix y ran y -.1 .1 fix y ran y 2.9 3.1 set grav 0 0 -10 solve app nstress -10e4 ran z 3 x 1 2 y 1 2 hist gp vel 0 0 3 hist gp vel 0 3 3 plo hist 1 red plo add hist 2 blue solve 3-1 ;-------------------------------------工程信息 ;Project Record Tree export ;Title:Simple test ;---------------------------------计算第一步 ;... STATE: STATE1 .... config grid 10,10 model elastic group 'User:Soil' notnull model elastic notnull group 'User:Soil' prop density=1500.0 bulk=3E6 shear=1E6 notnull group 'User:Soil' fix x y j 1 fix x i 1 fix x i 11 set gravity=9.81

history 999 unbalanced solve save state1.sav ;----------------------------------计算第二步 ;... STATE: STATE2 .... initial xdisp 0 ydisp 0 initial xvel 0 yvel 0 model null i 4 7 j 8 10 group 'null' i 4 7 j 8 10 group delete 'null' history 1 xdisp i=4, j=11 solve save state2.sav ;--------------------------------绘图命令 ;*** plot commands **** ;plot name: syy plot hold grid syy fill ;plot name: Unbalanced force plot hold history 999 ;plot name: grid plot hold grid magnify 20.0 lred grid displacement ;plot name: Xdis-A plot hold history 1 line

FLAC3D 实例命令流1

第1部分命令流按照顺序进行 2-1定义一个FISH函数 new def abc abc = 25 * 3 + 5 End print abc 2-2使用一个变量 new def abc hh = 25 abc = hh * 3 + 5 End Print hh Print abc 2-3对变量和函数的理解 new def abc hh = 25 abc = hh * 3 + 5 End set abc=0 hh=0 print hh print abc print hh new def abc abc = hh * 3 + 5 end set hh=25 print abc set abc=0 hh=0 print hh print abc print hh 2-4获取变量的历史记录 new gen zone brick size 1 2 1 model mohr prop shear=1e8 bulk=2e8 cohes=1e5 tens=1e10

fix x y z range y -0.1 0.1 apply yvel -1e-5 range y 1.9 2.1 plot set rotation 0 0 45 plot block group def get_ad ad1 = gp_near(0,2,0) ad2 = gp_near(1,2,0) ad3 = gp_near(0,2,1) ad4 = gp_near(1,2,1) end get_ad def load load=gp_yfunbal(ad1)+gp_yfunbal(ad2)+gp_yfunbal(ad3)+gp_yfunbal(ad4) end hist load hist gp ydis 0,2,0 step 1000 plot his 1 vs -2 2-5用FISH函数计算体积模量和剪砌模量 new def derive s_mod = y_mod / (2.0 * (1.0 + p_ratio)) b_mod = y_mod / (3.0 * (1.0 - 2.0 * p_ratio)) end set y_mod = 5e8 p_ratio = 0.25 derive print b_mod print s_mod 2-6 在FLAC输入中使用符号变量 New def derive s_mod = y_mod / (2.0 * (1.0 + p_ratio)) b_mod = y_mod / (3.0 * (1.0 - 2.0 * p_ratio)) end set y_mod = 5e8 p_ratio = 0.25 derive gen zone brick size 2,2,2 model elastic prop bulk=b_mod shear=s_mod print zone prop bulk print zone prop shear

FLAC3D命令流(整理版)

1、怎样查看模型 答:plotgrid可以查看网格,plotgridnum可以查看节点号。 2、请问在圆柱体四周如何施加约束条件 答:可以用fix...rancylinderend1end2radiusr1cylinderend1end2radiusr2not,其中r2

陈育民《FLAC3D基础与工程实例》全部命令流

《FLAC/FLAC 3D基础与工程实例》全部命令流 1 gen zone bri p0 0 0 0 p1 10 0 0 p2 0 10 0 p3 0 0 10 & p4 15 15 0 p5 0 15 15 p6 15 0 10 p7 20 20 20 & size 10 10 10 rat 1.0 0.9 1.1 group brick_1 gen zone bri p0 20 0 0 p1 add 10 0 0 p2 add 0 20 0 p3 add 0 0 15 & size 10 10 10 rat 1.0 0.9 1.1 group brick_2 gen zone bri p0 40 0 0 edge 10 size 10 10 10 rat 1.0 0.9 1.1 group brick_3 plot sur 2-1 new gen zon bri size 3 3 3 model elas prop bulk 3e8 shear 1e8 ini dens 2000 fix z ran z -.1 .1 fix x ran x -.1 .1 fix x ran x 2.9 3.1 fix y ran y -.1 .1 fix y ran y 2.9 3.1 set grav 0 0 -10 solve app nstress -10e4 ran z 3 x 1 2 y 1 2 hist gp vel 0 0 3 hist gp vel 0 3 3 plo hist 1 red plo add hist 2 blue solve 3-1 ;-------------------------------------工程信息 ;Project Record Tree export ;Title:Simple test ;---------------------------------计算第一步 ;... STATE: STATE1 .... config grid 10,10 model elastic group 'User:Soil' notnull model elastic notnull group 'User:Soil' prop density=1500.0 bulk=3E6 shear=1E6 notnull group 'User:Soil' fix x y j 1 fix x i 1 fix x i 11 set gravity=9.81 history 999 unbalanced solve save state1.sav ;----------------------------------计算第二步 ;... STATE: STATE2 .... initial xdisp 0 ydisp 0 initial xvel 0 yvel 0 model null i 4 7 j 8 10 group 'null' i 4 7 j 8 10 group delete 'null' history 1 xdisp i=4, j=11 solve save state2.sav ;--------------------------------绘图命令 ;*** plot commands **** ;plot name: syy plot hold grid syy fill ;plot name: Unbalanced force plot hold history 999 ;plot name: grid plot hold grid magnify 20.0 lred grid displacement ;plot name: Xdis-A plot hold history 1 line 5-1 new ; =============================== ; 定义球体半径和半径方向上单元网格数 ; =============================== def parm rad=10.0 rad_size=5 end parm ; =============================== ; 建立八分之一球体外接立方体网格

FLAC3D入门基本知识

FLAC3D一点知识点,仅以参考 4、id,cid的区别 id是指在整个结构中的编号,而cid是指在某一类比如说cable中的编号。拿cable 中的一个单元来说,它既有自己在整个结构中的cd,又有自己在cable中的cid 如果我设置了两个pile sel pile id=1 begin=(10.0, 1.0, 0.0) end=(10.0, 1.0, -10.0) nseg=5 sel pile id=2 begin=(10.0, 3.0, 0.0) end=(10.0, 3.0, -10.0) nseg=5 那么,id=1是不是代表第一根桩? 第一根桩分五段,cid=1~5,那么第二根桩是cid=6~10! 5、什么情况下使用set large? 初始应力平衡的时候,不能用large模式。在进行初始应力平衡时一定不要用!在进行大变形计算时,最好要用!!一般硬岩可以使用FLAC默认的小应变,如果是土体和软岩,用大应变. 在做开挖的时候在进行原始应力平衡计算的时候是用小应变,后面的开挖以及支护的时候选用大应变. 6、得到初始应力的方法: 方法、可以先给一些材料参数很大的值,进行初始求解,在计算之前再将材料参数设为正常值,即可。如在手册中给的第一个示例中就是这样做的。下面是例子,These are only initial values that are used during the development of gravitational stresses within the body. In effect, we are forcing the body to behave elastically during the development of the initial in-situ stress state.* This prevents any plastic yield during the initial loading phase of the analysis. Gen zone brick size 6 8 8 Mode mohr Prop bulk 1e8 shear 0.3e8 fric 35 Prop cohesion 1e10 tens 1e10 ;注意在此这个值给的很大。 Init dens 1000 Set gravity 0 0 -10 Fix x range x -0.1 0.1 Fix x range x 5.9 6.1 Fix y range y -0.1 0.1 Fix y range y 7.9 8.1 Fix z range z -0.1 0.1 set mech force=50 solve

FLAC3D常见命令与使用技巧

FLAC3D常见命令与使用技巧 1、FLAC3D常见命令: 1.FLAC3D是有限元程序吗?答:不是!是有限差分法。 2.最先需要掌握的命令有哪些? 答:需要掌握gen, ini, app, plo, solve等建模、初始条件、边界条件、后处理和求解的命令。 3.怎样看模型的样子?答:plo blo gro可以看到不同的group的颜色分布 4.怎样看模型的边界情况?答:plo gpfix red 5.怎样看模型的体力分布?答:plo fap red 6.怎样看模型的云图?答:位移:plo con dis (xdis, ydis, zdis)应力:plo con sz (sy, sx,sxy, syz, sxz) 7.怎样看模型的矢量图?答:plo dis (xdis, ydis, zdis) 8.怎样看模型有多少单元、节点?答:pri info 9.怎样输出模型的后处理图? 答:File/Print type/Jpg file,然后选择File/Print,将保存格式选择为jpe文件 10.怎样调用一个文件?答:File/call或者call命令 10.如何施加面力?答:app nstress 11.如何调整视图的大小、角度?答:综合使用x, y, z, m, Shift键,配合使用Ctrl+R,Ctrl+Z等快捷键 12.如何进行边界约束?答:fix x ran(约束的是速度,在初始情况下约束等效于位移约束) 13.如何知道每个单元的ID?答:用鼠标双击单元的表面,可以知道单元的ID和坐标 14.如何进行切片? 答:plo set plane ori (点坐标) norm (法向矢量) plo con sz plane (显示z方向应力的切片) 15.如何保存计算结果?答:save +文件名. 16.如何调用已保存的结果?答:rest +文件名;或者File / Restore 17.如何暂停计算?答:Esc 18.如何在程序中进行暂停,并可恢复计算?答:在命令中加入pause命令,用continue进行继续 19.如何跳过某个计算步?答:在计算中按空格键跳过本次计算,自动进入下一步 20. Fish是什么东西?

FLAC3D命令流(整理版)

精心整理1、怎样查看模型? 答:plotgrid可以查看网格,plotgridnum可以查看节点号。 2、请问在圆柱体四周如何施加约束条件? 答:可以用fix...rancylinderend1end2radiusr1cylinderend1end2radiusr2not,其中r2

《FLAC3D基础与工程实例》全部命令流

《FLAC/FLAC 3D基础与工程实例》全部命令流1 gen zone bri p0 0 0 0 p1 10 0 0 p2 0 10 0 p3 0 0 10 & p4 15 15 0 p5 0 15 15 p6 15 0 10 p7 20 20 20 & size 10 10 10 rat 1.0 0.9 1.1 group brick_1 gen zone bri p0 20 0 0 p1 add 10 0 0 p2 add 0 20 0 p3 add 0 0 15 & size 10 10 10 rat 1.0 0.9 1.1 group brick_2 gen zone bri p0 40 0 0 edge 10 size 10 10 10 rat 1.0 0.9 1.1 group brick_3 plot sur

new gen zon bri size 3 3 3 model elas prop bulk 3e8 shear 1e8 ini dens 2000 fix z ran z -.1 .1 fix x ran x -.1 .1 fix x ran x 2.9 3.1 fix y ran y -.1 .1 fix y ran y 2.9 3.1 set grav 0 0 -10 solve app nstress -10e4 ran z 3 x 1 2 y 1 2 hist gp vel 0 0 3 hist gp vel 0 3 3 plo hist 1 red plo add hist 2 blue solve

;-------------------------------------工程信息 ;Project Record Tree export ;Title:Simple test ;---------------------------------计算第一步 ;... STATE: STATE1 .... config grid 10,10 model elastic group 'User:Soil' notnull model elastic notnull group 'User:Soil' prop density=1500.0 bulk=3E6 shear=1E6 notnull group 'User:Soil' fix x y j 1 fix x i 1 fix x i 11 set gravity=9.81 history 999 unbalanced solve save state1.sav ;----------------------------------计算第二步 ;... STATE: STATE2 .... initial xdisp 0 ydisp 0 initial xvel 0 yvel 0 model null i 4 7 j 8 10 group 'null' i 4 7 j 8 10 group delete 'null' history 1 xdisp i=4, j=11 solve save state2.sav ;--------------------------------绘图命令 ;*** plot commands **** ;plot name: syy plot hold grid syy fill ;plot name: Unbalanced force plot hold history 999 ;plot name: grid plot hold grid magnify 20.0 lred grid displacement ;plot name: Xdis-A plot hold history 1 line

相关文档
最新文档