VibInfo 发表于 2005-11-17 08:09

ANSYS/LS-DYNA叶片冲击分析

fini

/clear

! blade.inp is a supplement to Chapter 11 (ANSYS/LS-DYNA Seminar)

/title, Implicit-to-Explicit Sequential Solution

! Stress Initialization to Prescribed Geometry followed by Full Transient

! This is a simplified attempt to analyze the scenario when a
! jet engine fan blade snaps off and tears the engine apart

/uis,abort,off ! do not display annoying status boxes...

! ===========================================================================

/filnam,implicit ! implicit (ANSYS) portion of analysis

/prep7
/view,,1,2,3
/ang,1

! Note: Only SHELL181 elements are used in this example, but other element
! types (e.g., SOLID185) can also be used. However, there is a set of
! companion element types that exist, which make the transition from/to
! implicit to/from explicit "automatic" (etchg used instead of emodif):
!
! LINK8 ===> LINK160
! BEAM4 ===> BEAM161
! SHELL181 <===> SHELL163 (181 accepts 163 stresses & thicknesses)
! SOLID185 <===> SOLID164 (185 accepts 164 stresses at 5.6)
! COMBIN14 ===> COMBI165
! MASS21 ===> MASS166
! LINK10 ===> LINK167
!
! The LS-DYNA link and beam elements require a third node, which is
! not always used in ANSYS, so these elements must be checked by the
! user. Also, SHELL181 accepts thickness and stress information from
! LS-DYNA. Prior to 5.6, it accepted the thicknesses and element
! force and moment information from SHELL163, which was then used to
! calculate the stresses that were already determined in LS-DYNA.
! If more than 5 integration points are used through the thickness
! (trapezoidal rule), then the old method of force and moment data
! is used. SOLID185 should have KEYOPT(2)=1 (i.e., uniform reduced
! integration with hourglass control) to be consistent with SOLID164.

! It's best to think in terms of "parts" when the model is being created,
! because ANSYS/LS-DYNA requires part definitions for many of its commands
! (EDLOAD, EDCGEN, EDREAD, etc). By issuing the EDPART,Create command,
! ANSYS/LS-DYNA automatically creates parts that are based on unique sets
! of MAT, REAL, and TYPE numbers used by elements (listed sequentially via
! the ELIST command). These part lists can be updated after the model has
! been changed (EDPART,Update) or listed (EDPART,List) at any time before
! the SOLVE or EDWRITE,ANSYS/TAURUS/both commands are issued, at which
! point, the part list is set.

et,1,SHELL181 ! implicit shell elements for engine hub
et,2,SHELL181 ! implicit shell elements for blade platform
et,3,SHELL181 ! implicit shell elements for engine blades
et,4,SHELL181 ! implicit shell elements for engine duct
/eshape,1 ! show element thicknesses (to check model)

r,1,0.50 ! thickness of hub (flywheel shape)
r,2,0.50 ! fan blade platform thickness
r,3,0.25 ! fan blade average thickness
r,4,0.75 ! engine duct (housing) thickness

! Note: Only small strains using linear material properties are allowed
! in the implicit analysis, since only the resulting displacements
! will be used in the stress initialization portion (first part)
! of the explicit analysis. In other words, no path dependent
! features are allowed in the implicit run.

mp, ex,1,30.0e6 ! modulus of hub (psi)
mp,dens,1,7.33e-4 ! mass density of hub (lbf-sec^2/in^4)
mp,nuxy,1,0.30 ! Poisson's ratio (unitless)

mp, ex,2,30.0e6 ! modulus of blade platform (psi)
mp,dens,2,7.33e-4 ! mass density of blade platform (lbf-sec^2/in^4)
mp,nuxy,2,0.30 ! Poisson's ratio (unitless)

mp, ex,3,30.0e6 ! modulus of blade (psi)
mp,dens,3,7.33e-4 ! mass density of blade (lbf-sec^2/in^4)
mp,nuxy,3,0.30 ! Poisson's ratio (unitless)

mp, ex,4,30.0e6 ! modulus of engine duct (psi)
mp,dens,4,7.33e-4 ! density of duct not used (lbf-sec^2/in^4)
mp,nuxy,4,0.30 ! Poisson's ratio (unitless)

k,1,0,0,0 ! create simplified jet engine geometry
k,2,0,0,1
l,1,2 ! line #1 used to generate geometry...
lgen,2,1,,,5,0,0 ! inner radius of hub (line #2)
ldiv,2 ! divide line #2 in half into lines #2 and #3
lgen,2,2,3,,5,0,0 ! outer radius of hub (lines #4 and #5)
l,5,7 ! line #6 represents web of hub
local,11,1,0,0,0.5,0,0,90.0 ! local cs to twist blade
lgen,2, 4, 5,,0, -5.0,1.0 ! root of blade (break point at radius = 11")
lgen,2, 7, 8,,0,-12.5,1.5 ! create lines to "skin" blade...
lgen,2, 9,10,,0,-12.5,1.5
lgen,2,11,12,,0,-12.5,1.5
lgen,2,13,14,,0,-12.5,1.5
lgen,2,15,16,,0,-12.5,1.5
lgen,2,17,18,,0,-12.5,1.5
lsel,s,line,,7,20,1
lesize,all,,,2 ! specify esize = 0.25" for blades ("axially")
lsel,all

csys,0 ! return to global coordinate system
kmodif,1,0,0,-2 ! move end-points of origin line for duct
kmodif,2,0,0, 3 ! duct axial length will be 5" for model...
lgen,2, 1,,,21,0,0 ! line #21 at 21" radius (engine duct or housing)
a,6,7,10,9 ! platform at base of blade (area #1)
a,7,8,11,10 ! area #2
askin,7,9,11,13,15,17,19 ! twisting shape of blade "skinned" (area #3)
askin,8,10,12,14,16,18,20 ! area #4

csys,1 ! use global cylindrical cs to copy blades, etc.
lesize,2,,,1 ! specify esize = 0.5" at inner hub radius
lesize,3,,,1 ! specify esize = 0.5" at inner hub radius
arotat,2,3,,,,,1,2,360,4 ! ring at hub inner radius (areas #5 - #12)
lesize,6,,,5 ! specify esize = 1" along hub web (radially)
arotat, 6,,,,,,1,2,360,4 ! hub disk (web) section (areas #13 - #16)
lesize,4,,,2 ! specify esize = 0.25" at hub outer radius
lesize,5,,,2 ! specify esize = 0.25" at hub outer radius
arotat,4,5,,,,,1,2,360,4 ! ring at hub outer radius (areas #17 - #24)
lesize,21,,,5 ! specify esize = 1" for engine duct (axially)
arotat,21,,,,,,1,2,360,4 ! engine housing (duct) ring (areas #25 - #28)
nummrg,kp

type,1 ! engine hub element type
real,1 ! constant hub thickness used throughout
mat,1 ! engine hub material
esize,,9 ! coarse mesh used (hub will become rigid body)
amesh,5,12 ! mesh hub inner ring
amesh,13,16 ! mesh hub web (disk)
amesh,17,24 ! mesh hub outer ring

type,2 ! blade platform element type
real,2 ! platform thicker than adjoining blade
mat,2 ! blade platform material
esize,,4 ! 4 divisions along length of blade platform
amesh,1,2 ! mesh platform at base of blade (copy below)

type,3 ! fan blade element type
real,3 ! constant fan blade thickness used (I know ...)
mat,3 ! fan blade material (only linear properties here)
esize,,36 ! 36 divisions (esize = 0.25") along blade length
amesh,3,4 ! mesh fan blade (copy below)

agen,36,1,4,1, 0,10.0,0 ! generate all of the engine blades and platforms

type,4 ! engine duct element type (not used here...)
real,4 ! constant thickness cylindrical shape used
mat,4 ! engine duct material
esize,,9 ! use 36 element divisions circumferentially
amesh,25,28 ! mesh the engine housing (duct or shroud)
nummrg,kp

csys,0 ! return to global coordinate system
nummrg,node ! clean up any "loose ends" in the model...
nummrg,kp

! Note: No nodes or elements may be introduced for the first time in the
! explicit portion of an implicit-to-explicit sequential analysis.
! All entities must be pre-defined in the implicit portion of the run,
! even if they are not used there. All of these elements in question
! must have all of the degrees of freedom (DOFs) of all of their
! nodes set to zero in the implicit run. Then, in the explicit run,
! the elements are converted to the companion type and the DOFs from
! the implicit run are deleted (and re-specified, as necessary). In
! this example, the pressure loading on the engine duct (100 psi?) is
! a second order effect and, is therefore, not modeled in the implicit
! part of the sequential solution. Another example would be the
! bird in a bird-strike analysis, which would probably best be modeled
! with SOLID185 elements and then completely restrained here. In the
! explicit run, the SOLID185 elements would be converted to SOLID164
! elements and the DOFs would be deleted. The corresponding keyopts,
! real constants, material properties, boundary conditions, and
! loading would still need to be defined in the explicit analysis...

esel,s,type,,4 ! engine housing elements
nsle ! engine housing nodes
d,all,all,0.0 ! fix all DOFs of unused entities
nsel,all
esel,all

fini
/solu
antype,static

! outpr,all,all
outres,all,all

omega,,,420.0 ! engine spin load (420.0 rad/sec = 4,010.7 rpm)
esel,s,type,,1 ! engine hub elements (rigid body in explicit run)
nsle ! engine hub nodes (not concerned with hub)
d,all,all,0.0 ! fix engine hub to allow loading of fan blades
nsel,all
esel,all

save
eplot
solve ! default solver used, but others OK, too
fini

/post1
set,last
/eshape,0
/graphics,full
/dscale,,1
shell,bottom ! results for bottom layer of shell element
plnsol,s,eqv ! blade maximum von Mises stress at root
shell,top ! results for top layer of shell element
plnsol,s,eqv ! blade maximum von Mises stress at root
fini

! ===========================================================================

/filnam,explicit ! explicit (LS-DYNA) portion of analysis

/prep7
etchg,ite ! convert SHELL181 elements to SHELL163 elements
! default settings automatically specified...

! Note: The EMODIF command may be used instead of the ETCHG command, but
! the latter is more automatic for "companion" elements (refer to the
! ANSYS/LS-DYNA User's Guide - Release 5.6 for details). In both cases,
! the shell element thicknesses, etc. still need to be re-specified...

r,1,,3,0.50 ! hub (3 int. pts. through 0.5" thickness)
r,2,,3,0.50 ! blade platform (same as above)
r,3,,5,0.25 ! blades (5 int. pts. through 0.25" thickness)
r,4,,5,0.75 ! duct (5 int. pts. through 0.75" thickness)

edint,5 ! saves data for all 5 layers (blades and duct)

esel,s,type,,1 ! hub elements
nsle ! hub nodes
ddele,all,all ! remove imposed displacements from implicit run
edmp,rigid,1,7,4 ! convert hub to rigid body (only rotz = free)
nsel,all
esel,all

! Simulate one blade snapping off by unselecting a row of elements along the
! root. Alternatively, areas #1 and #2 could have been cleared (ACLEAR,1,2).

asel,s,area,,1,2 ! blade platform areas of blade #1
esla ! elements of first platform
nsle ! corresponding nodes
nsel,r,loc,x,10.7,11.1 ! reselect nodes of outer row of elements
esln,s,1 ! select elements with all nodes active
cm,esnap,elem ! row of elements to be unselected before SOLVE

asel,s,area,,3,4 ! blade #1 (projectile)
esla ! elements of first blade
cm,eproj,elem ! element component for EDHIST command
nsle ! nodes of first blade
cm,nproj,node ! node component for EDHIST command
asel,all
nsel,all
esel,all

! Use nonlinear (plastic) material properties for the fan blades:

! Note: First convert engineering stress versus engineering strain data
! into true stress versus true (hencky) strain data. Then subtract
! off the elastic true strain from the total true strain to find
! the plastic true strain, which is used with the total true stress
! in LS-DYNA *MAT_PIECEWISE_LINEAR_PLASTICITY material model #24.

!--------------------------------------------------------------------------
! Stress-Strain Data used with Piecewise Linear Plasticity (Power Law 8):
!--------------------------------------------------------------------------
! Total Total Total Total Elastic Plastic
! Stress/ Eng. Eng. True True True True
! Strain Stress Strain Stress Strain Strain Strain
! Point (psi) (in/in) (psi) (in/in) (in/in) (in/in)
!--------------------------------------------------------------------------
! 1 0 0.0000 0 0.0000 0.0000 0.0000
! 2 60,000 0.0020 60,120 0.0020 0.0020 0.0000
! 3 77,500 0.0325 80,020 0.0320 0.0027 0.0293
! 4 83,300 0.0835 90,260 0.0802 0.0030 0.0772
! 5 98,000 0.1735 115,000 0.1600 0.0038 0.1562
! 6 98,300 0.2710 124,940 0.2398 0.0042 0.2356
! 7 76,400 1.2255 170,030 0.8000 0.0057 0.7943
!--------------------------------------------------------------------------

! Note: The first point on the stress/strain curve is NOT entered.
! Start with the second point (where ordinate = yield stress).
! Also, please follow the limits imposed by the *SET command.

*dim,strn,,6 ! define array for effective plastic true strain data
*dim,strs,,6 ! define array for effective total true stress data

strn(1)= 0.0, 0.0293, 0.0772, 0.1562, 0.2356, 0.7943 ! strain (in/in)
strs(1)= 60120., 80020., 90260., 115000., 124940., 170030. ! stress (psi)

edcurve,add,1,strn,strs ! load curve #1: abscissa=strain & ordinate=stress
tb,plaw,3,,,8 ! specify power law #8 for material (MAT) #3
tbdata,1,60120.0 ! yield stress, psi
tbdata,3,0.30 ! set material failure at 30% true plastic strain
tbdata,6,1 ! use load curve #1 for stress/strain data

! Note: Strain rate effects can be included by specifying the necessary
! strain rate parameters and the load curve defining the strain rate
! scaling effect on the yield stress. Please refer to Chapter 7
! (Material Models) of the ANSYS/LS-DYNA User's Guide for a complete
! description of this material model.

! Use nonlinear (plastic) material properties for the engine duct, to

tb,plaw,4,,,8 ! specify power law #8 for material #4 (duct)
tbdata,1,60120.0 ! yield stress, psi
tbdata,3,0.50 ! set material failure at 50% true plastic strain
tbdat,6,1 ! use load curve #1 for stress/strain data
esel,s,type,,4 ! engine duct elements
nsle ! engine duct nodes
ddele,all,all ! remove imposed displacements from implicit run
nsel,all
esel,all

! Allow GUI to recognize batch-defined material input

mpmod,1,7
mpmod,2,1
mpmod,3,28
mpmod,4,28

edcgen,ag ! automatic general contact

fini
/solu

VibInfo 发表于 2005-11-17 08:10

! Using the REXPORT command, write the displacements (and rotations
! and temperatures) determined in the ANSYS implicit analysis to the
! ASCII "drelax" file. This command also sets the "m=drelax" option
! in the lsdyna script, prompting LS-DYNA to read the drelax file in.

rexport,dyna,,,,,implicit,rst

! By issuing the EDDRELAX command, a stress initialization to a
! prescribed geometry analysis is requested. In a sequential
! implicit-to-explicit run, a "dynamic relaxation" analysis is
! performed in the pre-transient portion of the explicit analysis
! to preload the structure by imposing the deformed geometry over
! 101 time steps (with damping). The time during these 101 time
! steps can be thought of as "pseudo" time, since the time interval
! for the transient event begins at time equal to zero. Please
! note that, although the temperatures are being written to the
! "drelax" file, they are not currently being used. They will be
! supported in a later release. The remaining fields of the
! EDDRELAX command are ignored in an implicit-to-explicit analysis.

eddrelax,ansys ! request stress initialization analysis...

! Impart initial spin velocity to nodes after stress initialization done

esel,s,type,,1,3,1 ! spinning engine components
nsle ! nodes of hub, blade platforms, and blades
cm,nrots,node ! nodes initially spinning at 420.0 rad/sec

edivelo,nrots, 0,0,0, 420, 0,0,0, 90,90,0 ! Phase field set automatically

nsel,all
esel,all

! Continue spinning load on hub (converted to a rigid body now).

*dim,etime,,2 ! dimension explicit time array
*dim,spin,,2 ! dimension spin loading array
etime(1)=0.00 ! run time array out past termination time...
etime(2)=0.02 ! time array duration = 0.02 seconds
spin(1)=0.00 ! extending load curves facilitates restarts...
spin(2)=8.40 ! 8.4 radians in 0.02 seconds = 420 rad/sec

! Note: The EDPART command is used to create, update, and list part IDs
! needed by the EDLOAD, EDCGEN, etc. commands. Please see Chapter
! 3 of the ANSYS/LS-DYNA 5.6 User''s Guide for more information
! concerning this topic.

edpart,create ! create and list parts (part #1 = rigid body
! hub, #2=platforms, #3=blades, and #4=duct)

! Below, "rbrz" is used to apply a rigid body rotation about the z-axis,
! since there is no straight-forward method to apply an omega to the rigid
! body at 5.6 (without editing the explicit.k input file). The load curve
! specified is the equivalent of a constant omega of 420 radians per second.

edload,add,rbrz,,1,etime,spin,0 ! Phase = 0 for sequential run (on part #1)

! The phase parameter on the EDLOAD command was added at ANSYS/LS-DYNA 5.4.
! The default value of zero is used for explicit transient loading in both
! a sequential implicit/explicit analysis and in an explicit-only analysis.
! In these cases, the load curve is applicable to the LS-DYNA transient
! portion of the run. The other two phase options are not valid in a
! sequential analysis. They are used for explicit-only cases of stress
! initialization by dynamic relaxation (phase=1) OR stress initialization
! by dynamic relaxation followed by a transient analysis (phase=2).

nsel,s,loc,y,20.1,21.1 ! nodes on duct at wing attachment point
d,all, ux,0.0,,,, uy, uz ! fix duct in translation to wing
d,all,rotx,0.0,,,,roty,rotz ! fix duct in rotation to wing
nsel,all
esel,all

cmsel,u,esnap ! unselect row of elements to "snap off" blade

time,0.010 ! termination time (can continue with EDSTART)
edrst,50 ! write data to results file 52 times (50+2)
edhtime,50 ! write data to history file 52 times (50+2)
edhist,eproj ! elements belonging to snapped off blade
edhist,nproj ! nodes belonging to snapped off blade
edenergy,1,1,1,1 ! output energies (hourglass, sliding interface ...)
edout,glstat ! output LS-DYNA global energy file (ASCII)
!!!edopt,add,,both ! write results for both ANSYS and LS-TAURUS/LS-POST
edopt,add,,ansys ! write results for just ANSYS

!!!edwrite,both,,k ! create LS-DYNA input file (explicit.k)
edwrite,ansys,,k ! create LS-DYNA input file (explicit.k)

save

/eof

! Note: If the LS-DYNA solver is run directly (from outside of ANSYS),
! issue: /ansys56/bin/lsdyna56 i=explicit.k m=drelax

solve ! overwrites the existing "explicit.k" input file and solves ...

fini
/post1
/dscale,,1 ! set displacement magnification to one
/view,,0.1,-0.75,0.65
set,first
layer,5 ! top layer of shell element
plnsol,s,eqv ! von Mises equivalent stress plot
layer,1 ! bottom layer of shell element
plnsol,s,eqv ! von Mises equivalent stress plot

andata,0.5,,2,1,33,2,0,1 ! animate every other frame up to substep 33 ...

fini
/exit

!2345678901234567890123456789012345678901234567890123456789012345678901234567890

! Note: Stress data is available for each layer. For the fan blades and
! engine duct, five integration points are used (real constant NIP)
! and the results are saved for each layer (EDIMT,5). However,
! strain data is only available for the top and bottom layers.
! Although the LAYER,1 command gives both stress and strain data
! for the bottom layer, the LAYER,2 command gives stress data for
! the second layer, but gives strain data for the top layer (#5).
! To get stress data for the top layer, issue LAYER,5. Also, the
! explicit results are for the integration point locations, which
! are at the midplane of a given layer. To approximate surface
! stresses and strains, a sufficient number of integration points
! (layers) must be used through the thickness...

sxwangyan 发表于 2011-3-29 09:56

{:{13}:}

hhzhangfuxing 发表于 2011-3-29 19:28

介似嘛?

toes 发表于 2011-3-29 20:00

大哥,编辑一下再发上来啊。。。

Chelsea 发表于 2011-4-1 16:28

toes 发表于 2011-3-29 20:00 static/image/common/back.gif
大哥,编辑一下再发上来啊。。。

这是论坛版本转换造成的,早期的帖子不少出现这种情况,不是编辑问题
发现这种情况联系管理员修复一下就好了

bhyever 发表于 2011-7-20 14:26

这个要参考
页: [1]
查看完整版本: ANSYS/LS-DYNA叶片冲击分析