Home
A Guide to Static Reduction
Contents
1. node set tempvar 1 fclose read input file if not found see if the command generate is after the node set elseif count input file length i 0 count 20 fclose read input file read input file fopen input file r find line Nset nset nodeset name generate while i 0 count count 1 current line fgetl read input file i strcmp current line find line if count input file length break end end if still not found generate an error message if count input file length error Error cannot find nodeset in input file oe end if found once generate is added import the node set temp textscan output textscan read input file d delimiter node info temp textscan output 1 node set zeros 1 1 node info 1 2 node info 1 1 node info 1 3 for i 1 length node set node set 1 i node info 1 1 i 1 node info 1 3 oe end fclose read input file end 25 Sort Node Set check if sorting inputs exist and sort the node set if they do oe oe if exist sorting DOF var 1 find line where node number and position coordinates are listed find line Node i 0 count 0 read_input_file fopen input_file r while i 0 count count 1 current line fgetl read input file i strcmp current line find line if count in
2. Once the global stiffness matrix K and the sets of contact externally loaded and internal M nodes have been imported into MATLAB as described in B the global stiffness matrix can be re partitioned into several sub matrices as in equation 7 which is reproduced here for convenience f KE KIE KC ul y Kf KEE KEC uE f KC KOE KCC u The L matrix may be then calculated using equation KEE KEC KE u L KOE Kec K EK 1 K KTT which can subsequently be partitioned and used to calculate the reduced contact stiffness mat rix K and also the K matrix which is used to create the load vector f For the force controlled case these matrices are calculated as in equation KE LCE ee KC E LCE rrr Lec and for the displacement controlled case as in equation KE LCE Ko L The code for a MATLAB function that reduces the global stiffness matrix A and outputs the K KP A B C matrices is provided in 8 A 4 This function is named static reduction and has five required inputs the global stiffness matrix K the sets of internal externally loaded and contact M nodes and the specification of whether the external load is applied in force force or displacement control displ This function then outputs the K E 17 KT A B C matrices in that order i e KC KE A B C static reduction K internal nodes ext loaded nodes contact nodes force for the force control cas
3. end A KC degree of freedom one degree of freedom one B KC degree of freedom two degree of freedom one C KC degree of freedom two degree of freedom two 32 A 8 MATLAB function to create f for two body problems from 5 5 To create a MATLAB function that manipulate the load vector f for the problem of con tact between two elastic bodies copy the following code into a m file and save the script as create two body load vector m function load vector create two body load vector body one KC body two KC body one fw body two fw 2 Create fw For Two Elastic Bodies if strcmp body one fw none 1 body one fw zeros length body one KC 1 1 elseif strcmp body two fw none 1 body two fw zeros length body two KC 1 1 else end load vector body one KC body two KC eye size body two KC body one fw body one KC body two KCWoody two fw 33 A 9 Static reduction of the example model from 8 2 1 A MATLAB code is provided below that performs the static reduction and creates the K A B C matrices and the f loading vector for a pressure applied to the top of the ex ample model created in 2 1 First the case of a downward pressure applied to the top of an elastic square in contact with a rigid plane obstacle is considered Then the elastic elastic con tact between the faces of two elastically similar blocks is considered The edge
4. load distribution DOF one j 1 load_distribution 2 j 1 2 1 load distribution DOF two j 1 end fw unsorted KExload_distribution 30 A 6 MATLAB function to reorganise f from To create a MATLAB function that reorganises the load vector f so that it is compatible with the A B C matrices copy the following code into a m file and save the script as resort load vector m function load vector resort load vector fw load vector Re sort Node Set load_vector zeros length fw_load_vector 1 9 create a vector of even rows and of odd rows for j 1 1length load vector 2 load vector j 1 fw load vector 2 j 1 1 1 load vector length load vector 2 4j 1 fw load vector 2 j 1 2 1 end 3T A 7 MATLAB function to combine K matrices from 5 4 To create a MATLAB function that combines two K matrices to produce the K matrix for the contact of those two elastic bodies copy the following code into a m file and save the script as merge matrices m function KC A B C merge matrices body one KC body two KC Merge KC Matrices KC body one KC body two KC eye size body two KC body one KC Create A B C Matrices degree of freedom one zeros 1 length KC 2 degree of freedom two zeros 1 length KC 2 for j 1 1length KC 2 degree of freedom one 1 j3 2 j 1 1 degree of freedom two 1 j 2 j 1 2
5. mpstep first half of the elements equal to 1 and the second half of the elements equal to 1 will not work with an odd number of externally loaded nodes One of these options must be input for degree of freedom 1 and another for degree of freedom 2 although in many cases one of the distributions will be zero Whether the problem is force controlled or displacement controlled does not enter into this function and is determined by the KT matrix which results from the static reduction in 8 1 If the problem is force controlled the the load distribution represents f and if the problem is displacement controlled then the load distribution represents u This function then outputs the f load vector corresponding to the external load that was specified which is partitioned to be compatible with the original the force and displacement vectors organised as in equation T fE Uns pi q2 P2 93 P3 QN HN L G T u v1 W1 V2 Uo U3 W3 UN UN E This is how the load vector f must be organised if it is to be further manipulated to be used in a contact problem between two elastic bodies as is described in 5 5 If however contact between a single elastic body and a rigid surface is to be considered then this vector must be reorganised so as to be compatible with the A B C matrices using the MATLAB function that is described in 8 5 3 For most problems there will be more than one applied load i e a normal l
6. static reduction K internal Mnodes ext loaded Mnodes Mnodes contact bodyl force KC displ KE displ static reduction K internal Mnodes ext loaded Mnodes Mnodes contact body2 displ 9 create load vector fw pressure unsorted create load vector KE zero constant fw pressure resort load vector fw pressure unsorted merge matrices body one KC KC force body two KC KC displ twobody KC twobody A twobody B twobody C merge matrices body one KC body two KC twobody fw pressure create two body load vector body one KC body two KC fw pressure unsorted none 34
7. This can be achieved by inputting either 1 or 2 in the fourth input position of the function depending on whether A node s displacement in direction 1 or 2 is not restricted respectively 3 5 3 Importing M nodes of each direction separately In some cases the two M nodes corresponding to one A node may belong to different categor ies Suppose for example that a displacement controlled load is to be applied to a group of nodes in direction 1 but that their displacement in direction 2 is not restricted or controlled In this situation the M nodes corresponding to direction 1 are to be imported and included in the set of externally loaded nodes while the M nodes corresponding to direction 2 are to be imported and included in the set of internal nodes In situations such as this in which the two M nodes corresponding to each A node in the Node set belong to different categories the Node set must be imported into MATLAB twice First the Node set must be imported with the fourth input option as 1 Next the Node set must be imported again except this time with the fourth input set as 2 These two sets of M nodes can then be included in the static reduction as different categories of nodes 3 5 4 Sorting a Node Set For some Node sets the nodes must be listed in a particular order e g the set of contact nodes Input positions five and six of the function import node set enable the user to sort the nodes in the Node set that is to be imported
8. and search for the string of code shown directly below STEP Step 1 Directly above this line of code some additional lines of code with the command to export the stiffness matrix must be added to the nput file For ABAQUS version 6 11 the following code must be added STEP name exportmatrix xMATRIX GENERATE STIFFNESS xMATRIX OUTPUT STIFFNESS FORMAT MATRIX INPUT xEND STEP k k For versions of ABAQUS prior to 6 11 the code below must be added xSTEP name exportmatrix xMATRIX GENERATE STIFFNESS xEND STEP k k Once the Input file is modified as described above the global stiffness matrix can be exported by running the modified nput file in ABAQUS as described in 2 2 Once the Job has completed the global stiffness matrix should appear in ABAQUS s Job folder which is again usually the C Temp folder If this procedure is performed on the Input file provided in 8 A 1 then the res ulting mtx file should appear in the C Temp folder as the file example 1 STIF1 mtx Note that the mt x file format is ABAQUS s matrix output format and that this format can be read in a normal plain text editor t xt file extension For an example Input file see S A i1 which contains the a copy of the Input file created in sp 1 gt The author recommends the program Notepad due to several useful features that are very helpful when
9. stiffness values are specified between individual degrees of freedom Thus using the A node notation both the A node number and the degree of freedom must be specified This is the reason that the two columns in the mt x file correspond to only one M node or degree of freedom Column 1 2 3 4 5 Symbol a b C d k Quantity A node DOF of a A node DOF ofc Stiffness value Table 1 A table showing the quantity that is contained in each column of the mt x file 3 3 1 Input parameter and example usage MATLAB code is provided in 8 A 2 for a function named import_stiffness_matrix This function imports the data contained in a mtx file into 2M x 2M sparse matrix The only input parameter that must be input into this function is the file path of the mtx file e g example 1_STIF1 mtx The global stiffness matrix is output as a 2M x 2M sparse matrix and is this function s only output variable For example if both the matrix file example 1 STIF1 mtx and the function file import stiffness matrix m are con tained in MATLAB s working directory then the following line of code will import the global stiffness matrix into the MATLAB variable K K import stiffness matrix example 1 STIFl mtx 3 4 Create Node sets in ABAQUS To perform the static reduction the M nodes must first be categorised as being internal ex ternally loaded or along a contact interface Although it is possible to cate
10. the first step is to convert the mt x file which contains the ABAQUS finite element model s global stiffness matrix into MATLAB s sparse matrix format ABAQUS s sparse matrix format consists of R rows and 5 columns where R is the number of non zero stiffness values in the global stiffness matrix The 5 columns of the sparse matrix in the mt x file are denoted using the letters a b c d k and the quantity contained in each column is listed in Table 1 Each row of the mt x file specifies the stiffness value k between degree of freedom b of A node a and degree of freedom d of A node c where a c 1 M where M is the total number of A nodes in the finite element model and where b d 1 2 for two dimensional models The global stiffness matrix contained in the mt x file is first to be read in MATLAB using the function dmlread This R x 5 matrix is then to be used to compose a 2M x 2M sparse matrix in which the value of each element in the matrix is the stiffness value k between two M nodes The row and column numbers corresponding to the each stiffness value represent the two M nodes that the stiffness value connects i e the row number of the stiffness value corresponds to the single M node that is represented by the first and second columns of the mtx file and the column number corresponds to the single M node that is represented by the third and fourth columns of the mt x file pin the global stiffness matrix
11. 4 3 Determine the reduced stiffness matrix and the load vectors and to partition it as In order to calculate the reduced contact stiffness matrix IK and the load vector f it must first be determined whether the external loads are applied in force or displacement control It is important to emphasise that the reduced stiffness matrix K is affected by whether the external loads are applied in force control or displacement control This is because the reduced contact stiffness matrix is the solution of a problem in which the prescribed loading conditions are replaced by equivalent homogeneous conditions These conditions are traction free in the force controlled case and zero displacement in the displacement controlled case 4 3 1 Force control For the case when the external load is applied in force control the distribution of force at the nodes along which the load is applied f is known The first row of equation can be written out and used to solve for u as F Le u L Cus LEEu f Leu qe pg f Leu 14 13 Then writing out the second row of equation and substituting in equation gives ge Leu LC u LOE I FN Lra 4 LUA _ Log Lee f L _ LCE Dee LY ue 15 which can be written in the form given in equation 5 which is reproduced here for convenience f fe Kou where f K f 16 and K L L 17a K L _ LCE fF LPC 17b 4 3 2 Displacement contro
12. ascending These four Node sets can then be grouped according to their categories contact Mnodes Mnodes contact ext loaded Mnodes Mnodes ext loaded internal Mnodes Mnodes internal Mnodes top internal 10 4 Static Reduction Procedure Theory In this section the mathematical and theoretical basis of the static reduction procedure is de scribed First the case of a single elastic body in contact with a rigid surface is considered which is then extended to the case of contact between two elastic bodies 4 1 Sign Convention Given that in its current form this static reduction procedure applies only to two dimensional problems there are two degrees of freedom at each A node see 8 B2 Therefore for an individual A node along the contact interface 7 the nodal force J and displacement uf can be written as Btn a Sta n where if a right hand x y coordinate set is defined at each A node with the positive y direction pointing towards the interior of the body then p q are defined as positive in the positive x y directions respectively and similarly for vj wj A diagram of this coordinate system is shown in Figure I Thus the force normal to the contact surface is considered positive when compressive and the normal displacement along the contact interface is similarly taken to be positive towards the interior of the body These two element column vectors which contain the nodal forces or displacements
13. coupled to be quantified which would enable an estimate to be made of the range of load over which the steady state is dependant on initial conditions 21 A Additional Material In this section supplemental material that is mentioned in the previous sections is provided Note that when copying and pasting code into a MATLAB m file some characters may not copy correctly A character for which this commonly occurs is Generally the error in transcription is consistent and so the Find amp Replace function in MATLAB can be used to remedy the error Errors also occasionally occur when copying the character _ A 1 The Input file for the ABAQUS model from Heading Job name example Model name Model 1 Generated by ABAQUS Student Edition 6 11 2 Preprint echo NO model NO history NO contact NO KA xx PARTS X xPart name RR example xNode t Le I 2 U L 3y Sisy I 4 r 0 5 Olen y 0 6 eT 0 d ly I 8 0 9 d T xElement type CPS4R La I 2 5 4 2 27 3 6p S 3 4 5 8 7 4 5 6 9 8 Nset nset PickedSet2 internal generate i 9 1 xElset lset PickedSet2 internal generate Lo A 5d xNset nset aa contact generate Tr Dy xNset nset b ext loaded generate Ly 3 xNset nset c internal generate 4 6 Section Section 1 Solid Section lset PickedSet2 material Material 1 U xEnd Part k k ASSEMBLY xAssembly n
14. for each individual contact A node j can then be used to create a column vector containing the full set of contact forces T f UL fS E 3a qi pi da P2 da Ha QNS DN 5 3b and contact displacements T ut uf u u auus 4a v1 Wy V2 W2 U3 W3 UN WN 4b where NY is the number of contact A nodes The relationship between contact forces and dis placements can now be written as f f tr Kou 5 where K is the reduced contact stiffness matrix which is positive definite and symmetric and f is a column vector with its elements organised in a similar fashion to f C that corresponds to the nodal forces that would arise as a result of an externally applied load if the displacements TNote that the ABAQUS model created in 8D 1 uses ABAQUS s default X Y global coordinate set where the positive Y direction points up and the positive X direction points to the right A square is drawn and the contact A nodes are taken to be along the bottom face Thus for this model the positive Y direction in ABAQUS s global coordinate system corresponds to the positive p and w directions and the positive X direction in ABAQUS corresponds to the positive q and v directions 11 at the contact A nodes were constrained to be zero i e u 0 4 20 Eliminate the internal degrees of freedom The force displacement relationship for the full stiffness matrix of a single elastic body in con tact with a rigid surfa
15. if exist DOF to import var DOF to import both end if DOF to import 1 matlab node set zeros 1 length abaqus node set for j 1 1length abaqus node set matlab node set 1 j 2 x abaqus node set 1 3 1 1 end elseif DOF to import matlab node set zeros 1 length abaqus node set for j 1 1length abaqus node set matlab node set 1 3j 2 x abaqus node set 1 3 1 2 end elseif strcmp DOF to import both 1 matlab node set zeros 1 2 xlength abaqus node set for j 1 1length abaqus node set matlab node set 1 2x j 1 1 matlab node set 1 2 j 1 2 end else 2 x 2 abaqus node set 1 abaqus node set 1 j 1 1 j 1 2 error Error incorrect input option selected DOF_to_import end 27 A 4 MATLAB function to create K K A B C from 8 5 1 To create a MATLAB function that performs the static reduction of the global stiffness matrix copy the following code into a m file and save the script as static reduction m function KC KE A B internal nodes C static reduction K ext loaded nodes contact nodes load type Static Reduction he submatrices of the global stiffness matrix ternal nodes internal nodes nal nodes ext loaded nodes oe create t KII K in KI K inter EI KIE IC K inter CI KIG E K ex K ex KEC K contact nodes eate the L matrix and submatrices using the submatric
16. mode then which body is designated 1 or 2 may be decided arbitrarily For the case of elastic elastic contact considered here the sign convention described in 8H 1 is adopted for each body separately Therefore along the contact interface p and p are both positive when compressive and point towards the interior of the respective body where the superscripts 1 2 denote the body to which the component pertains Thus when the two bodies are in contact Newton s third law requires that p p and q q which is equivalent to the statement f F f where the subscripts 1 2 denote the body to which the vector of contact force relates As a result of this sign convention subscripts are unnecessary for the vector of contact forces and the relationship between forces and displacements can be written as JO F Ku 21a fo f Kjus 21b where the subscripts 1 2 denote the body to which f K or u relate The contact displacements must satisfy the conditions vj vi vj 22a wj wj we 22b where the superscripts for v w are assigned in a similar fashion as for q p which is equival ent to the condition u MT L uS 23 In order to merge equations and 21b first equation 21b can be solved for u as fal c u Kd f 2 1 w uy Ky f fz 24 Then equation 24 can be substituted into equation 23 and solved for uf u uc us wl ea eIKT 32 uf wu K f f Q
17. on the Context Bar Then click Instance Create from the Menu Bar and in the window that appears click OK 10 To create a Step switch from the Assembly Module to the Step Module on the Con text Bar Then click Step Create from the Menu Bar and in the window that appears select the options Name Step 1 Insert new step after Initial Procedure type General and in the box directly below in the same window select the option Static General and then click Continue Then in the window that appears press OK Nodes may be selected either by holding the Shift key and selecting the nodes individually or by clicking and dragging mouse such that the selection field captures the desired nodes If for some reason undesired nodes are selected they may be removed from the selection by holding the Ct x1 key and clicking on the nodes to be deselected Note that Node sets appear in the Input file in the order in which they are created not in alphabetical order as they appear in ABAQUS E b ext loaded s c internal aa contact Figure 2 A diagram of the ABAQUS model which shows the three Node sets where the black circles represent individual nodes and the grey ellipses show the nodes to be included in each Node set 11 To create a Job switch from the Step Module to the Job Module on the Context Bar Then click Job Create from the Menu Bar and select the options Name exam
18. pair of adjacent internal M nodes must sum to zero ie f 0 The nodal forces must also sum to zero at M nodes along the outer surface of the body unless the M nodes are externally loaded along the contact interface or fixed in ABAQUS Therefore M nodes not falling into these categories are to be categorised as internal M nodes Note that M nodes that have boundary conditions applied to them in ABAQUS that restrict their motion are to be completely excluded from the reduction process By making use of the condition that f 0 equation 7 can be simplified First consider that the first row of equation 7 can be written as f 5 K u Ku K O uf 8 and the second two rows may be written as fE KP KEE KFC N ro k gE gee u 9 M nodes that are fixed in ABAQUS are to be completely excluded from the reduction process because by definition if their motion is restricted they are not degrees of freedom 12 By setting T 0 in equation 8 u can be solved for as 0 Ku K FuF Kul Ku i KlFu4E KC Cu Halo KE KIC u K uw uc I Ir 1 IE IC u u K K KM ue t 10 To eliminate u equation 10 can be substituted into equation 9 as fE KE KEE KEC u l fe L e KUE KCC j KEE KEC uE Kf jeer poc Lue e KEE KEC Kf KOE KCC It is now convenient to define a new matrix po E erp pen KCE KC K KTT KT L l 12 E LEE pee E fe fos LOC PE 13
19. processing Input files Notepad is free and can be downloaded at http notepad plus plus org 3 2 Convention for numbering degrees of freedom in MATLAB For two dimensional models each node in the ABAQUS model is associated with two degrees of freedom To refer to an individual node in the ABAQUS finite element model according to the node number assigned to it in ABAQUS the shorthand A node is used For the purposes of the static reduction procedure it is easier to work with individual degrees of freedom than with A nodes which have multiple degrees of freedom Therefore a new convention is adop ted in MATLAB in which each degree of freedom is assigned a number and is treated as an individual node To refer to an individual degree of freedom when numbered according to this new convention the shorthand M node is used The conversion from A nodes to M nodes is performed as M node 2 A node 1 DOF 1 where DOF is the degree of freedom of the A node that the M node represents Thus for two dimensional problems such that DOF 1 2 there are two M nodes corresponding to each A node Also note that as a result of this convention odd numbered M nodes correspond to degree of freedom 1 and even numbered M nodes correspond to degree of freedom 2 3 3 Import the ABAQUS global stiffness matrix into MATLAB Given that the static reduction procedure to be described is to be carried out using the MATLAB software package
20. that restrict the nodes motion If some direction of motion is restricted then the M nodes corresponding to this direction are to be completely excluded from the static reduction These M nodes are to be excluded because by definition they are not degrees of freedom It follows that 1f both degrees of freedom of a given A node are restricted within the ABAQUS model then both M nodes corresponding to this A node are to be completely excluded from the static reduction procedure In cases when only M nodes of a particular direction are to be imported into MATLAB a fourth input parameter can be entered into the function import node set The options for this parameter are 1 2 or both This parameter specifies which degree of freedom is to be imported into the row vector of M nodes the first output variable of this function This input parameter only affects the first output variable the M nodes and has no influence on the second output variable the A nodes If 1 is input then only M nodes of degree of freedom 1 are imported and similarly if 2 is input If both is input then both M nodes are imported from each A node in the Node set This is the default option i e both and is the option that is assumed if only the first three inputs are specified In the case described above in which one of the directions of motion of a group of A nodes is restricted only the direction that is not restricted is to be imported into MATLAB
21. 5 Note that the body to which f fu K relate to is denoted by a subscript whereas the body to which individual elements of the vectors PY and uf viz Dj dj Vj wj relate is denoted by a superscript This conven tion has been adopted because PY f uf K K already have superscripts and p qj vj wj already denote the node to which they relate with a subscript 15 Equation can then be substituted into equation 21a and simplified as f fi K uf fo fte K u KT 8 F fO f K U KY K3 f Ke KS P xo KS H f ft KFU KE KS fe f KF K 1 KTW fr KT K H eo where J is the identity matrix Equation can be written in the form given in equation 5 which is reproduced here for convenience FO f KU where f K9 K9 1 B ft K KS f 27a KC L K9 1 kj 27b 4 5 Repartition the vectors and matrices Following the static reduction the A nodes in the force and displacement column vectors are ordered such that each element alternates between normal and tangential terms i e f qi pi q2 P2 Q3 P3 QNS DN 28a C T u vi W1 V2 W2 U3 W3 UN UN 28b which also implies that adjacent stiffness values in the reduced contact stiffness matrix KT alternate between degrees of freedom in the same manner This can be inconvenient for many applications and it is usually more straightforward to order the matrices such that all t
22. Static reduction of two dimensional finite element models 20 05 13 Contents 2 2 Example ABAQUS Model Elastic on Rigid Contact 2 2 1 Create a simple example model in ABAQUS 3 2 2 Run an ABAQUS job from an Input file llle 5 3 Transfer data from ABAQUS to MATLAB 3 1 Modify the nput file and export the global stiffness matrix 3 2 Convention for numbering degrees of freedom in MATLAB 3 3 Import the ABAQUS global stiffness matrix into MATLAB aaau 6 6 7 7 3 3 1 Input parameter and example usage l l ss 8 3 4 Create Node sets in ABAQUS 2 22 8 3 5 Import the ABAQUS Node sets into MATLAB 8 3 5 1 Basic input parameters 2 o omo Re RR RE Cee RR EA 8 3 5 2 Importing M nodes of only one direction 9 3 5 3 Importing M nodes of each directionseparately 9 3 5 4 SortmgaNodeSel 5v RR RROCEEEEREEE E 9 0 he Hk eee oR en Bae Goo eons eos 4 1 4 Static Reduction Procedure Theory 11 Inc 11 VUELVE 12 ba A adds ected Ae ced 13 43 1 Forcecontrol 0 20 00 0200 000000002 eG 13 4 3 2 Displacement control 3244 X on SIRO Zoe ole eae G ae amp SO 14 4 4 Contact of two elastic bodies 0 0 0 ees 14 UC 49 4 47x 4 wR EE REG ES BEES 16 17 CR RS RSEN ROC a ea E ERE E NR 17 5 2 Createload vectors 22e 18 5 3 Reorganise load vector 2 1 rs 20 5 4 Create K for contact b
23. according to the nodes spatial coordinates in the finite element model The fifth input parameter can be input either as 1 or 2 and specifies the coordinate direction that the nodes are to be sorted with respect to The sixth input parameter can be input either as ascending or descending and specifies whether the nodes are to be sorted in ascending or descending order Note that if a Node set is to be sorted and parameters are input in the fifth and sixth posi tions then the fourth input parameter cannot be left blank and must be specified either as 1 2 or both Also note that sorting the Node set uses more computational resources than does importing a Node set without sorting it Therefore for the sake of computational efficiency Node sets should only be sorted when it is strictly necessary which it always is for the contact nodes and sometimes is for the externally loaded nodes It is worth mentioning that Node sets containing internal nodes should not be sorted 3 5 5 Examples To illustrate the use of the function import node set several examples are considered which use the nput file from the example model created in 8 D for demonstration In all the examples below it is assumed that this nput file and a file named import node set m which contains the function import node set are in MATLAB s working directory The most simple case of importing a Node set arises when importing A nodes that do not have any bound
24. ame Assembly X 22 xInstance name RR example 1 part RR example xEnd Instance X xEnd Assembly X xx MATERIALS X X xMaterial name Material 1 xElastic 2eXlT 0 3 STEP Step 1 xStep name Step 1 Static 14 5 La de6 05 1 k k xx OUTPUT REQUESTS k k xRestart write frequency 0 X X FIELD OUTPUT F Output 1 X Output field variable PRESELECT X X XK HISTORY OUTPUT H Output 1 X X xOutput history variable PRESELECT xEnd Step 23 A 2 MATLAB function to import a mtx file from 3 3 To create a MATLAB function that imports a mtx file into a MATLAB sparse mat rx copy the following code into a new MATLAB editor m file and save it as import stiffness matrix m function matlab stiffness matrix import stiffness matrix mtx file Import Stiffness Matrix abaqus stiffness matrix dlmread mtx file merge node number info from column 1 and DOF info from column 2 and store in the 1st column of a new matrix matlab nodes 1 2 abaqus stiffness matrix 1 1 abaqus stiffness matrix 2 merge node number info from column 3 and DOF info from column 4 and store in the 2nd column of a new matrix matlab nodes 2 2 abaqus stiffness matrix 3 1 abaqus stiffness matrix 4 extract the stiffness values from the mtx file and store in a double length vector stiffness val
25. ary conditions applied to them in ABAQUS are not along a contact interface and are not loaded in any way In such a case both M nodes from each A node are to be imported and this is done in the following MATLAB code Mnodes internal Anodes internal import node set example inp c internal 72 Suppose now that the top three nodes of the example model are to have a uniform external displacement applied to them in the vertical direction i e direction 2 but that direction 1 of these nodes is to be left free In this case the M nodes in direction 1 are to be included in the static reduction as internal nodes while the M nodes of direction 2 are to be included as externally loaded nodes Also because the load that is to be applied is uniform the order of the nodes in the Node set is not important Therefore these nodes can be imported using the following MATLAB code Mnodes top internal Anodes top internal import node set example inp b ext loaded 72 1 Mnodes ext loaded Anodes ext loaded import node set example inp b ext loaded 72 2 Finally the contact nodes must be loaded into MATLAB Suppose that the contact nodes are to be ordered from left to right This corresponds to increasing i e ascending values of direction 1 The code below imports the contact nodes in this order Mnodes contact Anodes contact import node set example inp aa contact 72 both 1
26. ate from the Menu Bar In the window that appears select the following options Name RR example Modelling Space 2D Planar Type Deformable Base Feature Shell Approximate Size 10 Then click Continue 3 To draw the Part click Add Line Rectangle from the Menu Bar For the starting coordinate type 1 1 and press Enter Then type 1 1 for the ending co ordinate and then press Enter Then press the Esc key once to exit the Rectangle function and click the Done button at the bottom left of the Viewport 4 To create a Material switch from the Part Module to the Property Module on the Context Bar Click Material Create from the Menu Bar and in the Note that A B means for the reader to select option B from drop down menu A window that appears click Mechanical Elasticity Elastic and in put the following values Young s Modulus 2e 11 Poission s Ratio 0 3 and then click OK 5 To create a Section click Section Create from the Menu Bar In the window that appears select the options Name Section 1 Category Solid Type Homogeneous and then click Continue In the window that appears select the option Material Material 1 leave the box Plane stress strain thickness unchecked and click OK 6 To Assign the Section to the Part click Assign Section from the Menu Bar then click on the part in the Viewport and then click the Done button at the bottom of th
27. ce can be written as f Ku 6 where f is a row vector of all nodal forces u is a row vector of all nodal displacements and K is the global stiffness matrix To reduce the global stiffness matrix K by eliminating the internal degrees of freedom first the global stiffness matrix K is to be re partitioned into several sub matrices This is much more easily done using the notation of M nodes than A nodes Therefore these sub matrices are created by grouping the stiffness values between various combinations of internal externally loaded and contact M nodes such that f KE KE KC ul fE KH KEE KEC uE 7 f KO KOE KEC u where the superscripts J E C correspond to the internal externally loaded and contact M nodes respectively Thus f 7 f f denote the nodal forces at the internal externally loaded and contact M nodes respectively and similarly for the nodal displacements u u u Ina similar fashion the global stiffness matrix K is partitioned into several sub matrices corres ponding to the stiffness values between the M nodes belonging to these three categories For example K corresponds to the stiffness values between internal M nodes and other internal M nodes K to the values between externally loaded M nodes and internal M nodes I P to the values between contact M nodes and externally loaded M nodes and so on Because only cases in which body forces are not present are to be considered the force at any
28. e Viewport In the window that appears select the options Section Section 1 Assignment From Section and click OK 7 To Mesh the Part switch from the Property Module to the Mesh Module on the Con text Bar Then click Seed Part from the Menu Bar and in the window that appears input the value Approximate global size 1 while leaving all other options at their default value and click OK Then click Mesh Part from the Menu Bar and press Enter 8 To make three Node Sets internal contact and externally loaded nodes first open the Set Manager by clicking Tools Set Manager from the Menu Bar In the window that appears click Create and in the subsequent window that appears select the options Name aa contact Type Node and click Continue Then select the three nodes along the bottom face of the square and then click the Done button at the bottom of the Viewport Repeat this process for the top three nodes naming the set b ext 1oaded and again for the middle three nodes naming the set c internalP Once these three Node Sets have been created click Dismiss on the Set Manager window A diagram of the ABAQUS model showing the three Node sets where the black circles represent individual nodes and the grey ellipses show the nodes to be included in each Node set is shown in Figure 9 To create an nstance in the Assembly first switch from the Mesh Module to the Assembly Module
29. e and KC KE A B C static reduction K internal nodes ext loaded nodes contact nodes displ for the displacement controlled case where the K C and K have not been repartitioned and are organised to be compatible with f and u as in equation G T f d q1 P1 92 P2 q3 P3 QNS PN C T u vi W1 V2 W2 V3 W3 UN UN and the A B C matrices are the repartitioned sub matrices organised to be compatible with PY and u as in equation 29 T T T 415 da da s QN P1 P2 P3 uty Dae q p u v1 U2 Us UN W1 W2 W3 mou fv w The K matrix is to be used to create the load vector f The IX matrix is provided for the case when the contact between two elastic bodies is to be considered and the two K matrices must be merged with another matrix prior to repartitioning If the problem to be considered is between a single elastic body in contact with a rigid surface then the A B C matrices output by this function can be used and the K matrix may not be required 5 2 Create load vectors The force displacement relation for the contact M nodes can be written as in equation 5 which is reproduced here for convenience FO f KU where the loading vector f is computed as in equation Pair for the force controlled case and as in equation Peg for the displacement controlled case The code for a MATLAB function that creates the load vector f is provided i
30. een the square s bottom face and a rigid plane obstacle as shown in Figure I Note that the Input file Figure 1 A diagram of a square in contact with a rigid plane obstacle along its bottom face showing the coordinate system adopted in the ABAQUS model and static reduction procedure Note that for this model a 1 produced by completing the steps in 2 1 is provided in full in 8 A 1 If the reader is already very familiar with ABAQUS then he or she may wish simply to review the Input file in 8 A 1 and then skip ahead to 8D 2 1 Create a simple example model in ABAQUS The process described in this section assumes that the reader has some basic familiarity with ABAQUS If the reader is unfamiliar with ABAQUS please quickly review 8 2 2 1 of the ABAQUS CAE User s Manual which gives the names of the various menus bars etc that will be referred to in this section The user s manual can be accessed from within ABAQUS by click ing Help Search amp Browse Manuals and then clicking the first link under Modelling and Visualization which is ABAQUS CAE User s Manual In order to make a basic model from which to extract the global stiffness matrix the reader should perform the following steps 1 First open ABAQUS Check that the Part Module is selected on the Context Bar To create a new Model click File New Model Database With Standard Explicit Model from the Menu Bar 2 To make a new Part click Part Cre
31. es of K KEE KEC KCE KCC KEI KCI x KII KIE KIC L 1 length KEE 1 1 length KEE 1 1 length KEE 1 length KEE 1 1 1ength L 1 HC i leng length K K E nal_nodes contact_nodes loaded nodes loaded nodes ext loaded nodes contact nodes Er contact nodes Lr rj Lr LT h KI iE E 1 1 1ength L 1 1l length L 1 KC and KE j if strcmp load_type force KC full LCC LCE LEE LE K full E LEE elseif _type displ KC i I Pi a oe K F E E LC iC e Lr Error incorrect load type selected Must be force or displ end Mak degree of freedom one degree of freedom two oe A B C Matrices zeros 1 length KC 2 zeros 1 length KC 2 for j 1 length KC 2 degree_of_freedom_one 1 j 2x j 1 1 degree of freedom two 1 j 2 j 1 2 end A KC degree of freedom one degree of freedom one KC degree of freedom two KC degree of freedom two degree of degree of 28 freedom one freedom two A 5 MATLAB function to create f from 8 5 2 To create a MATLAB function that creates a load vector f copy the following code into a
32. etween two elastic bodies 5 5 Create f for contact between two elastic bodies 20 6 Conclusions 21 A Additional Material 22 A 1 The Input file for the ABAQUS model from 82 1 2 22 A 2 MATLAB function to import a mtx file from 8 3 3 24 A3 MATLAB function to import the ABAQUS node sets Tan 25 A4 MATLAB function to create K K A B C from B l 28 A 5 MATLAB function to create f from 2 2 eee eee 29 31 32 A 8 MATLAB function to create f for two body problems from 55 33 A9 Static reduction of the example model from TRT 0 see ee 34 1 Introduction Here the theory and implementation of a procedure of sub structuring or static reduction is described which can be applied to two dimensional finite element models The implementation of the static reduction procedure is carried out using MATLAB and much of it assumes that the finite element model has been created using the commercial finite element software pack age ABAQUS CAE This just happens to the software used by the author however equivalent procedures could be performed on models made in other finite element packages and could be implemented using a difference software package as well At the current level of sophistication this procedure applies only to two dimensional quasi static linear elastic analyses in which body forces are not present Further this procedure currently
33. for convenience KC KE KS 1 Kt The code for a MATLAB function that merges two K matrices and creates a new K matrix for the case of these two elastic bodies in contact is provided in 8 A 7 This function is named merge matrices and has two input parameters the two K matrices that are to be merged The K matrix designated as body two must not have rigid body degrees of freedom Also note that the two K matrices to be merged must have the same number of A nodes distributed in the same way and in the same sequence The merge matrices function then outputs the reduced contact stiffness matrix K for the two bodies in contact as well as the associated A B C matrices as shown below KC A B C merge matrices body one KC body two KC Note that the KT matrix KC is organised to be compatible with the force and displacement vectors as in equation 28 and the A B C matrices A B C are the repartitioned sub matrices of this new K matrix 5 5 Create f for contact between two elastic bodies To create the load vector f for contact between two elastic bodies first the load vectors must be computed separately for each body in contact with a rigid plane obstacle These load vectors can then be manipulated as in equation 27b pe xeu er ree xt kg n 20 for the case when contact between these two elastic bodies is considered The code for a MATLAB function that creates the load vector f for the ca
34. gorise the M nodes manually in MATLAB for very simple models the purpose of this static reduction procedure is to increase the efficiency of processing models of significant complexity In these cases it is essential to have an automated process for categorising the M nodes To this end Node sets are to be created in ABAQUS which then appear in the nput file For complex models it is often better to create many Node sets in ABAQUS that group A nodes related to a particular feature together e g A nodes corresponding to a particular external load or boundary condition These various sets of A nodes can then converted to sets of M nodes in MATLAB which can then be concatenated into sets of contact externally loaded or internal M nodes 3 5 Import the ABAQUS Node sets into MATLAB The Node sets that are created in ABAQUS as described in B4 are listed in the ABAQUS Input file Therefore these Node sets can be imported into MATLAB by reading this file MATLAB code is provided in 8 A 3 for a function named import node set which reads an ABAQUS Input file searches for the Node set that is specified and imports the Node set into MATLAB This function outputs two MATLAB variables which are both row vectors The first output variable is a row vector containing the M nodes in the Node set that is specified and the second output variable is a row vector containing the A nodes 3 5 1 Basic input parameters The function import node set imports o
35. gu 2 nN 2 02 LU TO T else error Error incorrect load distribution selected for DOF1 Select Load Distribution for DOF 2 if strcmp load distribution DOF two zero 1 load distribution DOF two load zero elseif strcomp load distribution DOF two constant 1 load distribution DOF two load constant elseif strc load distribution DOF two constant 1 load distribution DOF two load constant elseif strc load distribution DOF two linear 1 load distribution DOF two load linear elseif strc load distribution DOF two linear 1 load distribution DOF two load linear elseif strc load distribution DOR two pmstep 1 load pmstep ones length KE 1 4 1 ones length KE 1 4 1 load distribution DOR two load pmstep elseif strcomp load distribution DOF two mpstep 1 load mpstep ones length KE 1 4 1 ones length KE 1 4 1 load distribution DOF two load mpstep o TO TO dod LD zuzu TO 29 else error Error incorrect load distribution selected for DOF2 end Create fw load distribution zeros 2xlength load_distribution_DOF_one 1 for j 1 length KE 1 2 load_distribution 2x j 1 1 1
36. he normal degrees of freedom and all the tangential degrees of freedom are grouped together as F 415 92 d3 QN P1 P2 P3 supy q p 29a C T T u vj V2 V3 Uy W1 W2 W3 WN v w 29b Clearly the terms in the reduced contact stiffness matrix K must be moved accordingly Following this reorganisation the reduced contact stiffness matrix I and can be repartitioned as A B Ke e 30 so that the force displacement relation can be written as q _ A BT v q tjale 6 lo lm f on 16 where f q p and is organised in a similar way to f Note that if the reader is considering a contact problem between two elastic bodies the matrices are not to be repartitioned until after having merged the loading vectors and matrices from the two problems i e this repartitioning is not to be done until the final K and f have been obtained S Static Reduction Procedure Implementation in MATLAB In this section the implementation in MATLAB of the procedure of static reduction outlined in lis described It is assumed here that the reader has already performed the steps in sB and has successfully imported the ABAQUS global stiffness matrix from the mtx file into MAT LAB and has also imported into MATLAB the ABAQUS node sets Also note that a MAT LAB code that performs the full static reduction procedure on the example model from s21 is provided in A 9 5 1 Create reduced stiffness matrix
37. is restricted to cases in which the contact area lies approximately along a straight line This permits the analysis of for example the face of a square in contact with a larger block contact between slightly curved surfaces that can be approximated using half plane theory or a body with multiple parallel contact interfaces such that the normal and tangential directions do not vary along the contact or from one contact to another In its current form this method cannot be used to analyse cases in which the normal and tangential directions vary along the interface or from one interface to another such as is the case for shrink fit shafts pin in hole contact contacts with multiple non parallel interfaces contacts with highly curved interfaces and so on However further development of this method should allow several of these restrictions to be relaxed 2 Example ABAQUS Model Elastic on Rigid Contact In order to illustrate how to perform the static reduction procedure it is helpful to consider a very simple example model Thus instructions are provided that detail how to create an extremely simple two dimensional planar finite element model in ABAQUS of a single square block The model that is created in ABAQUS is simply a square with no loads or constraints applied to it The global stiffness matrix from this model is then extracted and used to create the reduced contact stiffness matrix that corresponds to the case of frictional contact betw
38. l For the case when the external load is applied in displacement control the displacement of the nodes along which the load is applied u is known The second row of equation can be written out as y Page L uf 18 where equation 5 still applies but where f KAT 19 and f 20a KT LV 20b 4 4 Contact of two elastic bodies To extend this procedure to the case of two elastic bodies in contact first a separate finite element model must be created for each body the global stiffness matrix of each individual model must then be extracted and the reduced contact stiffness matrix K K as well as all the loading vectors f must be computed Care must also be taken to ensure that in each separate model there are an equal number of contact A nodes that the contact A nodes are distributed in the same way along both bodies and that the two sets of contact A nodes are arranged in the same sequence Note that the reduced contact stiffness matrix of a body with a rigid body mode is singular For most load cases one body is fixed in space while the other has rigid body degrees of freedom The matrix manipulations carried out below which combine the reduced stiffness matrices of two elastic bodies require that at least one of the reduced contact stiffness matrices be non singular Therefore body 2 is designated as the body that does not have any 14 rigid body degrees of freedom If neither of the two bodies have a rigid body
39. m file and save the script as create load vector m function fw unsorted create load vector KE load distribution DOF one load distribution DOF two Create Load Distributions load zero zeros length KE 1 2 1 load constant ones length KE 1 2 1 load linear zeros length KE 1 2 1 preallocate for i 0 length load linear 1 load linear i 1 1 1 2x i length load linear 1 2 2 Select Load Distribution for DOF 1 if strcmp load distribution DOF one zero 1 load distribution DOF one load zero elseif strcomp load distribution DOF one constant 1 load distribution DOF one load constant elseif strc load distribution DOF one constant 1 load distribution DOR one 1load constant elseif strc load distribution DOF one linear 1 load distribution DOF one load linear elseif strc load distribution DOF one linear 1 load distribution DOR one load linear elseif strc load distribution DOR one pmstep 1 load pmstep ones length KE 1 4 1 ones length KE 1 4 1 load distribution DOF one load pmstep elseif strcmp load distribution DOF one mpstep 1 load mpstep ones length KE 1 4 1 ones length KE 1 4 1 load distribution DOF one load mpstep o TO TO s
40. n 8 45 This function is named create load vector and has three input parameters the K matrix specification of the distribution of load that is to be applied to the M nodes of degree of freedom 1 and specification of the distribution of load that is to be applied to the M nodes of degree of freedom 2 as shown below 18 fw unsorted create load vector KE load distribution DOF one load distribution DOF two Note that at the current level of sophistication the function create load vector can not create a load vector f from a Node set that only includes M nodes of one degree of freedom Therefore the first input parameter of the function the K matrix must be created from a set of externally loaded nodes that is imported using the option both as the fourth input parameter in the function import node set This function can be improved to remove this limitation in subsequent revisions of the code There are several optional load distributions which are 1 zero all values equal to zero 2 constant all values equal to 1 3 constant all values equal to 1 4 linear linear variation from 1 at the first element to 1 at the last element 5 Linear linear variation from 1 at the first element to 1 at the last element 6 pmstep first half of the elements equal to 1 and the second half of the elements equal to 1 will not work with an odd number of externally loaded nodes 7
41. ne node set at a time The first input parameter of this function is the file path of the nput file e g RR example inp assuming that this file is in MATLAB s working directory The second input parameter is the name of the Node set that is to be imported e g c internal The third input parameter is the number of lines contained in the ABAQUS Input file The number of lines in the nput file can be determined by opening the nput file in a text editor and finding the line number corresponding to the last line in the file Alternatively this value can be set to some arbitrarily large value that is certainly larger than the number of lines in the Input file e g 500 000 The purpose of this input is to prevent the function from becoming caught in an infinite loop if it cannot find the specified Node set in the Input file If the M nodes corresponding to both degrees of freedom from each A node are to be im ported from the Node set and the order of the nodes in the Node set is not important then this function can be called with only these three input parameters This situation is likely to arise when importing the internal nodes for example 3 5 2 Importing M nodes of only one direction In some cases however only M nodes corresponding to a particular direction i e 1 or 2 from each A node in the Node set are to be imported This situation arises when displacement bound ary conditions are applied to a group of nodes within ABAQUS
42. oad a shear load and a bulk load In these cases this function can be called several times to create a load vector f corresponding to each applied load These loads can then be scaled to reflect the loading history of the problem that is being considered 19 5 3 Reorganise load vector The load vector f created in is organised to be compatible with the KC matrix and has its elements as in equation 28 In order to have the load vector f be compatible with the A B C matrices it must be organised as in equation 29 which is reproduced here for convenience T qe fE ES 415 92 d3 QN P1 P2 P3 es PN q Pp uo v V2 Us UN W1 W2 W3 ey Wy v wl The code for a MATLAB function that reorganises the load vector f to be com patible with the A B C matrices is provided in This function is named resort load vector and has only one input a load vector f that has been created us ing the create 1oad vector function described in 8 5 2 The resort load vector function then outputs the reorganised load vector as shown below fw organised resort load vector fw unsorted 5 4 Create K for contact between two elastic bodies To create the reduced contact stiffness matrix K for contact between two elastic bodies first the reduced matrices must be computed separately for each body in contact with a rigid plane obstacle These matrices must then be merged as in equation 27b which is reproduced here
43. of body 1 is loaded in force control creating a compressive contact load while the far edge of the second body is constrained to have zero displacement in both direction 1 and direction 2 9 define file paths input file example inp mtx file example 1 STIFl1 mtx import node sets nodes internal Anodes internal import node set input file c internal 72 Mnodes ext loaded Anodes ext loaded import node set input file b ext loaded 72 Mnodes contact bodyl Anodes contact bodyl import node set input file aa contact 72 both 1 ascending nodes contact body2 Anodes contact body2 import node set input file aa contact 72 both 1 descending 9 combine node sets contact Mnodes Mnodes contact bodyl ext loaded Mnodes Mnodes ext loadeg internal Mnodes Mnodes internal import stiffness matrix K import stiffness matrix mtx file o Static Reduction Elastic Block on Rigid KC KE A B C static reduction K internal Mnodes ext loaded Mnodes contact Mnodes force create fw load vector and resort load vector to be compatible with the A B C matrices fw pressure unsorted create load vector KE zero constant fw pressure resort load vector fw pressure unsorted Static Reduction Elastic Elastic KC force KE force
44. ple Source Model and in the box below select Model 1 and press Continue In the box that appears leave all of the options at their default values and press OK 12 To create an Input file from the Job click Job Manager from the Menu Bar and in the window that appears select example and click the Write Input button and then click Dismiss to exit the Job Manager Step 12 will write the Input file to the folder where ABAQUS stores all of its Job files and data when running Jobs The default folder is usually the C Temp folder The file will be named example inp however this type of file can be read with a plain text txt editor such as Notepad A copy of the Input file that should be produced when the above steps are performed is provided in 8 A 1 Completing steps 1 12 should produce an Input file that can be run in ABAQUS without errors Please check that this is the case before proceeding to To test that the Job runs without errors open the Job Manager as in step 12 by clicking Job Manager from the Menu Bar and then Submit the Job by clicking Submit Upon doing this a warning box may appear but just click OK Then click Monitor in the Job Manager The Job should be Completed successfully after a few moments and without errors If this is not the case please review the steps 1 Once the Job has Completed successfully click Dismiss on any windows that remain open 2 2 Run an ABAQUS job f
45. put file length break end end if count input file length error Error cannot find line Node in input file end extract numbers and posistions of all nodes in the input file tempvar textscan read input file n n n all nodes tempvar 1 node positions tempvar 2 tempvar 3 extract position coordinates of only the nodes in the node set info list zeros length node set 3 y X for i 1 node set length node set if node set j 1 all nodes i info list j i node positions i 1 j j 1 end end define which coordinate direction to sort with respect to if sorting DOF 1 sort column 2 elseif sorting DOF sort column 3 else error Error incorrect input option selected for sorting DOF end sort the node set in ascending or descending order if strcmp sorting order ascending ordered info list sortrows info list sort column abaqus node set ordered info list 1 elseif strcmp sorting order descending ordered info list sortrows info list sort column abaqus node set ordered info list 1 else error Error incorrect input option selected for sorting_order end check if sorting inputs exist and don t sort the node set if they don t elseif exist sorting DOF var 0 abaqus node set node set else error Error error trying to sort the node set end 26 oe 2 l l l Convert A Nodes to M nodes
46. rom an Input file To run a Job from an Input file switch to the Job Module on the Context Bar Then to create the Job click Job Create from the Menu Bar and select the option Source Input file Then click on the button to the right of the text Input file and browse the files to locate the Input file that was created in 2 1 Once located select that file and then click OK Now open the Job Manager by clicking Job Manager from the Menu Bar and in the window that appears select example 1 Check that the Model field of the selected Job says File example inp and notModel 1 and then click Submit and then Monitor to check that the Job runs successfully 3 Transfer data from ABAQUS to MATLAB In this section the process of exporting data from the ABAQUS finite element model including the global stiffness matrix and node sets and importing this data into MATLAB for processing is described 3 1 Modify the Input file and export the global stiffness matrix In order to perform the static reduction procedure the global stiffness matrix must be extracted from the ABAQUS finite element model To do this the Input file must be modified This may be done by locating the Input file which is usually located in the C Temp folder and opening it with a standard text editor t xt file extension Once the nput file has been located and opened use the text editor s find utility usually the key combination Ct r1 f
47. s These load vectors f can then be scaled to reflect the loading history of the problem that is being considered 6 Conclusions The theory and implementation of a procedure for the static reduction of two dimensional linear elastic frictional contact problems has been described The result of this procedure the reduced contact stiffness matrix can be used for several analyses this includes solving the transient marching in time problem given a particular loading history Preliminary results indicate that this method of solution runs approximately an order of magnitude more quickly than does the equivalent problem in ABAQUS However the relative efficiency of solving the transient problem using static reduction vs ABAQUS is problem dependent It is reasonable to expect the improvement in efficiency achieved by the static reduction technique to increase with the ratio of internal nodes to contact nodes but this has not yet been verified The reduced contact stiffness matrix can be used for other analyses for example to determ ine the frictional shakedown limit i e the magnitude of loading above which the steady state will be dissipative irrespective of the initial conditions The shakedown limit can be determined exactly using a numerical optimisation technique with a relatively small amount of computa tional effort The reduced contact stiffness matrix may also allow for the the degree to which the direct and shearing tractions are
48. se when two elastic bodies are in contact is provided in This function is named create two body load vector and the required inputs are the two K matrices that were merged to create the new reduced stiffness matrix for the two body problem using the MATLAB function described in 8 5 4 and the load vector f that is to be manipulated for use in the two body problem The load vector f that is input to this function must not be reorganised to be compatible with the A B C matrices it must be compatible with the K matrix format In almost all cases the load vector f from only one body should be input into the function and where the load vector for the other body would be input the string none should be specified instead as shown below fw unsorted 1 create two body load vector body one KC body two KC body one fw unsorted none fw unsorted 2 create two body load vector body one KC body two KC none body two fw unsorted The output of this function is a new load vector f that corresponds to the case of the contact between the two elastic bodies whose reduced contact stiffness matrices K are input Note that this new load vector must be reorganised as described in 8 5 3 to be compatible with the A B C matrices As in 5 2 this function can be called several times to create one load vector f corresponding to each applied load for the case of contact between two elastic bodie
49. ues abaqus stiffness matrix 5 abaqus stiffness matrix 5 create a matrix of the new matlab node numbers and a vector of indices of their position in the abaqus stiffness matrix matlab matrix indices abaqus stiffness value index unique matlab nodes matlab nodes 2 matlab nodes 1 rows compile the stiffness matrix using the new node numbering convention matlab stiffness matrix accumarray matlab matrix indices stiffness values abaqus stiffness value index max true oe oe oe oe 24 A 3 MATLAB function to import the ABAQUS node sets from 3 5 To create a MATLAB function that imports Node sets into MATLAB from an ABAQUS Jn put file file copy the following code into a new MATLAB editor m file and save it as import node set m function matlab node set abaqus node set import node set input file nodeset name input file length DOF to import sorting DOF sorting order Import Node Set find line that contains the name of the node set to be imported find line xNset nset nodeset name i 0 count 0 read input file fopen input file r while i 0 count count 1 current line fgetl read input file i strcmp current line find line if count input file length break end end if found import the node set if count input file length tempvar textscan read input file n delimiter
Download Pdf Manuals
Related Search
Related Contents
抱っこひもからの転落に注意! TS-570S TS-570D MU SHW Midea Liva Wi-Fi-A NPU / RPU QuickMAnual deutsch / english 5200ANSIルーメンの圧倒的な輝度。 ハイエンドパワーモデル、誕生。 Séries TGL/TGM Edição 2015 V2.0 intext:Betriebsanleitung filetype:pdf GAE DSC28 Manual v2 10.9MB Copyright © All rights reserved.
Failed to retrieve file