1、,A Method for Calculating Accurate PSD Reaction Loads,Alex GrishinSenior Consulting EngineerPhoenix Analysis & Design Technologies,About PADT,Engineering Services CompanyCAE Services and SalesRecognized Leader in Mechanical SimulationSoftware Development and Process AutomationSales, Support and Trai
2、ning for ANSYS, Inc. ProductsManufacturing TechnologiesIn-House Rapid Prototyping (SLA, SLS, FDM, Model Making)Injection Molding Services (In-house and off-shore)System R&DDesign with a Difference: Aerospace, Automotive, Alternative Energy, Consumer Products, Medical, Semiconductor EquipmentIncorpor
3、ated in March, 1994 with a simple goal:Utilize CAE Technologies to Provide Mechanical Engineering Services in a Timely and Affordable MannerFacilities20,000 ft2 at ASU Research Park in Tempe, Arizona2/3 Office, 1/3 Shop & LabPeople52 Full Time and HiringGreat Educational Backgrounds + Critical Indus
4、try BackgroundsBalanced Staff:Mechanical, Aerospace, Manufacturing & Electrical EngineersTechnicians, Sales, Administration, IT,Problem Statement,PADT received a technical support call:“When I do an FSUM on my PSD results my results are ridiculously high. This makes no sense. ANSYS gives bad results
5、. Fix it”We looked into itANSYS was summing the forces correctlyProblem is that all forces are positiveSum all positive values, you get a high valueVery typical issue with post-processing PSD resultsNeeded to find an accurate way to get reaction loads by keeping sign while calculating,Simple Example
6、 Shows Issue,Make a beam modelSolve one modeDo PSD with one modeLook at displacement and reaction loads,Simple Example Shows Issue,Simple Example Shows Issue,Simple Example Shows Issue,For first mode (Set, 1,1), you see expected up/down reaction force to remove moment,Simple Example Shows Issue,For
7、PSD results, reactions are positiveFSUM Results,Solution 1: Scale Mode by Mode Coefficient,There is a suggestion in the tech support (Knowledge Base) database:Multiply Dominant Mode From PSD Analysis By Mode CoefficientVery easy to do:*get,mc1,mode,1,mcoefmc1 = sqrt(mc1)set,1,1,mc1cmsel,s,nbasefsum,
8、For beam example Fsum(Y) = 0.00757Great if one mode dominatesUse shape functions to see if this is true,Solution 2: Miles Equation,There is a “hand calc” for single mode excitationCalled Miles Equation,Solution 2: Miles Equation,http:/femci.gsfc.nasa.gov/random/MilesEqn.html,Solution 2: Miles Equati
9、on,Base Reaction Force Estimate Based On Miles EquationFor our beam exampledamping ratio = .05Grms = sqrt(pi/2*f1*Q*A)Grms = sqrt(3.14159/2*36.69*10*.0623)Grms = 5.992gFbase = Meffy*Grms*386.4Fbase = 3.29e-6*5.992*386.4Fbase = 0.0076 lbf,Solution 3: Reaction Force Covariance,Perform Reaction force c
10、alculation with full Nodal reaction force covariance matrix to retain signValid for ANY number of nodes (DOFs)Works for multiple dominant modesThe tech support call was just such a caseImplemented in psdfsum.mac,Use PSDFSUM Only On base nodes:If you are looking at the base nodes of canilevered, or l
11、ong slender members, only the diagonals of the covariance matrix are neededDiagonal terms are the mode coefficientsYou can only *get the diagonal terms If you want non-base nodes for any arbitrary system you need:Full modal coordinate covariance matrixPSDFSUM macro may be modified to do this,Solutio
12、n 3: Reaction Force Covariance,Solution 3: Reaction Force Covariance,The Math:,The mean square reaction force at any DOF, u may be expressed as:,where is the variance of the reaction force at any DOF u, and are the eigenforces corresponding to this DOF. C is the modal covariance covariance matrix, g
13、ive by:,(6),Solution 3: Reaction Force Covariance,If, however, one wants a nodal component reaction, using FSUM for example, equation (6) becomes:,(7),Which IS WRONG!,Solution 3: Reaction Force Covariance,Equation (7) will always yield a gross overestimation of the mean square force reaction because
14、 it sums mean square values without regard to their sign! To remedy this, first rewrite equation (7) as:,(8),Solution 3: Reaction Force Covariance,And then note that an effective fsum:,with restored relative signs may be retrieved by selecting an arbitary row of equation (8) and dividing by the squa
15、re root of its diagonal member!:,Solution 3: Reaction Force Covariance,And for a given a given spatial direction, fsum may be calculated according to:,Resulting in a reliable value for the RMS reaction force of the nodal component. Note that the terms in equation (9) retain their sign RELATIVE TO TH
16、E DIAGONAL MEMBER OF THAT ROW. This reminds us that we really dont know the absolute sign of an RMS quantity :,Solution 3: The PSDFSUM Macro,/post1!Select the component that has the nodes to get the reaction loads forcmsel,s,%arg2%! Get the number of nodes *get,nn,node,count!Create the array to hold
17、 the force data for a mode forces(i,j,k)!j = 1 will hold node number!j = 2-7 hold the 6 component forces/moments!*dim,forces,nn,7,arg1!Create the array to hold the forces as you sum across modes*dim,ff,nn,7!Create the pivot array*dim,pivot,7!Create the array to hold the model coeficients*dim,mc,arg1
18、!Get the modal coeficient for each mode solved*do,i,1,arg1 *get,mc(i),mode,i,mcoef*enddo,!Make sure you are in CSYS,0 and all elements are selectedcsys,0esel,all!Place the node number in the num,1,1 position of forces()ind=0*do,i,1,nn forces(i,1,1)=ndnext(ind) ind=forces(i,1,1)*enddo! Loop on Modes,
19、 getting forces for each specified node at each mode*do,j,1,arg1 set,1,j *do,i,1,nn nsel,s,node,forces(i,1,1) fsum,rsys,all *get,forces(i,2,j),fsum,0,item,fx *get,forces(i,3,j),fsum,0,item,fy *get,forces(i,4,j),fsum,0,item,fz *get,forces(i,5,j),fsum,0,item,mx *get,forces(i,6,j),fsum,0,item,my *get,f
20、orces(i,7,j),fsum,0,item,mz *enddo *enddo,Solution 3: The PSDFSUM Macro,!Create a pivot vector telling us where there is a non-zero force! (avoids a devide by zero)*do,j,2,7 pp = 1 *do,i,1,nn *if,forces(i,j,1),ne,0,then pivot(j) = i *exit *else pivot(j) = i *endif *enddo*enddo!Loop on modes, loop on
21、 nodes! Sum forces as you go*do,j,1,arg1 *do,i,1,nn ff(i,2) = ff(i,2) + forces(pivot(2),2,j)*forces(i,2,j)*mc(j) ff(i,3) = ff(i,3) + forces(pivot(3),3,j)*forces(i,3,j)*mc(j) ff(i,4) = ff(i,4) + forces(pivot(4),4,j)*forces(i,4,j)*mc(j) ff(i,5) = ff(i,5) + forces(pivot(5),5,j)*forces(i,5,j)*mc(j) ff(i
22、,6) = ff(i,6) + forces(pivot(6),6,j)*forces(i,6,j)*mc(j) ff(i,7) = ff(i,7) + forces(pivot(7),7,j)*forces(i,7,j)*mc(j) *enddo*enddo,! zero summed values (just in case)ffx = 0ffy = 0ffz = 0mmx = 0mmy = 0mmz = 0 ! To get toal forces, loop on each node! Summing the calculated force over the modes devide
23、d by the sqrt of the pivot value*do,i,1,nn *if,ff(pivot(2),2),ne,0,then ffx = ffx + ff(i,2)/sqrt(ff(pivot(2),2) *endif *if,ff(pivot(3),3),ne,0,then ffy = ffy + ff(i,3)/sqrt(ff(pivot(3),3) *endif *if,ff(pivot(4),4),ne,0,then ffz = ffz + ff(i,4)/sqrt(ff(pivot(4),4) *endif *if,ff(pivot(5),5),ne,0,then
24、mmx = mmx + ff(i,5)/sqrt(ff(pivot(5),5) *endif *if,ff(pivot(6),6),ne,0,then mmy = mmy + ff(i,6)/sqrt(ff(pivot(6),6) *endif *if,ff(pivot(7),7),ne,0,then mmz = mmz + ff(i,7)/sqrt(ff(pivot(7),7) *endif*enddo,Solution 3: The PSDFSUM Macro,!Calculat absolute values of sumffx = abs(ffx)ffy = abs(ffy)ffz =
25、 abs(ffz)mmx = abs(mmx)mmy = abs(mmy)mmz = abs(mmz)!Display/uis,msgpop,1*msg,note,ffx,ffy,ffz,mmx,mmy,mmz fx = %g %/& fy = %g %/& fz = %g %/& mx = %g %/& my = %g %/& mz = %g allsel,/uis,msgpop,0!Clean up arraysforces=ff=mc=pivot=,Solution 3: Sum Over Modes,Results for Beam Model.00757 lbf,Summary for Simple Test Case,Same answer for all three methodsVerified for dominant mode Case,PSDFSUM,