lanweiming 发表于 2004-4-16 23:38:15

【分享】叶片冲击分析

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, too:

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

! 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/lsdyna56i=explicit.km=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...

xueliang123 发表于 2008-10-9 16:18:01

怎么不可以运行

liuzongfahjx 发表于 2008-12-15 20:24:14

好东西,先研究一下

xueliang123 发表于 2008-12-23 08:35:05

这是结果图片file:///E:/kk.jpg

yangshengcarl 发表于 2008-12-23 21:59:23

非常感谢!

xuyong415 发表于 2009-1-19 07:53:02

:loveliness: xiexie!!!

taojunhust 发表于 2009-2-14 15:54:02

好长的程序啊。呵呵,吓着我了。

asdzhy2005 发表于 2009-2-20 01:04:12

好长,学习了

MIRRO_LEE 发表于 2009-11-25 15:07:10

:L 真的好长啊。。。
看来想看懂,要仔细研究研究了。。。

weixiaogang0323 发表于 2010-10-5 14:36:04

很是费解啊!认真研究一下

jinting 发表于 2010-10-15 17:15:29

厉害得很啊,不错

lxg613 发表于 2010-10-21 09:42:22

光看命令流就知道是牛人了

fanxinwulei 发表于 2011-9-12 03:16:12

:)楼主是牛人啊

小星星 发表于 2017-6-17 19:05:38

光看命令流就知道是牛人了

dovexsmgc 发表于 2018-10-15 15:21:09

感谢分享
页: [1]
查看完整版本: 【分享】叶片冲击分析