This section contains input listings for the following linear perturbation analysis examples:
Example 9.1: Linear Perturbation Static Analysis
/prep7 et,1,solid185 mp,ex,1,11.5e8 mp,nuxy,1,.3 mp,dens,1,1000 ! ********** Creating geometry *********** block,0,1,0,-0.1,-1,1 esize,0.2 type,1 vmesh,1 block,1,2,0,-0.1,-1,1 esize,0.2 type,1 vmesh,2 allsel,all ! ********** Creating Bonded Contact Pair ********** *set,tid,4 *set,cid,3 et,cid,conta175 et,tid,targe170 keyo,cid,12,5 ! Bonded Contact vsel,s,volu,,1 allsel,below,volu type,3 real,3 nsel,r,loc,x,1 esurf allsel vsel,s,volu,,2 allsel,below,volu type,4 real,3 nsel,r,loc,x,1 esurf allsel ! ********** Displacement Load in Base Static Solve *********** *dim,disp_x,table,2,1,1 disp_x(1,0)=1 disp_x(1,1)=-1e-03 disp_x(2,0)=2 disp_x(2,1)=-1.5e-03 ! ********** Force Load in Linear Perturbation Static Solve ************ *dim,force_y,table,1,1,1 force_y(1,0)=3 force_y(1,1)=1e+02 nsel,s,loc,x,0 d,all,all allsel,all nsel,s,loc,x,2 nsel,r,loc,y,0 cm,comp1,node nsel,all finish /solution antype,static nlgeom,on ! Enable nonlinear effects nsubst,10,100,10 autots,on outres,all,all rescontrol,define,all,all, ! write restart files nsel,s,loc,x,2 d,all,ux,%disp_x% allsel,all,all time,2 solve ! 2nd load step save fini /solution antype,static,restart,,,perturb perturb,static,,current,nokeep ! Discard any BCs from the base static solution solve,elform nsel,s,loc,x,0 d,all,all,0 ! Redefine BC nsel,all f,comp1,fy,%force_y% time,3 allsel,all,all solve fini /post1 file,,rstp set,last nsel,s,,,200,264,2 prnsol,u,sum prnsol,s nsel,all prrfor finish
Example 9.2: Simple Example of a Linear Perturbation Modal Analysis
/prep7 mp,ex,1,10 ! Simple material mp,nuxy,1,0.3 mp,dense,1,0.5 n,1, n,2,1 n,3,1,1 n,4,0,1 n,5,2,0 n,6,2,1 n,7,3,0 n,8,3,1 et,1,182,,,1 e,1,2,3,4 e,2,5,6,3, e,7,8,6,5 allsel,all d,1,all d,4,ux f,8,fy,-2.0 ! Apply a lateral point load at node 8 dlist finish /solution antype,static ! Static analysis nlgeom,on ! Large deformation and large strain rescontrol,,all,1 ! Get restart files for all substeps nsub,5,5,5 ! Use fixed time steps solve finish !! Begin modal linear perturbation analysis /solu /com FIRST PHASE OF LINEAR PERTURBATION antype,,restart,1,3,perturb ! Restart at 1st loadstep, 3rd substep, ! from the base nonlinear static analysis perturb,modal solve,elform ! Execute 1st phase of linear perturbation, recovering Kt of NLGEOM,on !! /com SECOND PHASE OF LINEAR PERTURBATION dlist,all ! Displacement boundary conditions are not deleted flist,all ! Lateral point load at node 8 has been deleted internally at SOLVE,elform f,8,fy,-4.0 ! Apply new load for downstream analysis, f,8,fx,-2.0 ! (downstream analysis is not shown in this simple example) ! This newly applied point load does not affect modal solution flist modopt,lanb,3 ! Solve for lowest 3 modes by using block Lanczos mxpand,3,,,yes ! Expand mode the same time outres,esol,all solve ! Execute 2nd phase of linear perturbation: modal analysis dlist ! Verify perturbation loads again flist fini /post1 file,,rstp ! Use *.rstp file to review results from linear perturbation set,list ! It should list 3 eigen-modes set,last ! List stresses of the 3rd mode esel,s,elem,,1 etable,seqv,s,eqv allsel,all etable,seqv,s,eqv pretab,seqv finish
Example 9.3: Linear Perturbation Modal Analysis with Large Rotation Effects
*afun,deg /prep7 /triad,lbot /view,1,1,0,0 /angl,1,-90 /graph,full rotxy=0 rotyz=0 rotzx=-90 et,1,185 n,1,0,0,0 ! Define nodes n,2,.5,0,0 n,3,.5,1,0 n,4,0,1,0 ngen,11,10,1,4,1,0,0,1 en,1,1,2,3,4,11,12,13,14 ! Define elements egen,10,10,1 mp,ex,1,1.0e6 ! define material mp,ey,1,1.0e7 mp,ez,1,1.0e8 mp,nuxy,1,1.0e-8 mp,nuxz,1,1.0e-8 mp,nuyz,1,1.0e-8 mp,gxy,1,1e5 mp,gxz,1,1e5 mp,gyz,1,1e5 mp,dens,1,0.3/386.4 local,11,0,0,0,0,rotxy,rotyz,rotzx csys,0 /psymb,cs,1 emodif,all,esys,11 tref,0 tunif,0 nsel,s,node,,1,4 d,all,ux,0 d,all,uy,0 d,all,uz,0 allsel,all finish !! Rigid rotation of 90 degrees /solu antype,static nlgeom,on ! large deflection nsubst,1,1,1 save,case1,db,,model nstep=9 dstep=90/nstep *do,istep,1,nstep theta=dstep*istep nsel,s,node,,3,4 d,all,uz,-sin(theta) d,all,uy,cos(theta)-1 allsel solve *enddo finish !! Linear perturbed modal analysis /solu /com First phase of linear perturbation antype,static,restart,,,perturb ! Restart from the last substep of the rigid rotation perturb,modal ! Set linear perturbed modal analysis solve,elform ! Execute 1st phase of linear perturbation, recovering Kt of NLGEOM,on /com Second phase of linear perturbation outres,all,all modopt,lanb,2 ! Solve for first 2 modes by using block lanczos mxpand,2,,,yes ! Expand mode at the same time solve ! Execute 2nd phase of linear perturbation: modal analysis finish /post1 file,,rstp ! Use *.rstp file to review results from linear perturbation set,list ! List 2 eigenmodes set,1,1 ! List strains and stresses of element 1 in the first mode esel,s,elem,,1 rsys,0 ! List results in global coordinates presol,s presol,epto rsys,solu ! List results in element coordinates presol,s presol,epto finish
Example 9.4: Contact Status Control in a Linear Perturbation Modal Analysis
/filname,test1 !********** CASE 1 ********** /prep7 et,1,182 r,1,0.1 mp,ex,1,30e6 mp,dens,1,7.324 mp,prxy,,0.3 csys,1 pcirc,10,5,0,90 pcirc,10,15,40,50 allsel,all esize,0.7 cyclic ! A cyclic symmetric static problem mshkey,1 amesh,all allsel,all !********** Original contact definition ********** et,2,172 mat,2 mp,mu,2,0.000001 keyopt,2,4,2 keyopt,2,2,0 ! Penalty function keyopt,2,12,2 ! No-Separation contact (sliding allowed) keyopt,2,5,1 type,2 real,2 lsel,s,line,,7 lmesh,all allsel,all et,3,169 lsel,s,line,,1 type,3 real,2 esurf,,reverse lmesh,all allsel,all !********** Boundary Condition ********** nsel,s,loc,x,5 d,all,all,0 nsel,all allsel,all nsel,s,loc,x,15 esln,s cm,load,elem allsel,all nsel,s,loc,x,13,14 nsel,r,loc,y,40 cm,comp1,node nsel,all nrotate,all finish /SOLU ! Enter the base nonlinear static analysis antype,static rescontrol,define,all,1 outres,all,all nlgeom,on nsubs,20,20,20 kbc,0 nsel,s,loc,x,15 f,all,fx,-3e4 allsel,all solve ! 1st loadstep time,2.0 nsubs,20,20,20 kbc,0 f,comp1,fy,10 allsel,all solve ! 2nd loadstep finish /post1 set,last /cycexpand,,on esel,s,type,,2 !********** Contact status after Base static analysis: sliding ********** presol,cont,stat esel,all allsel,all /cycexpand,,off finish /solu antype,static,restart,,,perturb ! Enter linear perturbed modal analysis ! by using last loadstep and substep. perturb,modal,,current,allkeep ! Keep all the loads as in Base static run. solve,elform ! First phase of linear perturbation modopt,lanb,6 mxpand,6,,,yes solve ! Second phase of linear perturbation finish ! Completion of linear perturbation /post1 file,,rstp set,list /cycexpand,,on set,1,5 ! Use the 5th mode, Harmonic Index = 0 to see solution esel,s,type,,2 /com, ************************************************************ /com, * CASE 1 * /com, * Using CURRENT as contact status key on PERTURB command * /com, ************************************************************ presol,cont,stat ! Expected contact status: sliding (same as Base static analysis) esel,all /cycexpand,,off /delete,test1,rstp finish /clear,nostart /filname,test1 !********** CASE 2 ********** /solu antype,static,restart,1,10,perturb ! Restart from loadstep 1, substep 10 (uy=2) perturb,modal,,sticking,allkeep ! Modify the contact from sliding to sticking solve,elform modopt,lanb,6 mxpand,6,,,yes solve finish /post1 file,,rstp set,list /cycexpand,,on set,1,5 esel,s,type,,2 /com, ************************************************************ /com, * CASE 2 * /com, * Use sticking as contact status key on PERTURB command * /com, ************************************************************ presol,cont,stat ! Expected contact status: sticking esel,all /cycexpand,,off /delete,test1,rstp finish /clear,nostart /filname,test1 !********** CASE 3 ********** /solu antype,static,restart,1,10,perturb ! Restart from load step 1, substep 10 (uy=2) cnkmod,2,12,3 ! Change from Keyopt(12)=2 to Keyopt(12)=3 (bonded) perturb,modal,,current,allkeep ! Retain the contact status same as in Base static analysis solve,elform modopt,lanb,6 mxpand,6,,,yes solve finish /post1 file,,rstp set,list /cycexpand,,on set,1,5 esel,s,type,,2 /com, ************************************************************ /com, * CASE 3 * /com, * Use CNKMOD command to modify individual contact pairs * /com, ************************************************************ presol,cont,stat ! Expected contact status: Sticking esel,all /cycexpand,,off finish
Example 9.5: Prestressed QRDAMP Linear Perturbation MODAL Analysis
/filname,modal pres1 = 500 k1 = 1.e+4 k2 = 1.e+2 /prep7 et,1,185,,2 mp,ex,1,3.0e5 mp,nuxy,1,.3 mp,dens,1,.05 mp,mu,1,.3 ! Make friction large lp = 0.5 hp = 0.5 block,-lp,lp,-lp,lp, ,hp block,-lp,lp,-lp,lp,hp,2*hp esize,1.0 vmesh,1,2 !********** Allow sliding contact between blocks ********** et,2,174 et,3,170 keyopt,2,9,1 keyopt,2,10,1 r,3 type,2 real,3 vsel,s,,,1,,,1 nsel,r,loc,z,hp esurf type,3 vsel,s,,,2,,,1 nsel,r,loc,z,hp esurf alls !********** Put springs on UX *********** et,4,14 keyopt,4,2,1 r,4,k1 et,5,14 keyopt,5,2,1 r,5,k2 lsp = -hp/2 n,1000,-lp, lp,lsp n,1001,-lp,-lp,lsp n,1002, lp, lp,lsp n,1003, lp,-lp,lsp type,4 real,4 e,1000,node(-lp,lp,0) e,1001,node(-lp,-lp,0) e,1002,node(lp,lp,0) type,5 real,5 e,1003,node(lp,-lp,0) !*********** Put springs on UY ********** et,6,14 keyopt,6,2,2 r,6,k1 et,7,14 keyopt,7,2,2 r,7,k2 type,6 real,6 e,1000,node(-lp,lp,0) e,1001,node(-lp,-lp,0) e,1002,node(lp,lp,0) type,7 real,7 e,1003,node(lp,-lp,0) !*********** Put springs on UZ *********** et,8,14 keyopt,8,2,3 r,8,k1 et,9,14 keyopt,9,2,3 r,9,k2 type,8 real,8 e,1000,node(-lp,lp,0) e,1001,node(-lp,-lp,0) e,1002,node(lp,lp,0) type,9 real,9 e,1003,node(lp,-lp,0) finish /solution antype,static nsel,,loc,z,lsp d,all,all,0 ! Apply zero displacement on second node of springs allsel vsel,s,,,1,,,1 nsel,r,loc,x,-lp d,all,ux,0 ! Apply zero UX displacement on constrained plate vsel,s,,,2,,,1 nsel,r,loc,x,-lp d,all,ux,.01 ! Force UX displacement on free plate vsel,s,,,2,,,1 nsel,r,loc,y,-lp d,all,uy,0 ! Apply zero UY displacement on free plate allsel nsel,s,loc,z,2*hp sf,all,pres, pres1 ! Apply pressure on free plate nsel,all esel,,type,,2 cm,contact2,elem ! Make a contact component allsel outres,all,last nlgeom,on nropt,unsym ! Use unsymmetric option for frictional contact ! so that QRDAMP or UNSYM eigensolver can be used solve finish /solution antype,,restart,,,perturbation perturb,modal qrdopt,yes ! Allow reuse of QRDAMP Lanczos modes later cmrot,contact2,0.0,0.0,1.9 ! Apply rotational velocity along rotZ solve,elform ! 1st phase of perturbation ! Free blocks to see rigid body modes, if any. ! This is an example of modifying loads or B.C. in the 2nd ! phase of linear perturbation. vsel,s,,,1,2,,1 ddele,all,all allsel modopt,qrdamp,20,50,,on ! Try QRDAMP eigensolver !modopt,unsym,20,50 ! Alternatively use UNSYM eigensolver j 15-0.31718E-02 1183.7 j 1 solve ! 2nd phase of perturbation finish /post1 file,modal,rstp *get,FREQ_IMAG1,mode,1,freq,imag *get,FREQ_IMAG2,mode,5,freq,imag *get,FREQ_IMAG3,mode,10,freq,imag *get,FREQ_IMAG4,mode,15,freq,imag *get,FREQ_IMAG5,mode,20,freq,imag *stat,FREQ_IMAG1 *stat,FREQ_IMAG2 *stat,FREQ_IMAG3 *stat,FREQ_IMAG4 *stat,FREQ_IMAG5 finish
Example 9.6: Using Linear Perturbation to Predict a Buckling Load
!********** CASE 1 ********** !********** Base analysis *********** /prep7 ! Build the model et,1,188 sectype,1,beam,rect ! Define beam section secdata,0.2,0.4 mp,ex,1,1.0e8 ! Define material mp,dens,1,1000 mp,nuxy,1,0.3 local,11,0,0,0,0,45,0,0 ! Create model and mesh it csys,11 k,1,0,0,0 k,2,10,0,0 l,1,2 lesize,1,,,10 lmesh,1 allsel,all d,1,all,0 ! Fix end of beam allsel,all nrotate,all finish save,model1,db ! Save model as model1.db for use in cases 2 and 3 /solu antype,static outres,all,all f,2,fx,-1000.0 ! Buckling load prediction is independent of ! this load level because base analysis is linear rescontrol,linear,all,1 ! Needed to generate restart file solve finish !********** Linear perturbation buckling analysis - first phase ********** /solu antype,static,restart,,,perturb ! Restart the linear base analysis perturb,buckle,,,allkeep ! This is a LP eigen-buckling analysis solve,elform !********** Linear perturbation buckling analysis - second phase ********** f,2,fx,-10.0 bucopt,lanb,2,,,range mxpand,2,,,yes solve finish /post1 file,,rstp set,1,1 *get,loadfactor,active,0,set,freq /com,******************************************************************* /com, Case 1: Linear base analysis, Eigenvalue buckling analysis /com, Buckling load is: Fbuckling = 0 + Lambda *(Fperturbed) /com, /com, Expected load factor = 66.0258 /com, predicted Fbuckling = 0-66.0258*10 = -660.258 /com, /com,******************************************************************* *stat,loadfactor finish /delete,,rstp /clear,nostart !********** CASE 2 ********** resume,model1,db !********** Base analysis ********** /solu antype,static outres,all,all nlgeom,on ! Base analysis is nonlinear rescontrol,define,all,1 nsubs,2,10,2 time,1 f,2,fx,-100.0 ! Buckling load prediction is dependent on ! this load level because base analysis is nonlinear solve finish !********** Linear perturbation buckling analysis - first phase ********** /solu antype,static,restart,,,perturb ! Restart at the end of loadstep perturb,buckle,,,allkeep solve,elform !********** Linear perturbation buckling analysis - second phase ********** outres,all,all f,2,fx,300 bucopt,lanb,2,,,center ! Use CENTER option (default), we don't know if load factor ! is negative or positive mxpand,2,,,yes solve finish /post1 file,,rstp set,1,2 *get,loadfactor2,active,0,set,freq /com,******************************************************************** /com, Case 2: Nonlinear base analysis, Eigenvalue buckling analysis /com, Buckling load is: Fbuckling = Frestart + Lambda *(Fperturbed), /com, The CENTER option is used /com, /com, Expected load factor = -1.868 /com, predicted Fbuckling = -100-1.868*300 = -660.4 /com, /com,******************************************************************** *stat,loadfactor2 finish /delete,,rstp /clear,nostart !********** CASE 3 ********** resume,model1,db !********** Base analysis ********** /solu antype,static outres,all,all nlgeom,on ! Base analysis is nonlinear rescontrol,define,all,1 nsubs,10,10,10 time,1 f,2,fx,-400.0 ! Buckling load prediction is dependent on ! this load level because base analysis is nonlinear solve finish !********** Linear perturbation buckling analysis - first phase ********** /solu antype,static,restart,1,5,perturb ! Restart in the middle of loadstep perturb,buckle,,,allkeep solve,elform !********** Linear perturbation buckling analysis - second phase ********** outres,all,all f,2,fx,-500 bucopt,lanb,2,,,range ! Expected load factor is greater than zero; no need to use CENTER mxpand,2,,,yes solve finish /post1 file,,rstp set,1,1 *get,loadfactor3,active,0,set,freq /com,******************************************************************** /com, Case 3: Nonlinear base analysis, Eigenvalue buckling analysis /com, Buckling load is: Fbuckling = Frestart + Lamda *(Fperturbed) /com, No CENTER Option is used and restarting from middle. /com, /com, Expected load factor = 0.9205 /com, predicted Fbuckling=-400*0.5-0.9205*500=-660.25 /com, /com,******************************************************************** *stat,loadfactor3 finish
Example 9.7: Linear Perturbation (Prestressed) Harmonic Analysis
/prep7 ! Build the model et,1,188 sectype,1,beam,rect ! Define beam section secdata,0.2,0.4 mp,ex,1,2.0e11 ! Define material mp,dens,1,7800 mp,nuxy,1,0.3 k,1,0,0,0 ! Create model and mesh it k,2,4,0,0 l,1,2 lesize,1,,,4 lmesh,all allsel,all nsel,s,loc,x,0 d,all,all,0 ! Fix end of beam nsel,all finish /solu antype,static nsubs,10,10,10 time,1.0 nlgeom,on nsel,s,loc,x,4 f,all,fx,1e5 f,all,fy,-1e6 nsel,all rescontrol,define,all,1 ! Needed to generate restart file cnvtol,f,,1e-3 ! Tighter tolerance than default for better accuracy cnvtol,m,,1e-4 solve finish ! Completion of nonlinear base analysis ! ! CASE 1 ! ! Linear perturbation modal analysis starts here /solu ! First phase of linear perturbation antype,static,restart,1,5,perturb ! Restart in the middle perturb,modal,,,allkeep solve,elform nsel,s,loc,x,4 ! Second phase of linear perturbation ddele,all,ux nsel,all modopt,lanb,24 ! Compute all the modes possible mxpand,24,,,yes solve finish ! ! Linear perturbation ends here ! ! MSUP harmonic analysis starts here, uses modes from linear perturbation ! ! MSUP is a downstream analysis /solu antype,harmonic hropt,msup,24 outres,all,all harfrq,23.5,24.5 nsubs,10,10,10 kbc,1 nsel,s,loc,x,4 f,all,fy,-1e7,2000 nsel,all solve finish ! ! Expansion pass /solu expass,on outres,all,all numexp,all,,,yes solve finish ! ! End of linear perturbation based MSUP harmonic /post26 n1=node(4,0,0) nsol,2,n1,u,y rforce,3,1,f,y,fy1 prcplx,1 /com,******************************************************************* /com, Case 1 : Perturbed MSUP harmonic analysis (extracting all the /com, modes for best accuracy) /com,******************************************************************* prvar,2,3 finish /clear,nostart ! ! CASE 2 ! ! Linear perturbation full harmonic analysis starts here /solu ! First phase of linear perturbation antype,static,restart,1,5,perturb ! Restart in the middle perturb,harmonic,,,allkeep solve,elform nsel,s,loc,x,4 ! Second phase of linear perturbation ddele,all,ux nsel,all hropt,full harfrq,23.5,24.5 nsubs,10,10,10 kbc,1 nsel,s,loc,x,4 f,all,fy,-1e7,2000 nsel,all solve finish /post26 file,,rstp n1=node(4,0,0) nsol,2,n1,u,y rforce,3,1,f,y,fy1 prcplx,1 /com,******************************************************************* /com, Case 2: Perturbed FULL harmonic analysis, repeating /com, the same restart point from base analysis /com,******************************************************************* prvar,2,3 finish
Example 9.8: Linear Perturbation Substructure Generation Pass Followed by Use and Expansion Passes
/title, An example of LP substructure (CMS) generation, use, and expansion pass /prep7 et,1,185 mp,ex,1,2.0e11 ! Define material mp,dens,1,7800 mp,nuxy,1,0.3 block,0,4,0,2,0,0.50 ! Create model and mesh it esize,0.5 vmesh,1 allsel,all nsel,s,loc,x,4 cm,interface,node nsel,all nsel,s,loc,x,0 d,all,all,0 nsel,all finish /filname,gen1 /solu antype,static nlgeom,on rescontrol,define,all,1 time,1.0 kbc,0 nsubs,10,100,10 autots,on nsel,s,loc,x,2 nsel,r,loc,y,2 d,all,uy,-0.1 ! Displacement load allsel,all solve save finish /com, LP procedure to create the prestressed CMS /solu antype,static,restart,,,perturb perturb,substructure,,, solve,elform seopt,gen1,2 cmsopt,fix,10 cmsel,s,interface,node m,all,all allsel,all solve save finish /clear,nostart /com, use this prestressed CMS element /filnam,use /prep7 et,1,50 se,gen1 finish /solu antype,modal modopt,lanb,10 mxpand,10,,,yes outres,all,all solve save finish /clear,nostart /com,expand this CMS to get result from original structure /filnam,gen1 resume,,db /solu expass,on seexp,gen1,use outres,all,all numexp,all,,,yes solve finish /post1 file,gen1,rst set,list set,1,1 prnsol,u,sum ! Print displacements prrfor ! Print total reaction forces /show,jpeg plnsol,u,sum ! Plot displacements finish
Example 9.9: Linear Perturbation Substructure with Two Generation Passes, Use Pass, and Two Expansion Passes
/title, An example of Linear Perturbation Substructure (CMS) - 2-generation passes, use pass, 2-expansion passes /filnam,model /prep7 et,1,182 mp,ex,1,2.0e11 mp,dens,1,7800 mp,nuxy,1,0.3 mp,betd,1,1.0e-5 rect,0,4,0,2 esize,0.25 amesh,1 allsel,all nsel,s,loc,x,0 cm,comp1,node nsel,all nsel,s,loc,x,2 cm,comp2,node nsel,all nsel,s,loc,x,4 cm,comp3,node nsel,all nsel,s,loc,x,0,2 cm,nodese1,node nsel,all nsel,s,loc,x,2,4 cm,nodese2,node nsel,all nsel,s,loc,x,4 nsel,r,loc,y,2 cm,load,node nsel,all nsel,s,loc,x,0 d,all,all,0 nsel,all finish /com, Nonlinear static solution /solu antype,static nlgeom,on rescontrol,define,all,1 time,1.0 kbc,0 nsubs,10,10,10 nsel,s,loc,x,4 nsel,r,loc,y,2 d,all,uy,-0.001 allsel,all solve save finish /com, LP procedure to create the prestressed CMS - Generation pass 1 /solu antype,static,restart,1,5,perturb ! Restart from the middle perturb,substructure,,,nokeep ! Perform perturbed substructure analysis solve,elform seopt,gen1,3 ! Generate superelement gen1, K, M and C cmsopt,free,10 ! Free interface method cmsel,s,comp1,node ! Define master nodes cmsel,a,comp2,node m,all,all allsel,all cmsel,s,nodese1,node esln,s,1 nsle,s solve ! Solve a portion of the model save,gen1,db ! Save .db as gen1.db allsel,all finish /com, Manually rename the files to generate the necessary files for expansion pass !This can be replaced by issuing LPnameKey = ON on SEOPT command. See second generation pass. /copy,model,esav,,gen1,esav /copy,model,emat,,gen1,emat /copy,model,seld,,gen1,seld /copy,model,cms,,gen1,cms /copy,model,full,,gen1,full /copy,model,LN22,,gen1,LN22 /clear,nostart /com, LP procedure to create the prestressed CMS - Generation pass 2 /filname,model resume,,db finish /solu antype,static,restart,1,5,perturb perturb,substructure,,,nokeep solve,elform seopt,gen2,3,2,,,,,on ! LPnameKey = ON to avoid copying manually ! esav, emat, seld, cms, full, LN22 files ! Jobname in expansion pass must be 'gen2' cmsopt,free,10 ! Free interface method cmsel,s,comp2,node ! Define master nodes cmsel,a,comp3,node m,all,all allsel,all cmsel,s,nodese2,node esln,s,1 nsle,s solve ! Solve a portion of the model save,gen2,db allsel,all finish /clear,nostart /com, Use this prestressed CMS element /filnam,use /prep7 et,1,50 se,gen1 se,gen2 nsel,s,loc,x,0 d,all,all,0 allsel,all save finish /solu antype,modal modopt,qrdamp,10,,,off mxpand,10,,,yes solve save finish /clear,nostart /com, Expand this CMS to get result from original structure - Gen1 /filnam,gen1 resume,,db finish /solu expass,on seexp,gen1,use outres,all,all numexp,all,,,yes solve save finish /clear,nostart /com, Expand this CMS to get result from original structure - Gen2 /filnam,gen2 resume,,db finish /solu expass,on seexp,gen2,use outres,all,all numexp,all,,,yes solve save finish /clear,nostart /com, For combination, results of the different portions should be extracted /com, from the entire model /com, Write the results of Gen1 nodes in final_gen1.rst /post1 resume,gen1,db file,gen1,rst cmsel,s,nodese1,node esln,s,1 *do,i,1,10 append,1,i reswrite,final_gen1 *enddo finish /com, Write the results of Gen2 nodes in final_gen2.rst /clear,nostart /post1 resume,gen2,db file,gen2,rst cmsel,s,nodese2,node esln,s,1 *do,i,1,10 append,1,i reswrite,final_gen2 *enddo finish /com, Combine the results of Gen1 and Gen2 /clear,nostart /filnam,final_gen1_gen2 /post1 cmsfile,add,final_gen1,rst,off cmsfile,add,final_gen2,rst,off set,list set,first prnsol,u,sum ! Print displacements /show,jpeg plnsol,u,sum ! Plot displacements fini /exit,nosave