NextFEM

rSpectrum for OpenSees
User’s manual

 

Version C

 

© NextFEM 2015-2020

 

 

INDEX

 

 

  •  

  • Description

The Response Spectrum library for OpenSees 3.2.1 is available on www.nextfem.it/it/opensees-tools/

Such library accepts as input a response spectrum (defined in period T vs. acceleration Sa) and calculates the response in terms of displacements, reactions on restrained nodes and element forces. The acceleration must consistent with the model units.

The library is version-specific – supported OpenSees versions are 2.5.0, 3.0.3 and 3.2.1.

 

  • General usage

To use the commands described below, you must pre-emptively load the DLL with the command:

loadPackage rSpectrum ​​ ; # load the dll with the new commands

Response Spectrum Analysis (RSA) performs the following steps:

  • Reading the input spectra,

  • Performing an Eigen analysis,

  • Computation of participation factors,

  • Creation of load patterns starting from modal forces and spectral information,

  • Performing a linear elastic analysis and response retrieval,

  • Modal combination (CQC or SRSS).

 

Steps 3 to 5 need to be repeated for each mode and excitation direction the user wants to consider. Thus, this type of analysis may become expensive when performed for large models as the responses for each mode and direction should be stored and then combined.

 

  • Commands in Response Spectrum Library

WARNING: all the subsequent command example are available in the rSpectrum.dll. To use them from the OpenSees prompt, you have to load a model and to load the DLL with the command:

loadPackage rSpectrum; # load the dll with the new commands

IMPORTANT: place the DLL in the same folder of the model.

IMPORTANT: Such last command can be issued only when the model command has been given (e.g. model BasicBuilder -ndm 3 -ndf 6).

 

    • pFactors

 

The Tcl command purposely created for this purpose is pFactors whose syntax is the following:

pFactors <-file filename> -m $numMode <-v> <-s> <-o>

where $numModes is the number of modes the user wants to consider, -v sets the verbose mode and the optional flag –file saves the results to a file named filename.

 

pFactors calculates:

 1) Participation factors

 2) Participating masses

 3) Participating mass ratios

 -file flag is optional. it redirect the function output to a file. -s flag must not be set.";

 -m flag is mandatory and must be followed by an integer flag.

 It defines for how many modes the command has to calculate the results.

 -v flag is optional. It enables the verbose mode to check the progress.

 -s flag is optional. If set, matrix results won't be displayed to screen or written to file.

 -o flag is optional. It disables the output to a variable.

 Without this flag you can write something like:

 set results [pFactors -m $numModes]

 pFactors also stores M*phi to allow the retrieval with getMphi command (useful for RSA);

 The output given by this command is a list structured as follows:

 {1} {2} {3}  ​​​​ where each number represent one the three groups of values

 described above. Each list is made up of $numModes lists:

 {0} ...{i} ...{$numModes-1}

 Each one of these lists contains ndf values, where ndf is the number of dofs

 per node:

 0-th value ​​ 1-st value ​​ ...j-th value ​​ ...(ndf-1)th value

 

The output file “factors.dat” contains:

 

1) Participation factors

2) Participating masses (in units consistent with the model)

3) Participating mass ratios

 

    • printG

printG is an alias of pFactors, and can be useful to print again the previously computed values.

printG <-d> -m $numMode <-v> <-s> <-o>

 

    • printK

It prints the dense stiffness matrix of the model.

printK <-file filename.dat>

 

    • printM

It prints the dense mass matrix of the model.

printM <-file filename.dat>

 

    • printC

It prints the dense damping matrix of the model.

    • printEleK

It prints stiffness contribution of each element in the model.

    • Modal dynamic analysis - dynModal

To perform a Response Spectrum analysis based on modal results, use the following command:

dynModal $numModes $spectrum $patternID $comb $csi $dir1 $dir2 $dir3

where $numModes is the number of modes the user wants to combine, $spectrum is the name of the file containing the spectrum points, $patternID is the ID to be given to the load patterns created internally to perform the required linear static analyses, $comb let the user choose whether the SRSS (Eq. 1) or CQC (Eq. 2) method should be used, $csi is the damping ratio which is used to calculate the correlation coefficients needed when performing CQC.

The last three parameters ($dir1, $dir2, $dir3), which may assume a value of 0 or 1, are needed to specify the directions associated with the spectrum.

 

  (1)

 

 (2)

 

The command dynModal gives as output:

 1) nodal displacement envelope

 2) nodal reaction envelope

 3) element forces envelope

    • dynWrapper

It could be easier to access the dynWrapper function from procedure009.tcl supplied with NextFEM Designer. The command syntax is the following:

DynWrapper $numModes $patternID $comb $csi $directions $spectra

where

$numModes is the number of modes the user wants to combine,

$patternID is the ID to be given to the load patterns created internally when dynModal is called,

$comb let the user choose whether the SRSS or CQC method should be used,

$csi is the damping ratio which is used to calculate the correlation coefficients needed when performing CQC.

The $directions parameter is a list containing the directions grouped by spectrum, while $spectra is a list containing the filenames where the spectra are saved. The correlation between these two parameters is given by the order used to fill the lists.

 

Examples: for the same spectrum in X and Y directions:

DynWrapper 12 100 2 0.05 {{X Y}} {"slvOS.txt"} $modelName

For 2 difference spectrum in X and Y directions:

DynWrapper 12 100 2 0.05 {{X} {Y}} {"specX.txt" "specY.txt"} $modelName

For the same spectrum in X and Y directions and a different spectrum in Z:

DynWrapper 12 100 2 0.05 {{X Y} {Z}} {"specXY.txt" "specZ.txt"} $modelName

The command produces 4 output files:

  • RSdisp.out contains the displacement of each node, separated by spaces. The nodes are ordered like in any other recorder;

  • RSreact.out contains the reaction of each node, separated by spaces. The nodes are ordered like in any other recorder;

  • RSforces.out contains the element forces of each element in the model, separated by spaces. The nodes are ordered like in any other recorder but in global coordinates for each element;

  • RSpartFact.out contains the output of pFactors command. For the output order, see the pFactors command description.

The results for each file are appended by default to each file above (1 row per analysis). To have a new file each time the analysis runs, change lines 1987 and subsequent ones in procedure008.tcl as:

set fo [open "RSreact.out" w]

 

 

 

  • License

NextFEM, 2015-2020

By using this library, the user accomplishes to the following terms and conditions.

By using the software provided by NextFEM, you agree to be bound by these terms and conditions. The contents of the NextFEM site and all software provided, including the following terms and conditions, are subjected to changes and regular updates.

NextFEM is not responsible for the results obtained with this software of with any of its parts.

NextFEM is not liable to any part for direct, indirect, special, collateral, incidental or consequential damages, including lost profits, arising with the use of this software.

NextFEM provides this software "as is" and has no obligations to provide maintenance, support, updates, enhancements or modifications.

The disassembly of this library is prohibited.