该算法用 fortran 语言编写,使用软件为 VS2010 与 intel visual fortran 编译器配合使用。
Fortran 语言是用来将科学、工程问题中的数学公式表达的问题而设计的语言。
该语言特点:易学习,语法简明严谨
历史悠久,开发出来一直在做数值计算
运算速度要快于 C++语言,而且比其他数值计算领域有更强的优势
!*******************************************************
! 无网格伽辽金法程序主要计算模块简单例子
! Kernel modules for element-free Galerkin Method
! By Lu Xinzheng of Tsinghua University
!*******************************************************
module TypeDef !定义类型模块
use Lxz_Tools
implicit none; !所有变量都要事先声明。
!integer,parameter :: MLS_m=6; !定义基为二次基!integer,parameter 声明一个可以指向整数
的参数
integer,parameter :: MLS_m=3; !定义基为 1 次基
integer,parameter :: NInt=4; !定义高斯积分点数目
integer,parameter :: NDOF=2; !定义自由度数目
integer,parameter :: MLS_n=6; !插值基点数
type :: typ_Kcol !定义变带宽总体刚度矩阵 type 结构体派生类型
real(rkind),pointer :: row(:) !real 实数类型 ireal 实数类型种类
end type typ_Kcol
type :: typ_GValue !定义总体控制变量
integer(ikind) :: NNode; !总节点数 integer 整数类型 ikind 表明为整数种类
integer(ikind) :: NCell; !总积分区域数
integer(ikind) :: NIntPoint; !总高斯积分点数
integer(ikind) :: NPress; !总压力数
integer(ikind) :: NSupport; !总位移约束数
real(rkind) :: dm; !节点影响半径
real(rkind) :: c; !权函数相对权重参数
real(rkind) :: Plenty !罚函数大小
end type typ_GValue;
type :: typ_Node; !定义节点类型
real(rkind) :: X,Y; !节点坐标
real(rkind) :: dX, dY; !节点位移
end type typ_Node;
type :: typ_IntPoint; !定义高斯积分点类型
!以下为高斯点几何数据
real(rkind) :: CenterX, CenterY; ! 中心点坐标
real(rkind) :: Len, Wide; ! 高斯积分点的积分面积