【分享】用C++编的有限元程序
-----------------------------------------------------------------------------This software package is public domain software
Comments/Questions can be directed to:
Charbel Farhat: charbel@alexandra.colorado.edu
MichelLesoinne: michel@vette.colorado.edu
Kendall Pierson : piersonk@vette.colorado.edu
-----------------------------------------------------------------------------
Directory Contents and Description:
Driver.d/ Contains the main driver routines for linear statics, linear
dynamics, and eigenvalue problems. The drivers are
StaticProbType.{h,C}, DynamProbType.{h,C}, and
EigenProbType.{h,C}.
Element.d/ Contains element class definitions and all routines necessary
to implement the following elements: truss, Euler beam,
Timoshenko beam, Quadrilateral plane stress, translational spring,
rotational spring, ANS shell, composite shell, and solid brick.
The file AddElem.C contains the routine that builds the element
set from the input file. Element.{h,C} contains the abstract
definition of an element along with the structural properties
class, Node class, CoordSet class, and Elemset class.
Examples.d/ Contains an example problem for linear statics, linear
dynamics, and eigenvalue problems. These input files give
an idea of how input is read into the FEM code. A more detailed
manual is availible by contacting Charbel Farhat.
Main.d/ Contains a file for declaring compiler options.
Math.d/ Contains classes pertaining to vectors, matrices, and sparse
matrices. The class SparseMatrix is a super class for the
following specific sparse matrix types: SGISparseMatrix,
DBSparseMatrix, NBSparseMatrix and SkyMatrix.
Parser.d/ Contains the code necessary to read input data files.
lex/yacc is used to generate a parser based on keywords.
Problems.d/ Contains problem description classes for linear statics, linear
dynamics, and eigenvalue problems. These classes are used in
conjunction with the driver routines for the respective problem
types.
Solvers.d/ Contains solver definition classes along with the abstract class
definition of a solver which is contained in Solver.{h,C}.
Timers.d/ Contains routines that are used to time the programs and monitor
memory usage.
Utis.d/ Contains auxilary classes and/or functions that are used
throughout the FEM code. For example, Connectivity.{h,C} is
a general class that is used to store adjacency information
( i.e. node to node adjacency, or subdomain to element, ...)
main.C initial entry point for the FEM code
basedir used to locate include files, should be set to the users
directory where the FEM code is located.
------------------------------------------------------------------------------
How to compile the FEM code:
1. set appropriate architecture compiler flags (in Makefile)
2. type make all
3. executable is called miniFEM
Note: linking with BLAS is required
BLAS ROUTINES
DGEMM
DGEMV
LINPACK ROUTINES
DSVDC
where DSVDC uses the following functions and subprograms.
External DROT BLAS DAXPY,DDOT,DSCAL,DSWAP,DNRM2,DROTG
Fortran DABS,DMAX1,MAX0,MIN0,MOD,DSQRT
------------------------------------------------------------------------------
How to execute the FEM code:
miniFEM <input file>
where <input file> is an appropriate input file like the examples
found in Examples.d/
------------------------------------------------------------------------------
回复: 【分享】用C++编的有限元程序
上面贴子附件为PART1,此贴附件为PART2回复: 【分享】用C++编的有限元程序
xiexie!!回复: 【分享】用C++编的有限元程序
非常感谢.顶顶!!!!回复: 【分享】用C++编的有限元程序
谢谢,您辛苦了回复: 【分享】用C++编的有限元程序
ding ,hao回复: 【分享】用C++编的有限元程序
thanks a lot回复: 【分享】用C++编的有限元程序
能解释一下么??什么有限元?用的是什么单元的?三角or四边?是否等参元?
回复: 【分享】用C++编的有限元程序
谢谢了。回复: 【分享】用C++编的有限元程序
thank youRe:【分享】用C++编的有限元程序
不错,好人。要是有说明就好,hohoRe:【分享】用C++编的有限元程序
也给我 一份说明书zhtbuaa@163.com
Re:【分享】用C++编的有限元程序
请教怎样调试?Re:【分享】用C++编的有限元程序
能不能给发个说明书,谢谢!dajin.fu@siemens.com
Re:【分享】用C++编的有限元程序
我也是从网上下的,没有说明,抱歉。Re:【分享】用C++编的有限元程序
xiexieRe:【分享】用C++编的有限元程序
有一个error:fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory