FLAC学习常用命令指南

  • 格式:doc
  • 大小:5.19 MB
  • 文档页数:64

常用命令指南

1 命令指南

这一节包括FLAC使用的所有命令的详细信息。命令被描述为两个主要部分:

首先,在节1.2中,这里有命令的概要汇总,它是以相关的模型函数来组织的。准备一个输入DAT文件时建议先看一看这个命令汇总。

其次,在节1.3中,按字母顺序对所有的命令进行详细的描述。节1.1中描述了一些共同的输入惯例和约定。在Command and FISH Reference Summary书中节1中同样提供了按字母顺序排例的命令汇总。

1.1 共同的惯例和约定

1.1.1 语法

FLAC可以用“交互”的方式进行操作(例如,通过键盘输入命令)或“文件控制”方式(例如,数据保存和读取在一个数据文件中,而这个文件保存在磁盘或硬盘中)。无论哪种方式,解决一个问题的命令是相同的,数据输入的具体方法要看用户的偏爱。

所有的命令都是单词导向的,它包含一个主命令词,根据需要后面跟着一个或多个关键词和数值。有些命令(例如PLOT)接受一个“开关”,它后面的关键字可以修改命令的动作。每一个命令都有如下的格式:

COMMAND keyword value ...

命令 关键词 值 …

所有的命令在输入行中逐字被输入。你可以注意到只有少数几个字母是黑体,这表示要这个程序认识这个命令,最少要输入黑体字母。同样地,小写字母显示的关键词也是逐字输入,只须要输入关键词的黑体字母长度即可。如果用户需要,可以将命令和关键词写完整。缺省情况下,单词是对大小写不敏感的--你可以使用大写字母,也可以使用小写字母。

许多关键词后有一系列的数字(值),这是关键词所要求的。以黑体斜体表示的单词代表数值。当单词以i,j,m或n开始时,后面应接整型数;否则,后面应接浮点型数(或小数)。有时浮点型数中的小数点可以被省略,但是小数点不能出现在整型数中。

命令、关键词和数值可以通过任何多个空格分开或者通过下列的分界符分开:

() , =

你将可以看到在一些输入参数后有一些附加的符号。它们是:

<> 表示可选择的参数(尖括号不要输入) … 表示可以给定这种参数的任意的数值。

输入行中分号(;)后面的任何内容可以当作是注释,可以忽略。当运行于批处理模式(例如文件控制)时,在输入文件中这种注释是有用的,因为注释会在输出中出现。一个单独的输入行,包括注释,最多只能包含80个字符。一行的末尾出现&符号表示接下来的行是关键词或数值的继续。单个命令的最大长度(包括续行),是2000字符。在一个命令中最多可以有400个输入参数。

1.1.2 交互式输入

当FLAC在运算、从数据文件中读取或绘图时,FLAC可以支持用户提前输入的80个字符的缓冲。同样存在几个行编辑特征,它可以在交互地输入数据时使用。这些特征汇总在表1.1中。

表1.1 交互输入编辑键

键 效果

任何字符键 在输入行中插入字符

← 在输入行中向左移动光标

→ 在输入行中向右移动光标

Ctrl ← 光标跳至下一个输入参数的左边

Ctrl → 光标跳至下一个输入参数的右边

BackSpace 删除光标左边的字符

Delete 删除光标处的字符

End 移动光标到输入行的末尾

Esc 取消行输入

F3 用上次键盘输入行替换输入行

Home 移动光标到输入行的开始

1.1.3 可选的关键词

有些命令后面可以跟可选的关键词和数值,它们可以修改或限制命令执行的范围(网格点或区带)。特殊的命令和关键词汇总在表1.2中。

表1.2 修改命令执行范围的关键词用法

关键词用法 命令

i=i1,i2 j=j1,j2 APPLY,FIX, FREE, GENERATE, INITIAL, (网格点/区带范围) INTERIOR, MARK, MODEL, PRINT,

PROPERTY, UNMARK

from i=i1,i2

j=j1,j2 (边界路径范围) APPLY, ATTACH, INTERFACE, INITIAL,

PRINT

var vx, vy (递变) APPLY, INITIAL, INTERIOR, PROPERTY

mark (固定网格点) FIX, FREE, INITIAL

region i,j (区带范围) INITIAL, MODEL, PRINT, PROPERTY

rdev s (随机偏差) PROPERTY

规则:

1. 有两种方法来定义变量施加的范围:网格点/区带范围和边界路径范围。

2. 当使用网格点/区带范围和边界路径范围时,它必须出现在输入行的最后。两种范围类型不能同时出现一个输入行中。

3. 递变关键词后必须紧跟着数值,用它来指定递变方法。

4. 递变的值,vx和vy,将赋值给网格点范围,既使变量是一个区带变量。

5. mark关键词必须跟随指定网格点条件。

6. region关键词必须跟随指定区带的条件。

下面将对关键词用法作出更多的解释,并给出例子来说明。

1.1.3.1 网格点/区带范围

变量施加于上的网格点/区带范围通过关键词短语来定义:i=i1,i2

j=j1,j2

这里,i1,j1是变量施加于上的边界范围的网格点/区带的起点,而i2,j2是网格点/区带的终点。范围对应于变量类型(例对于网格点变量是网格点范围,对于区带变量是区带范围)。

范围必须在输入行的最后,但是i或j都可以列在前。如果i1=i2或j1=j2,只须给出一个数值即可。如果i1,i2或j1,j2就是网络的整个i或j范围,则在命令中可以省略关键词和相关的数值。

下面这个例子说明了网格点/区带范围的使用。为了固定i=1到10 j=1的所有网格点在x方向的位移(或速度),下面的命令产生同样的效果。

fix x i=1,10 j=1,1

或 fix x j=1 i=1,10

或 f x I=1,10 j=1

1.1.3.2 边界路径范围 如果边界是水平的或垂直的,这多发生在网格的外边界上,网格点/区带范围是一个简单的操作。如果边界是曲线或不规则的,则应用变量就会十分困难,例一个洞或挖空。因此,在两个特定的网格点之间提供一个面向边界路径的代码,边界路径范围的关键词短语为: from i1,j1 to

i2,j2

此外,在边界路径中还有3个可选参数long, short或both。这些参数混合在from i1,j1 to i2,j2范围描述中:long指定两点之间的最长路径,short指定路径的最短路径,both累加long和short路径。缺省路径是两点间的最短距离。注意:如果i1,j1和i2,j2是相同的,则整个封闭边界都将被当成路径范围。

下面这个例子说明了边界路径范围的使用。沿着从点(6,3)到点(4.9)的边界施加一个机械压力,使用如下命令:

apply pres=10 from 6,3 to 4,9

此外,在两个网格点之间沿着最长路径施加一个不同的压力,使用:

apply pres=30 long from 6,3 to 4,9

注意:如果给定的点不在边界上,或如果两点之间没有路径,则FLAC会产生一个错误。

如果在INITIAL命令中使用边界路径范围,它将只被应用到网格点值。

1.1.3.3 递变

为了定义一个递变的应用,另一个可选关键词短语也可以用在一定的关键词后(表1.2)(例如边界上一个压力或应力递变)。这里,短语是: var vx

vy

它跟着指定递变的值。这个值指定在网格点/区带范围或指定边界路径上,将vx和vy值增加到终点上,vx和vy是指x轴的变化量和y轴的变化量。注意:递变区域的终点的值被赋值到更低或更高的网格点范围,甚至这个变化是一个0变化。

1.1.3.4 标记网格点

可选关键词Mark让用户来限制指定条件到用Mark命令来“标记”的网格点。例如,如果在指定的边界上指定x方向的速度,则应用如下命令:

mark i=11 j=7,11

mark i=1 j=7,11

initial xv=-10 mark

在这个例子中,Mark命令定义了两个区域,而x速度值初始化中使用了mark关键词,当Generate命令使用了arc, circle, line 或table关键词时,网格点被自动标记。 1.1.3.5 区带范围

表1.2中可选关键词region i,j让用户来限制命令的范围,这里必须有用一串标记的网格点封闭起来的封闭区带(例如,网格点用mark命令来标记)。给出标记区域中的任何一个区带i,j即可。例如,例子1.1中园形通道被挖空所使用的命令。

例子1.1 定义一个园形通道作为一个区带范围

grid 10,10

m e

gen circ 5 5 3

print mark

m null region 6,6

命令gen circ 5 5 3 自动标记了园边界上的网格点。

命令m null region 6,6将所有园形区域内的区带设为空物质。区带(6,6)是区域中的一个区带。

用户可以体验定义一个区带宽的区域的难度。为了避免这种问题,总是在一系列的命令的最后才使用region命令来使行动产生的在一个元素宽的区域上。例如,例子1.2的数据文件产生一个元素宽的区域,在网格的最底部使用Mohr-Coulomb物质,在上半部使用elastic物质。

例子1.2 一个元素宽的区域模型

grid 10 10

mod elas

gen line 0 5 10 5

gen 0,5 0,10 5,10 4,5 i=1,5 j=6,11

gen 5,5 6,10 10,10 10,5 i=6,11 j=6,11

mark i=5 j=6,11

mark i=6 j=6,11

mod mohr reg 3,3

mod elas reg 6,8

如果命令mod elas reg 6,8没有给出,model mohr命令的结果将会产生一个元素宽区域的“漏洞”。

1.1.3.6 随机偏差

当使用property命令时,对于可选关键词rdev s,紧跟着一个属性值, v,

使得属性值成为标准偏差s的一个随机偏差,平均值是v。在属性值之间没有空间的相关性。如果s是较大的,要确保属保属性值不是是负值。

作为一个例子,下面的命令将给出40度的fric(摩擦角)存在一个5%的标准偏差:

prop friction 40 rdev 2