小工具知识网

当前位置: 首页 > 行业知识 > Fortran语法介绍(一)

行业知识

Fortran语法介绍(一)

2026-11-09 16:28:43 来源:互联网转载

个人专栏—ABAQUS专栏

  1. Abaqus2023的用法教程——与VS2022、oneAPI 2024子程序的关联方法 Abaqus2023的用法教程——与VS2022、oneAPI 2024子程序的关联方法
  2. Abaqus有限元分析——有限元网格划分基本原则 Abaqus有限元分析——有限元网格划分基本原则
  3. 各向同性线弹性材料本构模型umat的应用 各向同性线弹性材料本构模型umat的应用
  4. ABAQUS用户子程序二次开发——UMAT介绍(一) ABAQUS用户子程序二次开发——UMAT介绍(一)

目录

  • 个人专栏—ABAQUS专栏
    • Fortran语法基本格式
        • Fortran(FORmula TRANslation)固定格式:
        • Fortran���序架构特点:

          Fortran语法基本格式

          Fortran(FORmula TRANslation)固定格式:
          • 每一行最多含72个字符,多出的字符会被忽略或引起错误信息
          • 第1-6列为功能栏,程序代码写于第7-72列
          • 第1列字符为``c,C,*,!''代表该行为注释行,不会被编译
          • 第6列输入``0’'和空白以外的任意字符表示该行程序续接上一行未完的程序代码
          • 若需命名单行程序代码,名字需置于第1-5列功能栏内
          • Fortran代码不区分大小写

            示例如下:

            C *** *************************************** C      program hello! --- 固定格式写作范例 ------------------------!      write(*,*)``Hello world!''      write(*,*)     1 ``Hello again.''!接续前行      goto 10   1  write(*,*)``Hello to be ignored.'' 10   stop      end program helloC 第1、3行的第1列为``C和!'',该两行不会被编译,第6行``!''之后的内容视为注释被忽略C 第8、9行的代码被命名为1 和10,第6行第6列包含数字1,故第6行为第5行代码的延续
            Fortran程序架构特点:
            • 由主程序与子程序模块组合而成
            • Fortran一般先将程序所需记忆空间预留出来,并将变量存储位置分配好后,才开始执行,因此所有变量须在程序运行开始前进行定义
            • 在程序中将一段含完整功能代码块打包成子程序,增加程序的可读性、可维护性、可扩充性和可重复使用性
              C *** ******************************************C       program hello        !主程序以program开头,程序名为hello       call say_hello()     !调用子程序say_hello       end program hello    !主程序以end program +程序名结尾C *** ******************************************C          subroutine say_hello()       !子程序以subroutine +程序名开头       write(*,*) ``Hello world!''       write(*,*)      1 ``Hello again.''!接续前行       goto 10    1  write(*,*)``Hello to be ignored.''  10   return       end subroutine say_hello     !子程序以end subroutine+ 程序名终止C *** ******************************************C 

              主程序模块如下所示:

                    program  program_name !主程序开头,program_name为自定义主程序名称      !-----------------!      !变量定义          !       !-----------------!      !程序内容          !       !-----------------!      end program program_name !主程序结尾 

              Abaqus子程序便是将材料模块化以子程序包装起来,预留UMAT子程序窗口供使用者扩充材料模型,abauqs子程序架构如下:

                    subroutine subroutine_name(var_1,var_2,...,var_n)       ! 子程序开头,var_1至var_n为子程序的声明变量      !-----------------!      !变量定义          !       !-----------------!      !程序内容          !       !-----------------!       end subroutine subroutine_name !子程序结尾 

              欢迎对Abaqus感兴趣的朋友们查看:Abaqus-UMAT开发精品书籍及umat子程序学习

              ZWT——Abaqus非线性粘弹性模型子程序umat——广义MAXWELL粘弹性模型umat解析(朱-王-唐本构模型)

              如果你喜欢以上内容,或者对Abaqus学习有兴趣,欢迎收藏关注,博主将持续更新。你的关注、收藏是我持续创作的动力!

上一篇:lec服务器怎么进入?

下一篇:怎么用服务器的ip?