OpenSeesPy Documentation
repository·master·Indexed 41 days ago
https://github.com/zhuminjie/openseespydocDocumentation for OpenSeesPy, a Python 3 interpreter for the OpenSees finite element framework. It provides a comprehensive reference for Python commands, including model definition (ops.model), analysis configuration (constraints, numberer, system, test, algorithm, integrator), and specific element types like 20NodeBrick, AC3D8, and ASI3D8. The library is available for Linux, Windows, and Mac (ARM64).
What's inside OpenSeesPy
- Utility commands in OpenSeesPy are used to monitor the model state, modify nodal or element properties, manage analysis lifecycles, and handle data conversion. These commands allow for fine-grained control over the simulation environment, including setting precision, managing threads, and manipulating nodal values like coordinates, displacements, velocities, and accelerations.
Overview of OpenSeesPy Output Commands
masterOpenSeesPy provides a variety of output commands used to retrieve data from a simulation. These commands are non-destructive, meaning they do not change the internal state of the OpenSees model. They are categorized into several functional groups:
- Node-based outputs: Retrieve properties like acceleration (
nodeAccel), coordinates (nodeCoord), displacement (nodeDisp), velocity (nodeVel), mass (nodeMass), and reactions (nodeReaction). - Element-based outputs: Retrieve forces (
eleForce), dynamical forces (eleDynamicalForce), and element responses (eleResponse). - Section-based outputs: Retrieve properties related to specific sections, such as force (
sectionForce), deformation (sectionDeformation), and stiffness (sectionStiff). - System and Model information: Retrieve metadata like the current time (
getTime), system size (systemSize), version (version), and model structure (printModel). - Constraint and DOF information: Retrieve information about degrees of freedom (
nodeDOFs,getConstrainedDOFs) and nodes (getNodeTags,getFixedNodes). - Convergence and Iteration data: Retrieve information about the solver process, such as number of iterations (
numIter) and test norms (testNorm). - Recording: Use
recorderorrecordto log data during simulation.
- Node-based outputs: Retrieve properties like acceleration (
Access OpenSeesPy documentation and examples
masterThe OpenSeesPy documentation provides a comprehensive record of all
Pythoncommands available in the OpenSeesPy interpreter, along with usage examples. You can view the full documentation online at the ReadTheDocs site.https://openseespydoc.readthedocs.io/en/latest/Fluid-Structure Interaction (FSI) Commands in OpenSeesPy
masterOpenSeesPy provides a specific set of commands for performing Fluid-Structure Interaction (FSI) analyses. These commands allow users to manage meshes, remeshing processes, and Particle Finite Element Method (PFEM) components including integrators, systems, tests, and analysis configurations.
Available FSI command categories include:
- Mesh Management:
meshandremeshcommands for defining and updating the computational domain. - PFEM Components:
pfemIntegrator,pfemSystem,pfemTest, andpfemAnalysisfor managing the Particle Finite Element Method logic used in fluid-structure coupling.
- Mesh Management:
Reliability Commands in OpenSeesPy
masterOpenSeesPy provides a set of commands specifically designed for performing reliability analysis. These commands allow users to define stochastic parameters and perform probabilistic assessments within the OpenSees framework. The primary command for defining stochastic inputs israndomVariable.Use Sensitivity Commands for sensitivity analysis in OpenSees
masterOpenSees provides a suite of commands specifically designed for performing sensitivity analysis. These commands allow you to manage parameters, compute gradients, and calculate the sensitivity of various structural responses (such as node displacement, velocity, acceleration, or section forces) with respect to model parameters.
Key functional areas include:
- Parameter Management: Commands like
parameter,addToParameter,updateParameter,setParameter,getParamTags, andgetParamValueallow you to define and manipulate the parameters used in sensitivity calculations. - Gradient and Algorithm Control: Use
computeGradientsandsensitivityAlgorithmto manage how sensitivities are mathematically derived. - Response Sensitivity: Specific commands are available to extract the sensitivity of physical responses, including:
sensNodeDisp: Node displacement sensitivity.sensNodeVel: Node velocity sensitivity.sensNodeAccel: Node acceleration sensitivity.sensLambda: Sensitivity related to eigenvalues/eigenvectors.sensSectionForce: Section force sensitivity.sensNodePressure: Node pressure sensitivity.
- Parameter Management: Commands like
Understand the OpenSees model structure
masterIn OpenSees, a model (or domain) is an aggregation of various components that define the physical system being analyzed. To build a complete simulation, you must define a collection of the following entities:
- Nodes and Elements: The fundamental geometric and structural components.
- Constraints: Single-point (
SP_Constraint) and multi-point (mp_constraint) constraints. - Loading and Time: Load patterns (
pattern), time series (timeSeries), and mass (mass). - Material and Section Properties: Uniaxial materials (
uniaxialMaterial), nD materials (ndMaterial), and cross-sectional definitions (section). - Geometric and Integration Rules: Geometric transformations (
geomTransf), beam integration (beamIntegration), and damping models (reyleigh). - Other Domain Definitions: Regions (
region), blocks (block), and friction models (frictionModel).
Use the MVLEM element for RC Wall simulation
masterThe
MVLEM(Multiple-Vertical-Line-Element-Model) element is used to simulate the flexure-dominated behavior of reinforced concrete (RC) walls in two dimensions.Model Mechanics
- Degrees of Freedom: A single element incorporates six global degrees of freedom (three at the center of the rigid top beam and three at the center of the rigid bottom beam).
- Axial/Flexural Response: Simulated by a series of $m$ uniaxial elements (macro-fibers) connected to the rigid top and bottom beams.
- Shear Response: Described by a shear spring located at height
cfrom the bottom of the wall element. - Decoupling: Shear and flexural responses are uncoupled. The relative rotation between the top and bottom faces occurs about a point on the central axis at height
c. - Rotation Calculation: Rotations and transverse displacements are derived from wall curvature based on section and material properties corresponding to the bending moment at height
c.
Recommended Parameter
- A value of
c = 0.4is recommended for the location of the center of rotation from the bottom node, based on experimental comparisons.
Calculate the alpha stabilization parameter for SSPbrickUP
masterBecause the
SSPbrickUPelement uses equal-order interpolation for displacement and pressure, it does not inherently satisfy the inf-sup condition. To stabilize the element and allow for equal-order interpolation, you must provide a small spatial pressure field stabilization parameteralpha.Calculate
alphausing the following formula:$$\alpha = h^2 / (4 * (K_s + (4/3) * G_s))$$
Where:
- $h$ is the element size.
- $K_s$ is the bulk modulus of the solid phase.
- $G_s$ is the shear modulus of the solid phase.
Use the bbarQuadUP element for solid-fluid coupled analysis
masterThe
bbarQuadUPelement is a four-node plane-strain mixed volume/pressure element using a tri-linear isoparametric formulation. It is designed to simulate the dynamic response of solid-fluid fully coupled materials based on Biot's theory of porous media.Each element node has 3 degrees-of-freedom (DOF):
- DOF 1 & 2: Solid displacement (
u) - DOF 3: Fluid pressure (
p)
- DOF 1 & 2: Solid displacement (
Stability considerations for BeamContact3D in transient analysis
masterIn transient analysis, contact constraints can affect the stability of common time integration methods (like HHT or Newmark).
Recommendations:
- Avoid the Trapezoidal Rule: Using Newmark with
gamma = 0.5andbeta = 0.25is particularly prone to instability and is not recommended. - Use TRBDF2: The
TRBDF2integrator is an effective method for numerically damping spurious high-frequency behavior caused by contact constraints. - Use Newmark with care: The Newmark integrator can be effective if you properly select the
gammaandbetacoefficients.
- Avoid the Trapezoidal Rule: Using Newmark with
Configure the alpha stabilization parameter for SSPquadUP
masterBecause the SSPquadUP element uses equal-order interpolation for displacement and pressure fields, it does not inherently satisfy the inf-sup condition. To prevent instability, a stabilizing parameter
alphamust be provided.alphashould be a small number and can be calculated using the following formula:$$\alpha = 0.25 \cdot \frac{h^2}{den \cdot c^2}$$
Where:
- $h$: element size
- $c$: speed of elastic wave propagation in the solid phase
- $den$: mass density of the solid phase