8.14. Example: Nonlinear Analysis

You can perform the example nonlinear static analysis of a copper cylinder impacting a rigid wall using the commands shown below instead of GUI choices. Items prefaced by an exclamation point (!) are comments.

/filname,axplate

/prep7  
radius=1.0                   ! radius of the plate (m)
thick=0.1                      ! thickness of plate (m)
ym=16911.23
et,1,plane182,,,1         ! plane182 axisymmetric element
mp,ex,1,ym        
mp,nuxy,1,0.3

! define a kinematic hardening plasticity curve using the kinh material model 
tb,plas,1,,,KINH
tbpt,,0.000000000,19.00  
tbpt,,0.000517426,22.80  
tbpt,,0.001079364,25.08  
tbpt,,0.002752812,29.07  
tbpt,,0.004546121,31.73 

! set the axles labels for the stress-strain curve plot

/axlab,x,log strain (n/m^2)
/axlab,y,true stress (n/m^2)

tbpl,plas,1                ! plot and verify the material stress-strain curve 

! define a rectangle which is the axisymmetric cross section of the plate. 
! the rectangle has a length equal to the radius of the plate and a height equal 
! to the thickness of the plate

rect,,radius,,thick

! select the left and right bounding lines of the created rectangle and set 
! the line division to 8 (8 elements through the thickness of the plate)

flst,5,2,4,orde,2   
fitem,5,2   
fitem,5,4   
cm,_y,line  
lsel, , , ,p51x  
cm,_y1,line 
cmsel,,_y   
lesize,_y1, , ,8,1, 
cmdel,_y
cmdel,_y1   

! select the top and bottom bounding lines of the created rectangle and set 
! the line division to 40 (40 elements through the radius of the plate)

flst,5,2,4,orde,2   
fitem,5,1   
fitem,5,3   
cm,_y,line  
lsel, , , ,p51x 

cm,_y1,line 
cmsel,,_y   
lesize,_y1, , ,40,1,
cmdel,_y
cmdel,_y1   

cm,_y,area  
asel, , , ,       1 
cm,_y1,area 
chkmsh,'area'   
cmsel,s,_y  

amesh,all   
cmdel,_y
cmdel,_y1   
cmdel,_y2   
fini

/solve  
nlgeom,on                    ! turn on geometric nonlinearity

! get the node numbers for the nodes located at the top 
! of the axis of symmetry and at bottom right of the model

ntop = node(0,thick,0)
nright = node(radius,0,0)

! activate the monitoring of the displacement and reaction force histories
! during the analysis. 
! the histories are written to the monitor file ratch.mntr

monitor,1,ntop,uy
monitor,2,nright,fy

outres,all,all               ! output all the results for all substeps to the 
                             ! results file for later postprocessing

! select the nodes located at right end and constrain their radial (x) and 
! axial (y) direction displacement to be zero.

nsel,s,loc,x,radius
d,all,all

! select the nodes located at left end and constrain their radial (x) direction 
! displacement to be zero.

nsel,s,loc,x,0.0
d,all,ux,0.0

! define the load for load step 1. 
! select the nodes located at top surface of plate and apply a uniform pressure
! of 0.125 n/m^2 as dead load on the plate.

nsel,s,loc,y,thick
sf,all,pres,0.125   

alls                         ! select all nodes

! define the number of substeps (10). also define maximum number of 
! substeps (50), and the minimum number of substeps (5) for the automatic
! time-stepping algorithm. 

nsub,10,50,5
solve                        ! solve load step 1 

f = 0.01                     ! define the parameter, f, used to apply 
                             ! the cyclic point load.                 
! over six load steps apply a cyclic point load of magnitude f = 0.01 units 
! applied at the center of the plate over three cycles

! ******************************
!        start cycle 1
! ******************************

nsel,s,node,,ntop
f,all,fy,-f                  ! define load for load step 2
nsel,all
nsubst,4,25,2                ! set the number of substeps, max and min number 
                             ! of substeps
solve                        ! solve load step 2

nsel,s,node,,ntop
f,all,fy,f                   ! define load for load step 3
nsel,all
nsubst,4,25,2                ! set the number of substeps, max and min number 
                             ! of substeps
solve                        ! solve load step 3

! ******************************
!        start cycle 2
! ******************************

nsel,s,node,,ntop
f,all,fy,-f                  ! define load for load step 4
nsel,all
nsubst,4,25,2                ! set the number of substeps, max and min number 
                             ! of substeps
solve                        ! solve load step 4

nsel,s,node,,ntop
f,all,fy,f                   ! define load for load step 5
nsel,all
nsubst,4,25,2                ! set the number of substeps, max and min number 
                             ! of substeps
solve                        ! solve load step 5

! ******************************
!        start cycle 3
! ******************************

nsel,s,node,,ntop
f,all,fy,-f                  ! define load for load step 6
nsel,all
nsubst,4,25,2                ! set the number of substeps, max and min number 
                             ! of substeps
solve                        ! solve load step 6
nsel,s,node,,ntop
f,all,fy,f                   ! define load for load step 7
nsel,all
nsubst,4,25,2                ! set the number of substeps, max and min number 
                             ! of substeps.
solve                        ! solve load step 7
save
fini

/post1
set,last                     ! read in the results from the last substep of 
                             ! the last step.

pldi,2                       ! plot the deformed mesh with the undeformed 
                             ! edge only
ples,nl,epeq                 ! plot the total accumulated equivalent 
                             ! plastic strains
fini

/post26
eplo                         ! plot the mesh
nsel,s,node,,ntop            ! select the node where the point load is attached
esln                         ! select the element attached to this node
elem=elnext(0)               ! get the number of this element
alls                         ! select back everything in the model

! define variable 2 to be y component of stress at the node where the point 
! load is applied

esol,2,elem,ntop,s,y,

! define variable 3 to be y component of elastic strain at the node where the 
! point load is applied

esol,3,elem,ntop,epel,y,

! define variable 4 to be y component of plastic strain at the node where the 
! point load is applied

esol,4,elem,ntop,eppl,y,

prvar,2,3,4
fini

8.14.1. Where to Find Other Examples

Several Ansys, Inc. publications, particularly the Mechanical APDL Verification Manual, describe additional nonlinear analyses.

The Mechanical APDL Verification Manual consists of test case analyses demonstrating the analysis capabilities of the program. While these test cases demonstrate solutions to realistic analysis problems, the Mechanical APDL Verification Manual does not present them as step-by-step examples with lengthy data input instructions and printouts (unnecessary if you have at least limited finite element experience). Be sure to review each test case's finite element model and input data with accompanying comments.

The Mechanical APDL Verification Manual includes a variety of nonlinear analysis test cases:

VM7 - Plastic Compression of a Pipe Assembly
VM11 - Residual Stress Problem
VM24 - Plastic Hinge in a Rectangular Beam
VM38 - Plastic Loading of a Thick-Walled Cylinder Under Pressure
VM56 - Hyperelastic Thick Cylinder Under Internal Pressure
VM78 - Transverse Shear Stresses in a Cantilever Beam
VM80 - Plastic Response to a Suddenly Applied Constant Force
VM104 - Liquid-Solid Phase Change
VM124 - Discharge of Water from a Reservoir
VM126 - Heat Transferred to a Flowing Fluid
VM132 - Stress Relaxation of a Bolt Due to Creep
VM133 - Motion of a Rod Due to Irradiation Induced Creep
VM134 - Plastic Bending of a Clamped I-Beam
VM146 - Bending of a Reinforced Concrete Beam
VM185 - Current Carrying Ferromagnetic Conductor
VM198 - Large Strain In-Plane Torsion Test
VM199 - Viscoplastic Analysis of a Body Undergoing Shear Deformation
VM200 - Viscoelastic Sandwich Seal Analysis
VM218 - Hyperelastic Circular Plate
VM220 - Eddy Current Loss in Thick Steel Plate