feap

Download FEAP

If you can't read please download the document

Upload: mubeen

Post on 29-Nov-2014

154 views

Category:

Documents


4 download

TRANSCRIPT

FEAP User ModulesFEAP is an easy to use finite element code. It comes with quite complete manuals. If users need to extend the code, they may also need to review the three-volume finite element method books written by Zienkiewicz and Taylor. Regarding adding routines, FEAP has come with some template routines: UMESHn for user mesh routines, UMACRn for user solution/macro routines, and ELMTnn for user elements.

FEAP: Header Files and IO FilesWhen adding a subroutine into FEAP, it is highly recommended that users use include files rather than giving equivalent common statements directly. In addition, it is also much more easy and manageable to follow the recommendation. During execution, FEAP interacts with three files. Those files are identified by their integer numbers as ior Number of the input file iow Number of the output file ilg Number of the log file Those numbers can be obtained by declaring following common block in the header of the subroutine: common /iofile/ ior, iow, ilg

FEAP DebuggingWhen we introduce a new subroutine into FEAP, it is necessary to debug the routine such that it runs properly. In such a situation, it is often necessary to check contents of an array whether it is a floating point array or an integer array. FEAP comes with two subroutines, in addition to the standard Fortran commands, that allows us to output an array. Those subroutines can be accessed via: call mprint( array, nrow, ncol, ndim, label ) ! For floating point array call iprint( array, nrow, ncol, ndim, label ) ! For integer array In conjunction to the above subroutines, FEAP also provides a debugging environment. To activate the debugging environment, the FEAP input code should contain a line of DEBUG, ON And, the will-be-debugged subroutine should has line, in its preamble: include 'debugs.h' And finally, debugging is activated by checking the debug flag, such as: if (debug) then .... call mprint( array, nrow, ncol, ndim, label ) end if

FEAP Some Important Header Filescdata.h numnp Number of nodal points numel Number of elements nummat Number of materials nen Number of nodes per element neq ipr iofile.h ior Unit number of the input file iow Unit number of the output file ilg Unit number of the solution log file sdata.h ndf Number of degree of freedom per node ndm Number of dimension space nen1 nst nneq ndl nnlm nadd debugs.h debug A flag to debugging /eldata/ dm,n,ma,mct,iel,nel,pstyp n element number nel number of nodes per element

FEAP Mesh InfoI believe one of the header file that may play a major role in building an additional subroutine is cdata.h. Declaring the header in our subroutine allows us to access: numnp Number of nodal points numel Number of elements nummat Number of materials nen Number of nodes per element neq ipr 2 for REAL*8

FEAP UMATInIn FEAP, an User MATerial routine (UMAT) involves two subroutines: UMATIn For reading the material input data UMATLn To calculate stresses for given deformation data where .

The UMATIn subroutine is simple; it mainly does two things: (i) definite material name, and (ii) reading input data. In UMATIn, the material name should be defined in following lines, we assume the material name is M008 if ( pcomp(type,'matn',4)) then ....type = 'M008' If you are using UMATI8.F, then the first line above should be if ( pcomp(type,'mat8',4)) then The material name can be any four-character name; however, if you set, for the current example, type = mat8, then the subroutine will no be able to read the user supplied material data if available. The user supplied material data can be read by using TINPUT function. For an example, to read two input data from an input file, the UMAT8.F subroutine should be written as if ( pcomp(type, 'mat8', 4) ) then .... type = 'M008' else .... errck = pinput( ud, 2 ) endif Then, a relevant input file for the above UMAT should look like: MATERIAL, 1 .... SOLID ......... UCON, M008 ................210.0, 0.3 The results should be ud(1) = 210.0, and ud(2) = 0.3

FEAP UMATLn ModulesThe moduless allow you to define a constitutive equation in three dimensional stress state. Therefore, elements truss, frame, plate, and shells will not used the module, neither the one-dimensional elements. For thermal problem, denotes the temperature. ; meanwhile, the user material data are in . Description of

The material data are given in is given in Table 5.5 to 5.8. The routine UMATLn retuns

and

, which is the element tangent modulus.

FEAP Driver for large deformation materialFEAP utilizes the subroutine modlfd.f to control the material model in the large deformation. In the code, umat = 1, umat = 2, umat = 3, umat = 4, umat = 7, umat = 9, umat = 10, umat = 11, umat = 12, Standard neo-Hookean elastic model, stnh3f.f Modified neo-Hookean model, neoh3f.f Ogden model, nalp3f Finite stretch plasticity model, plasticity (plasfd), elastic (nalp3f) Saint-Venant-Kirchhoff model (energy conserving capability), stvk.f Fung Pseudo-exponential model, pfung.f Mooney-Rivlin, mnrv3f.f Modified Mooney-Rivlin, modmnrv.f Arruda-Boyce model, arruda.f Yeoh model, yeoh3f.f

umat = 5 and 6,