ABAQUS之LEND

怎样设定ABAQUS在分析步开始时调用子程序还是结束时调用子程序,与子程序中的LEND有关吗?

1、在ABAQUS/CAE中打开模型,并选择要设置的分析步。
2、在"Step manager"窗口中,右键单击要设置的分析步,并选择"Edit Step..."。
3、在弹出的对话框中,选择"General"选项卡。
4、在"User subroutine"下拉菜单中,选择要调用的子程序。如果需要在分析步开始时调用子程序,则选择"BEGS";如果需要在分析步结束时调用子程序,则选择"ENDS"。
子程序中的LEND,它是一个可选的标志,在ABAQUS中用于指示该子程序是否为结束时调用的子程序。
当LEND=0时,表示该子程序为开始时调用的子程序;
当LEND=1时,表示该子程序为结束时调用的子程序。
如果不指定LEND,默认为0(即开始时调用)。

回答引自ChatGPT
在ABAQUS中,你可以通过在分析步定义中的USER关键字中指定BEGIN或END来控制何时调用子程序。设置USER关键字为BEGIN表示在分析步开始时调用子程序,而设置为END表示在分析步结束时调用子程序。

子程序中的LEND参数指定了子程序的长度。这个参数与子程序的调用方式无关。它只是用来告诉ABAQUS子程序的长度(在FORTRAN中是字节)。

下面是一个示例,在ABAQUS中如何设置分析步调用子程序的方式:

** 在这里定义你的模型 **

** 定义分析步 **
*Step, name=Step-1, nlgeom=YES

** 在分析步开始时调用子程序 **
*USER, JOB_NAME=subroutine_example, BEGIN

** 在这里定义你的分析步内容 **

** 在分析步结束时调用子程序 **
*USER, JOB_NAME=subroutine_example, END

** 结束步骤定义 **
*End Step

在上面的示例中,我们使用了Step定义了名为Step-1的分析步,并通过USER关键字在分析步的开始和结束时调用了名为subroutine_example的子程序。

注意,你需要将JOB_NAME参数设置为你实际使用的子程序的名称。在子程序中,你可以使用LEND参数来指定子程序的长度。

请确保已经将子程序正确编写,包括在ABAQUS输入文件中的适当位置。此外,还需要确保已经通过正确的编译和链接将子程序与ABAQUS耦合在一起