suanPan-manual
  • Introduction
  • Basic
    • Obtain Application
    • Configure Application
    • Perform Analysis
    • Model Syntax
    • Model Structure
    • Tweak Performance
    • Compile Application
    • Build Documentation
    • Architecture Design
    • On Clusters
  • Example
    • Developer
      • element template
      • material template
    • Solid
      • wave propagation
    • Geotechnical
      • triaxial compression of sand
      • slope analysis
    • Structural
      • Statics
        • bending of a cantilever beam
        • bifurcation of a cantilever beam
        • double-edge notched specimen
        • lees frame
        • notched beam under cyclic loading
        • rc section analysis
        • truss roof
        • uniform tension of a rubber specimen
        • thin-walled section analysis for frame structures
        • calibration of subloading surface model
      • Dynamics
        • bouncing of a ball
        • mass-spring-dashpot system
        • dynamic analysis of a portal frame
        • elemental damping
        • particle collision
        • response history analysis of an elastic coupled wall
        • multi-support excitation
        • triple pendulum
        • computing response spectrum
        • integrate with python
        • process ground motion
      • Hybrid
        • vibration of a displaced beam
      • Buckling
        • buckling analysis of a cantilever beam
      • Contact
        • contact between beam and block
        • contact in 3d space
      • Optimization
        • evolutionary structural optimization
      • Isogeometric Analysis
        • linear analysis of a single element
    • Miscellaneous
      • batch execution for automation
  • Command Collection
    • Define
      • amplitude
      • bc
      • domain
      • element
      • expression
      • file
      • generate
      • group
      • import
      • initial
      • load
      • material
      • modifier
      • node
      • recorder
      • section
    • Configure
      • analyze
      • converger
      • criterion
      • integrator
      • precheck
      • step
    • Process
      • benchmark
      • clear
      • command
      • enable
      • exit
      • materialtest
      • materialtestbyload
      • sectiontest
      • peek
      • plot
      • protect
      • pwd
      • reset
      • save
      • set
      • upsampling
      • sdof_response
      • response_spectrum
  • Amplitude
    • Amplitude
    • Special
      • NZStrongMotion
    • Universal
      • Combine
      • Constant
      • Custom
      • Decay
      • Linear
      • Modulated
      • Tabular
      • TabularSpline
      • Trig
  • Constraint
    • MPC
    • ParticleCollision
    • RigidWall
    • RestitutionWall
    • FixedLength
    • MaxForce
    • NodeLine
    • NodeFacet
    • Embed2D
    • Embed3D
    • LJPotential2D
    • MaximumGap2D
    • MinimumGap2D
    • MaximumGap3D
    • MinimumGap3D
  • Converger
    • Converger
    • Absolute
      • AbsDisp
      • AbsError
      • AbsIncreDisp
      • AbsIncreAcc
      • AbsIncreEnergy
      • AbsResidual
    • Other
      • FixedNumber
      • Logic
    • Relative
      • RelDisp
      • RelError
      • RelIncreDisp
      • RelIncreAcc
      • RelIncreEnergy
      • RelResidual
  • Criterion
    • Criterion
    • MaxDisplacement
    • MaxHistory
    • MaxResistance
    • MinDisplacement
    • MinResistance
    • StrainEnergyEvolution
  • Element
    • Beam
      • B21
      • B21E
      • B21H
      • B31
      • B31OS
      • EB21
      • EB31OS
      • F21
      • F21H
      • F31
      • NMB21
      • NMB21E
      • NMB31
      • MVLEM
      • Orientation
    • Cube
      • C3D20
      • C3D4
      • C3D8
      • C3D8I
      • CIN3D8
      • DC3D4
      • DC3D8
    • Membrane
      • Couple Stress
      • Phase Field
        • DCP3
        • DCP4
      • Axisymmetric
        • CAX3
        • CAX4
        • CAX8
      • Plane
        • CP3
        • CP4
        • CP4I
        • CP5
        • CP6
        • CP7
        • CP8
      • Mixed
        • PS
        • QE2
      • Drilling
        • Allman
        • GCMQ
        • GQ12
      • Infinite
        • CINP4
      • Geotechnical
        • PCPE4DC
        • PCPE4UC
        • PCPE8DC
        • PCPE8UC
      • Membrane
    • Modifier
      • Modifier
      • ElementalLee
      • ElementalNonviscous
      • LinearViscosity
    • Patch
      • Patch
      • PatchCube
      • PatchQuad
    • Plate
      • DKT3
      • DKT4
      • Mindlin
    • Shell
      • DKTS3
      • DKTS4
      • S4
      • SGCMS
      • ShellBase
    • Special
      • Contact2D
      • Contact3D
      • Damper01
      • Damper02
      • Embedded2D
      • Embedded3D
      • Joint
      • Mass
      • SingleSection
      • Spring01
      • Spring02
      • Tie
      • TranslationConnector
    • Truss
      • T2D2
      • T2D2S
      • T3D2
      • T3D2S
  • Group
    • CustomNodeGroup
    • NodeGroup
    • ElementGroup
    • GroupGroup
  • Integrator
    • Overview
    • Linear
    • Implicit
      • BatheTwoStep
      • GeneralizedAlpha
      • GSSSS
      • OALTS
      • Newmark
        • LeeElementalNewmark
        • LeeNewmark
        • LeeNewmarkFull
        • LeeNewmarkIterative
        • Newmark
        • NonviscousNewmark
        • RayleighNewmark
        • WilsonPenzienNewmark
    • Explicit
      • BatheExplicit
      • GeneralizedAlphaExplicit
      • GSSE
      • ICL
      • Tchamwa
      • WAT2
  • Material
    • Guide
      • Metal
      • Customisation
    • Material1D
      • Concrete
        • ConcreteCM
        • ConcreteExp
        • ConcreteTsai
        • ConcreteTable
        • ConcreteK4
      • Degradation
        • Degradation
        • CustomStrainDegradation
        • CustomStressDegradation
        • Dhakal
        • TrilinearStrainDegradation
      • Elastic
        • BilinearElastic1D
        • Elastic1D
        • AsymmElastic1D
        • MultilinearElastic1D
        • PolyElastic1D
        • NLE1D01
        • Sinh1D
        • Tanh1D
        • CustomElastic1D
      • Hysteresis
        • AFC
        • AFCN
        • BilinearOO
        • BilinearPO
        • BoucWen
        • BWBN
        • Flag
        • MPF
        • MultilinearOO
        • MultilinearPO
        • RambergOsgood
        • SimpleHysteresis
        • SlipLock
        • SteelBRB
        • Trivial
        • Gap01
      • Viscosity
        • Kelvin
        • Maxwell
        • NonlinearViscosity
        • BilinearViscosity
        • CustomViscosity
        • Viscosity01
        • Viscosity02
        • CoulombFriction
        • Nonviscous01
      • vonMises
        • Subloading1D
        • ArmstrongFrederick1D
        • AFCO1D
        • Bilinear1D
        • BilinearMises1D
        • CustomGurson1D
        • CustomMises1D
        • ExpGurson1D
        • ExpMises1D
        • Mises1D
        • Multilinear1D
        • NonlinearGurson1D
        • VAFCRP1D
    • Material2D
      • AxisymmetricElastic
      • Concrete21
      • Concrete22
      • DuncanSelig
      • Elastic2D
      • Rebar2D
    • Material3D
      • CamClay
        • BilinearCC
        • ExpCC
        • NonlinearCamClay
        • ParabolicCC
      • Concrete
        • CDP
        • CDPM2
        • Rebar3D
        • TableCDP
        • CustomCDP
      • Damage
        • IsotropicDamage
        • LinearDamage
      • DruckerPrager
        • BilinearDP
        • ExpDP
        • CustomDP
        • NonlinearDruckerPrager
      • Elastic
        • BlatzKo
        • IsotropicElastic3D
        • IsotropicNonlinearElastic3D
        • MooneyRivlin
        • NLE3D01
        • OrthotropicElastic3D
        • Yeoh
      • Hoffman
        • BilinearHoffman
        • ExpHoffman
        • CustomHoffman
        • NonlinearHill
        • NonlinearHoffman
        • TimberPD
      • Sand
        • SimpleSand
        • DafalisaManzari
      • vonMises
        • ArmstrongFrederick
        • BilinearJ2
        • BilinearPeric
        • CustomGurson
        • TableGurson
        • CustomJ2
        • ExpGurson
        • ExpJ2
        • MultilinearJ2
        • NonlinearGurson
        • NonlinearJ2
        • NonlinearPeric
        • PolyJ2
        • VAFCRP
        • Subloading
    • MaterialOS
      • ElasticOS
    • Wrapper
      • Axisymmetric
      • Laminated
      • Parallel
      • PlaneStrain
      • PlaneSymmetric
      • PlaneStress
      • Rotation2D
      • Rotation3D
      • Sequential
      • Stacked
      • Uniaxial
      • OS146
      • OS146S
      • Substepping
      • Prestrain
  • Recorder
    • Recorder
    • OutputType
  • Section
    • Code
      • EU
      • NZ
      • US
    • Section1D
      • Circle1D
      • Fibre1D
      • Rectangle1D
      • TrussSection
    • Section2D
      • Bar2D
      • Box2D
      • Circle2D
      • CircularHollow2D
      • Fibre2D
      • HSection2D
      • ISection2D
      • Rectangle2D
      • TSection2D
    • Section3D
      • Bar3D
      • Box3D
      • Circle3D
      • CircularHollow3D
      • Fibre3D
      • ISection3D
      • Rectangle3D
      • TSection3D
    • SectionOS
      • Cell3DOS
      • Fibre3DOS
    • SectionNM
      • SectionNM
      • NM2D1
      • NM2D2
      • NM2D3
      • NM2D3K
      • NM3D1
      • NM3D2
      • NM3D3
      • NM3D3K
  • Solver
    • BFGS
    • MPDC
    • Newton
    • AICN
    • Ramm
  • Step
    • Overview
    • ArcLength
    • Buckle
    • Dynamic
    • Frequency
    • Optimization
    • Static
  • Developer
    • Prerequisites
    • C Style Interface
      • material
    • CPP Style Interface
      • material
      • element
      • constraint
Powered by GitBook
On this page
  • Implicit Methods
  • Newmark
  • Bathe Two-Step
  • Generalized-
  • GSSSS
  • Explicit Methods
  • Central Difference (Not Available)
  • Tchamwa
  • Explicit Bathe Two-Step
  • Explicit Generalized-
  • Does Order of Accuracy Matter?
Edit on GitHub
  1. Integrator

Overview

PreviousGroupGroupNextLinear

Last updated 3 days ago

The Integrator is some middleware between Solver (in charge of solving the system) and Domain (in charge of managing the state of the system). It is mainly responsible for time integration in which the proper equation of motion can be formulated. To fulfill this task, the Integrator provides an additional layer and handles the communication between the Solver and the Domain, thus, it can also be deemed as a broker between the two. Due to this fact, a number of different (special) operations, for example, formulating the global damping model, can also be implemented via an Integrator. A number of integrators are implemented.

Implicit Methods

Newmark

But how can one determine which Integrator to use? The most widely used integrator is (probably) the integrator. Indeed, it is almost the de-facto method to use it in structural dynamics, and there is no need to justify the choice.

But the method is not always the best choice. The second-order accuracy and algorithmic damping cannot coexist in the Newmark method. And it is sensitive to initial conditions, if wrong ones are assigned, it can at most be first-order accurate. If there are no special needs and the target system is 'well-behaving', one may still use the Newmark method.

Bathe Two-Step

If energy and momentum conservations matter, the integrator provides a very cost-efficient solution. The performance should be comparable to the Newmark integrator. It has the same second-order accuracy and controllable algorithmic damping. It is effectively a two-step method, and it alternates between a trapezoidal step and a backward Euler step.

Generalized-α\alphaα

If one wants to customise algorithmic damping in a single step method, the integrator can be used. By adjusting two parameters, several other methods can be recovered. Since the equation of motion is satisfied somewhere within the time step (rather than the beginning/ending), it requires roughly a factor of two more vector operations than the integrator. However, vector operations are not costly and are mostly implemented in a parallel fashion, it is not considered a severe performance issue.

GSSSS

The most general integrator is the integrator. The optimal performance (in terms of overshoot, energy dissipation/dispersion) can be achieved by using the U0-V0 Optimal scheme.

The integrator requires an additional iteration to synchronise the state of the system. Thus, the performance is sightly higher than that of the integrator.

Explicit Methods

Central Difference (Not Available)

The explicit central difference method is frequently introduced in textbooks on dynamics due to its simplicity. The major benefit(s) is that the stiffness matrix does not enter the left-hand side of the equation of motion, which means, under certain conditions, factorisation of global effective matrix would only be done once. This leads to "very efficient" solutions.

However, it is in general difficult to meet those conditions. It is not implemented, and users are discouraged from using central difference in seismic engineering.

Tchamwa

Explicit Bathe Two-Step

Explicit Generalized-α\alphaα

Does Order of Accuracy Matter?

It is complicated.

For linear problems, the order of accuracy can be directly reflected in the numerical results. If accuracy matters, choosing a method that possesses higher order of accuracy would have a direct impact on the results. In this case, it indeed matters.

For nonlinear problems in which nonlinear material models are involved, it probably does not matter. The reason is that, in most implementations of nonlinear material models, particularly those following the conventional return mapping algorithm, the local integration is often done using the implicit Euler method, which is a first-order accurate method. This makes the material model the bottleneck of the accuracy.

It is thus very likely that even if a higher-order accurate integrator is used, the results would not be more accurate than those obtained using a first-order accurate method. To summarise, as a general rule, for nonlinear problems, algorithmic damping and numerical performance are more important. If the implementation of the material model is known to be second-order accurate, then it is worth considering a higher-order accurate integrator. Otherwise, using a first-order accurate integrator is sufficient.

The integrator is a generalization of the central difference method. It provides a first-order accurate solution with controllable numerical dissipation.

The version of the Bathe two-step integrator is available. It is a second-order accurate method with controllable numerical dissipation.

The version of the generalized-α\alphaα integrator is also available.

Newmark
Newmark
BatheTwoStep
GeneralizedAlpha
Newmark
GSSSS
GSSSS
GeneralizedAlpha
Tchamwa
explicit
explicit