Modeling & Performing Static Analysis in OpenSees By Dhanaji S. Chavan, Assistant Professor, TKIET, Warananagar Dhanaji Chavan
General steps to be followed… Define ndm & ndf Define nodes Define element(s) Define material(s) Define boundary conditions Define matrix transformation Apply load Define recorders Define analysis objects Run the analysis Dhanaji Chavan
Example 1- Cantilever Beam What is the deflection of the free end of a 3 m cantilever beam subjected to a point load of 100 kN? (E =2*1005 kN/m2 ,c/s:0.3mx0.3m) How to do coding for this problem in OpenSees????? 100kN 3m Dhanaji S. Chavan
Tcl script for OpenSees starts now……… step 1: define ndm & ndf wipe model basic -ndm 2 -ndf 3 wipe : clears the previous coding present in OpenSees memory, if any model basic : key word to start the definition of model ndm : defines number of dimensions of the problem ndf : defines the degrees of freedom at a node in a model Dhanaji S. Chavan
How to determine ndm & ndf………. ndm: number of dimensions we have to specify whether problem is 2-dimensional or 3-dimensional. How to determine whether problem is 2-D or 3-D: If to specify the geometry of the problem only two coordinates x and y are required , it is 2-D problem If to specify the geometry of the problem three coordinates x,y and z are required , it is 3-D problem In present case ndm is 2 Dhanaji S. Chavan
……….. We have to specify degree of freedom at a node What is degree of freedom? The number unknowns ,to be determined, at a node is called as degree of freedom In present case: three unknowns are there at each node translation in x direction Translation in y direction Rotation In present case dof is 3 Dhanaji S. Chavan
Step2: define nodes node 1 0 0 node 2 3 0 Y coordinate of node X coordinate of node Command to define node Node number Dhanaji S. Chavan
………… In finite element method we discretize the given domain(geometry) into certain number of finite elements. in our case 3 m long beam is the domain in present case let’s use only one element for sake of simplicity. The ends of an element in finite element method are called as nodes 1 2 (0,0) (3,0) Dhanaji S. Chavan
………. If we assume origin at node 1, the coordinates for node 1 and 2 are as under: 1(0,0) & 2(3,0) Dhanaji S. Chavan
Step 3: boundary conditions fix 1 1 1 1 Constrain rotation Constrain y-translation Command to define fixity Node number Constrain x-translation Dhanaji S. Chavan
………………… In our case boundary condition is : node 1 is fixed i.e. No translation in x direction No translation in y direction No rotation Dhanaji S. Chavan
Step 4: define element element elasticBeamColumn 1 1 2 0.25 2.1e5 0.0052 1 Iz Transformation tag E Type of element Element number A Final node command Initial node Dhanaji S. Chavan
……………… Which finite element to use to model the behavior of beam? Why? OpenSees has wide range of elements in its library Is it fine if we use any element from it? Or we have to choose certain element only How to decide which element to use ? …………..Needs some thinking…@ FEM…???????? Dhanaji S. Chavan
Three types of elements in finite element method 1-d element : Used for geometries for which one of the dimensions is quite larger than rest two. E.g. beam : in case of beam its length is considerably larger than its breadth and depth. i.e. x >>> y, z In FEM such geometry is represented by just a line. When the element is created by connecting two nodes, software comes to know about only one out of 3 dimensions. Remaining two dimensions i.e. cross sectional area must be defined as additional input data & assigned to respective element. Dhanaji S. Chavan
…….. 2-d element: Two dimensions are quite larger than third one E.g. metal plate: length & width are considerably larger than thickness. i.e. x, y >>> z The third dimension i.e. thickness has to be provided as additional input in coding by user & assigned to respective element. Dhanaji S. Chavan
……… 3-d element: All three dimensions are comparable E.g. brick: x~y~z No additional dimension to be defined. While meshing itself all three dimensions are included. Dhanaji S. Chavan
………… In our case, we understood that we have to use 1-d element. Which 1-d element should we use? Should we use spring element? Or bar/truss element? Or beam element Think……………….????????????? Dhanaji S. Chavan
……….. In present case, will be developed in the cantilever beam. Shear force & Bending moment will be developed in the cantilever beam. We have to choose 1-d finite element in such a way that it will take both shear force & bending moment Dhanaji S. Chavan
……… We can not use spring or bar element because Spring element models axial load only Bar elements model axial load and axial stress However beam element takes axial, shear & bending stresses. Hence…. Dhanaji S. Chavan
Step 5: define material Different materials behave differently when subjected to load. This behavior is represented by stress-strain curves. e.g. Elastic Spring Mild Steel Dhanaji S. Chavan
………. In present case material has been defined implicitly.(slide no:12) However in many other cases we have to define material separately Dhanaji Chavan
Step6:define geometric transformation geomTransf Linear 1 Role : performs a linear geometric transformation of beam stiffness and resisting force from the basic system to the global-coordinate system. Number/Tag command type Dhanaji Chavan
Step 7: define recorders Purpose: to get results of analysis as an output such as…….. Reaction Displacement Force stiffness Dhanaji Chavan
To Record reactions at nodes….. keyword Y-direction recorder Node -file Rbase.out -time -node 1 2 -dof 1 2 reaction keyword keyword X-direction keyword to get reactions as output Name of the output file keyword command Node numbers keyword Dhanaji Chavan
To Record displacements at nodes….. recorder Node -file Dbase.out -time -node 1 2 -dof 1 2 disp keyword to get displacements as output Name of the output file Dhanaji Chavan
To Record force in element….. recorder Element -file ele_Lfor.out -time -ele 1 localForce recorder Element -file ele_Gfor.out -time -ele 1 globalForce Name of the output file keyword to get local force as output Name of the output file keyword to get local force as output Dhanaji Chavan
Step 8: application of load pattern Plain 1 "Constant" {load 2 0 -100.0 0.0} Moment applied Type of time series command command Load in y-direction Type of load pattern Node number Number/tag of load pattern Load in x-direction Dhanaji Chavan
Pattern…… Defines the way time series, load & constraints are applied. E.g. pattern Plain: ordinary pattern pattern UniformExcitation- transient analysis Dhanaji Chavan
Time series Constant: load is constant throughout the analysis Linear: load varies linearly with time Sine : sinusoidal variation of load Dhanaji Chavan
Step 9: defining analysis commands system UmfPack constraints Transformation test NormDispIncr 1.e-6 200 1 Algorithm Newton numberer RCM integrator LoadControl 1 1 1 1 analysis Static analyze 1 Dhanaji Chavan
……………… system UmfPack solution procedure, how system of equations are solved Type of equation solver i.e. specific algorithm command Dhanaji Chavan
……………. constraints Transformation how it handles boundary conditions, enforce constraints e.g. fixity, equalDOF etc. command type Dhanaji Chavan
……………. test NormDispIncr 1.e-6 10 1 Sets criteria for the convergence at the end of an iteration step. To print information on each step command type maximum number of iterations that will be performed before "failure to converge" is returned Convergence tolerance Dhanaji Chavan
……….. Algorithm Newton uses the Newton-Raphson method to advance to the next time step. The tangent is updated at each iteration Recommendation: numerical methods for engineers by Chapra command type Dhanaji Chavan
………. numberer RCM how degrees-of-freedom are numbered command type Dhanaji Chavan
………… determine the predictive step for time t+dt integrator LoadControl $dLambda1 <$Jd $minLambda $maxLambda> $dLambda1: determine the predictive step for time t+dt specify the tangent matrix at any iteration Subsequent time increment type DOF Pseudo-time step Dhanaji Chavan
………….. integrator LoadControl $dLambda1 <$Jd $minLambda $maxLambda> $dLambda1: first load-increment factor (pseudo-time step) Usually same is followed further <$Jd: - must be integer -factor relating load increment at subsequent time steps minLambda, maxLambda: -decides minimum &maximum time increment bound - optional, default: $dLambda1 for both Dhanaji Chavan
………... analysis Static command Type of analysis to be performed Dhanaji Chavan
……… analyze 1 Number of analysis steps Command to start analysis Dhanaji Chavan
Ex. 2: Quad element model BasicBuilder -ndm 2 -ndf 2 Dhanaji Chavan
Material has to be defined separately nDMaterial ElasticIsotropic $matTag $E $v Dhanaji Chavan
Assign material to element…….. element quad $eleTag $iNode $jNode $kNode $lNode $thick $type $matTag <$pressure $rho $b1 $b2 Dhanaji Chavan
Recorders… recorder Element -ele 3 -time -file stress1.out -dT 0.1 material 3 stress Dhanaji Chavan
………. recorder Element -ele 3 -time -file strain1.out -dT 0.1 material 1 strain Dhanaji Chavan