3DEC是一个命令驱动程序,这种命令驱动结构使3DEC在工程分析领域得到了广泛的应用。然而,这种结构对初学者或者偶尔使用的人造成了一定的困难。为了操作代码,必须编写命令行作为输入进入3DEC , 无论是通过键盘还是远程数据文件。

1.命令或关键字的缩写

3DEC所有命令都是由主要命令单词和随后的一个或多个关键字或值构成。某些命令可以设置打开或关闭。每一命令都具有下列格式:

 COMMAND keyword value ... <keyword value ...>

这里,位于〈 〉内的参数为可选参数,而 表示可以赋予给定任意的值。命令可依次写在命令行中。在帮助文档中的命令的前面部分以及关键词的前面几个字母为黑体,则在实际输入时仅输入这些黑体字母软件就能识别,即相当于命令或关键字的缩写,通常为全称的前2个或3个字母。具体的命令可以查看帮助文档。如下图:

关键字缩写

上面是 HISTORY keyword. . .命令后可选的一部分关键字, HISTORY 在命令行中只写 H 就行,后面接着写关键字的黑体部分就行。当然,用熟练了以后可以很快的写出常用命令或关键字的缩写,但是建议初学者还是尽量使用全称,以便命令流更易读易懂。下面是所有命令:
命令流

2.注释与数值

在命令行开始出现分号 表明该行为注释行,分号后面的所有字符都会被忽略。这是非常有用的,可以为命令的解读提供注释,并为整体分析提供质量保证。

许多关键词后面有一系列数值,这里数值提供关键词所需要的数值输入。从实际效果来讲,可省略小数点,但可能不会出现整数取值。命令、关键字和数值可以由任意数量的空格或以下任何分隔符分隔:
( ) , =

3. Range关键字的运用

在这里,首先应注意范围(range)关键字的定义,它在大量的命令执行时均会用到。 熟练应用该命令,可以快速掌握 3DEC 的命令驱动规则。
该命令可方便的选取特定范围内的目标(块体、接触、节点)。可以使用range关键字的常用命令如下:

apply, boundary, change, delete, density, excavete, ffield, fill, find, fix, free, generate, group, hide, initialize, insitu, jmodel, join, join _ contact, list, mark, pfix, plot, remove, seek, show, structure, zone

如果这些命令未采用range来限制范围,则命令运行范围为全部可见目标(块体、接 触、节点)。
Range 可以给予名称,一旦赋予范围名称,其名称可定义为一个关键字 nrange , 出现在调用该范围的位置。

详细的 range 用法可以参考帮助文档的 Range Logic 部分。

4.如何操控命令流

在命令流运行过程中 CallContinueNewPauseQuit/exitRestoreReturnSave"<esc>"按键 等可用来驱动、暂停、恢复命令流运行。其使用实例如下:

Call aaa.dat   ;;读取准备好的命令流批处理文件,并用3DEC运行
Continue       ;;在利用pause命令暂停或出现错误后继续读取批处理文件 
New            ;;清除已有计算,开始一个新的问题求解 
Pause          ;;暂停读取一个批处理文件 
Quit/exit      ;;停止执行,返回操作系统控制
Restore aa.sav ;;读取已存储好的文件(save命令存储)
Save aa.sav    ;;将当前状态存储为一个文件 
<esc>          ;;在任意运行步、块体生成、网格划分状态停止运行

其中,使用 puase 命令时,如果在命令行中使用 pause key,则在 Console Pane 中按下键盘上的任意键即可使程序继续运行下去;如果直接使用的是 pause 命令,则在 Console Pane 中需要输入 continue 才可使程序继续运行下去。pause 命令可以用来调试命令,在测试过程中经常使用。

quit/exit 通常用在fish 函数的循环语句中,用来跳出循环。


长风破浪会有时,直挂云帆济沧海。