gpt4 book ai didi

fortran - 将 Fortran 90 编写的子例程与 Abaqus Standard 一起使用

转载 作者:行者123 更新时间:2023-12-02 18:29:06 25 4
gpt4 key购买 nike

我正在将 Abaqus 与用户定义的子例程一起使用。据我所知,Abaqus Standard 或 Explicit 可以与专门用 Fortran 77 语言编写的子例程一起使用,不能改进的 Fortran 90/95 语言!有没有办法将 Fortran 90 及更高版本与 Abaqus 一起使用?

最佳答案

默认情况下,Abaqus 希望用户子例程以旧的固定格式样式编写。不过,您可以使用编译器支持的几乎任何现代语言功能。1这包括使用模块、新的内部函数、派生类型等,只要您遵守固定格式样式即可。

但是,如果您像我一样发现固定格式有限制,那么您还有其他选择。要使用自由格式样式,您可以:

  1. 修改abaqus环境文件:环境文件是影响所有用户的系统范围设置文件。 您可以在此处更改设置,但在未先咨询您的团队的情况下不应执行此操作。或者,制作 .env 文件的副本并将其放入您的工作目录中,以便任何更改仅本地化到您的分析(您的同事会感谢您)。

    找到compile_fortran变量。将 '/free' (windows) 或 '-free' (linux) 添加到列表中。如果您在那里看到 '/extend-source',您可能需要将其删除。

  2. 使用编译器指令:您可以将编译器指令放在子例程的开头,而不是修改 .env 文件。根据我的经验,这允许我的子例程在使用它们的任何地方编译和运行。

    假设您使用的是 Intel Fortran,指令为:!DIR$ FREEFORM

1 当然,我还没有测试所有语言功能,所以我在这里进行对冲。但我确实说“差不多”,因为肯定有一些功能会导致问题。例如,我的带有参数化派生类型的子例程似乎总是崩溃,这让我很懊恼。如果有读者能够成功地使用它们,我很想听听。

关于fortran - 将 Fortran 90 编写的子例程与 Abaqus Standard 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49040255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com