Fortran语法介绍(一)

个人专栏—ABAQUS专栏

  1. Abaqus2023的用法教程——与VS2022、oneAPI 2024子程序的关联方法 Abaqus2023的用法教程——与VS2022、oneAPI 2024子程序的关联方法
  2. Abaqus有限元分析——有限元网格划分基本原则 Abaqus有限元分析——有限元网格划分基本原则
  3. 各向同性线弹性材料本构模型umat的应用 各向同性线弹性材料本构模型umat的应用
  4. ABAQUS用户子程序二次开发——UMAT介绍(一) ABAQUS用户子程序二次开发——UMAT介绍(一)
  5. Fortran语法介绍(一) Fortran语法介绍(一)
  6. Fortran语法介绍(二) Fortran语法介绍(二)
  7. Fortran语法介绍(三) 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 hello
C 第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学习有兴趣,欢迎收藏关注,博主将持续更新。你的关注、收藏是我持续创作的动力!

  • 53
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Fortran中的表达式函数是一种特殊的函数,它可以用于计算数学表达式的值。表达式函数可以在Fortran程序中使用,以便简化复杂的计算和提高代码的可读性。 在Fortran中,表达式函数的语法类似于数学表达式,通常由操作数和操作符组成。操作数可以是常量、变量或其他函数的调用。操作符可以是算术运算符(如加法、减法、乘法、除法等)、逻辑运算符(如与、或、非等)或关系运算符(如等于、不等于、大于、小于等)。 为了定义一个表达式函数,你需要使用FUNCTION关键字,并指定函数的返回类型、函数名和参数列表。在函数体中,你可以使用表达式来计算函数的返回值。下面是一个简单的Fortran表达式函数的例子: ```fortran FUNCTION myFunc(x) IMPLICIT NONE REAL :: x REAL :: result result = x**2 + 2*x + 1 myFunc = result END FUNCTION myFunc ``` 在上面的例子中,我们定义了一个名为`myFunc`的表达式函数,它接受一个实数参数`x`。函数体中的表达式`x**2 + 2*x + 1`计算了函数的返回值,并将其赋值给变量`result`。最后,我们使用`myFunc = result`语句将结果返回给调用函数的地方。 要在Fortran程序中使用表达式函数,你只需要像调用普通函数一样调用它,例如: ```fortran PROGRAM main IMPLICIT NONE REAL :: x, y x = 2.0 y = myFunc(x) WRITE(*,*) "Result:", y END PROGRAM main ``` 在上面的例子中,我们调用了`myFunc`函数,并将结果赋值给变量`y`。然后,我们使用WRITE语句将结果输出到屏幕上。 总之,Fortran中的表达式函数是一种方便的工具,可以用于执行数学表达式的计算,并提高代码的可读性和可维护性。你可以根据自己的需求定义和使用表达式函数来简化计算过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

科研拓展人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值