Opensees nonlinear material ten elements dynamic geometric nonlinear

1 Test description

This test analyses the dynamic response of a ten-element cantilever beam featuring a nonlinear steel material (Giuffré-Menegotto-Pinto / Steel02) subjected to a transverse tip force that is ramped up linearly over 2 s and then held constant. It is the large-displacement companion to the small-displacement sibling Opensees nonlinear material ten elements dynamic. Results produced by OpenSees 3.7.1 are used to benchmark Ashes.

The purpose of the test is to validate the BilinearGMP material model in Ashes under dynamic loading when geometric nonlinearity is also active. The Ashes analysis mode is set to Nonlinear, so the geometrically nonlinear (corotational) beam formulation is used and P-Delta / large-displacement effects are captured. The same Ashes support section is subdivided into 10 PlasticHinge elements and the OpenSees side uses 10 displacement-based beam-column elements with 5 integration points each and a corotational geometric transformation. The benchmark covers the elastic range, the elastic-to-plastic transition, and the post-yield hardening regime by sweeping the peak tip force from 0 to 1 MN in 50 kN increments (21 load cases). Because stiffness-proportional Rayleigh damping is applied on both sides (see Section 2), the dynamic transient settles to a steady deflected shape at every load level.

2 Model

The model is a vertical cantilever beam built with the Tubular tower only template, 10 m tall, fixed at the base and free at the tip. The single Ashes member is discretized into 10 PlasticHinge beam elements (support section input file Ten_element_GMP.txt). A point mass of 100 t is placed at the tip node (RNA mass).

The cross section is circular hollow with diameter 
$$D=1.0\text{ m}$$
 and thickness 
$$t=0.025\text{ m}$$
.

The material is a BilinearGMP nonlinear steel matching the parameters of the OpenSees Steel02 uniaxial material:
$$E=2.1\cdot10^{11}\text{ Pa},\quad \nu=0.3,\quad f_y=2.5\cdot10^{8}\text{ Pa}$$
$$b=0.015,\quad R_0=18,\quad cR_1=0.9,\quad cR_2=0.15$$
where
$$b$$
 is the strain-hardening ratio and
$$R_0,\, cR_1,\, cR_2$$
 control the curvature of the elastic-to-plastic transition. The derived yield quantities are
$$M_y\approx5.94\text{ MN·m}$$
 and
$$F_y=M_y/H\approx594\text{ kN}$$
.

Gravity, aerodynamic and wave loads are disabled. The Ashes analysis mode is Nonlinear, i.e. the geometrically nonlinear corotational formulation is used — large displacements and P-Delta effects are captured. Together with the BilinearGMP material this means both sources of nonlinearity (material and geometric) are active. The tip force is applied in the global x-direction at the RNA node. The simulation runs for
$$T=90\text{ s}$$
 with a timestep of
$$\Delta t=10^{-4}\text{ s}$$
. The 21 load cases are distinguished by the peak tip force:
$$F_i = (i-1)\cdot 50\text{ kN},\quad i=1,\dots,21$$
i.e. from 0 N (Load case 1) up to 1 MN (Load case 21).

2.1 Load ramp-up

Each load case applies its peak force via a linear ramp over the first
$$T_\text{ramp}=2\text{ s}$$
, after which the force remains constant for the remainder of the 90 s simulation. The ramp is configured using the Ashes built-in Duration / Linear ramp-up scheme.

2.2 Damping setup

Both Ashes and OpenSees apply stiffness-proportional (initial-stiffness) Rayleigh damping with the same coefficient:
$$\beta_K = 0.05\text{ s/rad}$$
The 10-element distributed-plasticity mesh is built from dispBeamColumn elements, on which OpenSees honours the stiffness-proportional Rayleigh coefficient directly, so the two codes use the same damping formulation with the same numerical value.

This level of damping is sufficient to suppress the dynamic transient so that the tip displacement settles to a steady deflected position at every load level. Consequently, the dynamic test doubles as an independent consistency check on the combined material-plus-geometric nonlinear response: the settled tip displacement at each force level traces the nonlinear load-displacement curve, and Ashes and OpenSees should follow the same curve.

Acceptance window: because the transient shape can differ slightly between the two codes during the elastic-to-plastic transition (the tangent stiffness through which
$$\beta_K \cdot k_\text{tangent}$$
 acts varies with the load level), the acceptance criterion is last_fifth_time_series rather than full time series. The settled tip displacement is what is validated, not the transient envelope.

3 Benchmarked solution

The reference solution is computed with OpenSees 3.7.1 using a distributed-plasticity 2D model that mirrors the Ashes mesh. The cantilever is discretised into
$$N_E=10$$
  dispBeamColumn elements with
$$N_\text{IP}=5$$
 Gauss integration points each, matching the Ashes Ten_element_GMP.txt support section. The section is assembled as an Aggregator of an elastic axial material and a Steel02 Mz material using the same
$$E,\, f_y,\, b,\, R_0,\, cR_1,\, cR_2$$
 as Ashes.

The geometric transformation is Corotational (large-displacement, P-Delta), matching the Ashes FemDynamic.AnalysisMode = Nonlinear setting — this is the defining difference from the small-displacement sibling, which used a Linear transformation. A 100 t point mass is attached to the tip node. The tip force is applied as a dynamic time history via a timeSeries Path with a 2 s linear ramp followed by a constant hold, applied inside a Plain load pattern.

The transient solver settings are: constraints Plain, numberer RCM, system UmfPack, convergence test NormDispIncr (tolerance
$$10^{-8}$$
, max 200 iterations), algorithm Newton, integrator Newmark with
$$\gamma=0.5,\, \beta=0.25$$
 at
$$\Delta t=0.02\text{ s}$$
. If a global step fails to converge, the integrator falls back to 20 sub-steps of size
$$\Delta t/20$$
 before declaring failure.

The tip displacement time series is recorded with recorder Node and post-processed by the Ashes Generate_results.py script, which invokes OpenSees once per non-zero load case and interpolates the resulting tip-displacement trace onto the Ashes time grid for comparison. The OpenSees input file is bundled inside the benchmark-tools test directory as Constant_cylinder_geometric_nonlinear.tcl.

4 Results


The plot above shows the load-vs-displacement response for Ashes (run at three different time steps:
$$\Delta t = 5\cdot10^{-4}\text{ s}$$
$$10^{-3}\text{ s}$$
, and 
$$2\cdot10^{-3}\text{ s}$$
) compared against the OpenSees reference. A clear convergence trend is visible in the plastic regime under extreme loads: the smaller the time step, the better Ashes matches OpenSees. Because smaller time steps mean slower simulations, a time step of
$$\Delta t=5\cdot10^{-4}\text{ s}$$
 is used for the nightly benchmark runs and the largest load case (peak tip force of 1 MN, load case 21) is excluded from the acceptance check. We expect that an even smaller time step would produce a good match at that load level as well.

For each load case, the global x-displacement of the tip node (sensor Node RNA_node Tubular tower, displacement DOF x) is compared between Ashes and OpenSees. The comparison is performed over the last fifth of the 90 s time series, by which point the ramp-up transient has fully settled (EvaluationCriteria.last_fifth_time_series). The test is considered passed if the relative error between the Ashes tip displacement and the OpenSees reference displacement stays below 10% in that window. In addition, the shear force and bending moment at the base element (sensor Beam element [Element 1 Tubular tower], “Shear force (1st prin. axis)” and “Moment (2nd prin. axis), i”) are also compared against the corresponding OpenSees base-element internal forces. The same acceptance criterion is used for all 20 load cases, which together cover the purely elastic response, the elastic-to-plastic transition around
$$F_y$$
, and the post-yield hardening branch.


The report for this test can be found on the following link:

https://www.simis.io/downloads/open/benchmarks/current/Opensees_nonlinear_material_ten_elements_dynamic_geometric_nonlinear.pdf