Integrators#

class classes.Integrator.EM_pH#

Energy_Momentum-Integration scheme for PH mechanical system

  • not derived from variational principle

  • uses discrete gradient for ext. potential and internal potential

  • uses mixed variables (e.g. for strains) and has port-Hamiltonian structure

  • more info: https://doi.org/10.1002/pamm.202300144

Method Summary
compute_resi_tang(zn1, zn, this_system)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.Integrator#

Abstract Integrator class

Property Summary
DT#

time step size

INDI_VELO#

whether integrator deals with independent velocities AND momenta

LM0#

initial value for Lagrange multipliers

NAME#

integrator name

NT#

number of time steps

PARA#

integrator parameters

T_0#

start time

T_END#

end time

compute_potential_from_mixed_quantity#

whether potential is computed from mixed quantity or not

hasPARA#

whether integrator features parameters

has_enhanced_constraint_force#

whether constraint force is enhances

nVARS#

number of unknown variables

t#

time

class classes.Integrator.EMG_noCons#

Energy_Momentum-Integration scheme for ODE

  • not derived from variational principle

  • taken from Gonzales 1996

  • uses standard midpoint gradient for ext. potential and discrete gradient for internal potential

  • takes account of non-constant mass-matrices

Method Summary
compute_resi_tang(zn1, zn, this_system)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.GGL_std#

GGL integration scheme for constrained DAE

  • based constraints on position and momentum level

  • independent momenta variables (Livens approach)

  • standard stabilisation scheme by Gear, Gupta & Leimkuhler applied to the constrained symplectic Euler B method

  • not derived from variational principle: constraints evaluated at t_{n+1} and ODE-RHS for q at t_{n+1} and for p at t_n

  • rather bad performance

Method Summary
compute_resi_tang(zn1, zn, this_system)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.MP_std#

Midpoint-Integration scheme for standard constrained DAE

  • based only on constraint on position level

  • independent momenta variables (Hamilton Potryagin approach)

  • not derived from variational principle but simply evaluates RHS at t_{n+1/2}

Method Summary
compute_resi_tang(zn1, zn, this_system, time_n)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.Lagrange_top_ODE#

Integration scheme for Lagrange top

Method Summary
compute_resi_tang(zn1, zn, this_system)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.GGL_VI_mod#

Variational integration scheme for GGL-like constrained DAE

  • based on constraint on position and momentum level

  • independent momenta variables (Livens approach)

  • derived from variational principle

  • symplectic

  • constraints are enforced at t_{n+1}

  • more info: https://doi.org/10.1007/s11044-023-09889-6

Method Summary
compute_resi_tang(zn1, zn, this_system)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.EMS_ggl#

Energy_Momentum-Integration scheme for constrained DAE with GGL principle

  • based only on constraints on position and velocity level

  • independent momenta variables (Hamilton Potryagin approach)

  • not derived from variational principle

  • basic approach from Gonzales 1999 here also applied to constraint on velocity level

  • uses standard gradient for ext. potential and discrete gradient for internal potential and constraints

  • more info: https://doi.org/10.1007/s11071-023-08522-7

Method Summary
compute_resi_tang(zn1, zn, this_system)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.EML_noCons_cyclic#

Energy_Momentum-Integration scheme for ODE with cyclic coordinate

  • not derived from variational principle

  • uses Livens equations of motion

  • uses discrete gradient for ext. potential and internal potential

  • takes account of non-constant mass-matrices

  • splits up for cyclic coordinates! import for conservation of corresponding conjugate momenta

Method Summary
compute_resi_tang(zn1, zn, this_system)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.CSE_B#

Variational integration scheme for constrained DAE

  • based on constraint on position level

  • generalization of the symplectic Euler B method

  • independent momentum variables

  • constraints are enforced at t_{n+1}

Method Summary
compute_resi_tang(zn1, zn, this_system)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.MP_noCons#

Midpoint-Integration scheme for unconstrained dynamics (ODEs)

  • based on momenta and positions (Hamiltonian approach)

  • not derived from variational principle but simply evaluates RHS at t_{n+1/2}

Method Summary
compute_resi_tang(zn1, zn, this_system)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.EMS_std#

Energy_Momentum-Integration scheme for standard constrained DAE

  • based only on constraint on position level

  • not derived from variational principle

  • taken from Gonzales 1999, Hamiltonian framework

  • uses standard gradient for ext. potential and discrete gradient for internal potential and constraint

Method Summary
compute_resi_tang(zn1, zn, this_system, time_n)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.GGL_VI_mod_visc#

Variational integration scheme for GGL-like constrained DAE

  • based on constraint on position and momentum level

  • independent momenta variables (Livens approach)

  • derived from variational principle

  • symplectic

  • constraints are enforced at t_{n+1}

  • takes into account non-conservative viscous forces

  • more info: https://doi.org/10.1007/s11044-023-09889-6

Method Summary
compute_resi_tang(zn1, zn, this_system)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

rearrange_unknowns(~, this_simulation, this_system)#

v_n is an unknown of this scheme, has to be shifted backwards by 1 after computation

class classes.Integrator.GGL_VI_theta_A#

Runge-Kutta typed scheme for GGL-like constrained DAE

  • based on constraint on position and velocity level (GGL-stabilisation)

  • independent momentum variables (Hamilton Potryagin approach)

  • derived from variational principle

  • symplectic method

  • more info: https://doi.org/10.1007/s11071-023-08522-7

Method Summary
compute_resi_tang(zn1, zn, this_system)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.EML_noCons#

Energy_Momentum-Integration scheme for ODEs

  • not derived from variational principle

  • uses Livens equations of motion

  • uses discrete gradient for ext. potential and internal potential

  • takes account of non-constant mass-matrices

Method Summary
compute_resi_tang(zn1, zn, this_system, time_n)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.Rattle#

Variational integration scheme for GGL-like constrained DAE

  • based on constraint on position and velocity level (GGL-stabilisation)

  • constraints are enforced at t_{n+1}

Method Summary
compute_resi_tang(zn1, zn, this_system)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.GGL_theta_mod#

One-stage-theta-method (1) for GGL-like constrained DAE

  • based on constraint on position and velocity level (GGL-stabilisation)

  • independent momentum variables (Hamilton Potryagin approach)

  • derived from one-stage thetat method (constraints have been modified)

  • still from masters thesis, not used further

Method Summary
compute_resi_tang(zn1, zn, this_system)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.GGL_VI#

Variational integration scheme for GGL-like constrained DAE

  • based on constraint on position and momentum level

  • independent momenta variables (Livens approach)

  • derived from variational principle by Peter Betsch (1st attempt for new ‘GGL-functional’

  • not symplectic

  • constraints are enforced at t_{n+1}

Method Summary
compute_resi_tang(zn1, zn, this_system)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.EML#

Energy_Momentum-Integration scheme for standard constrained DAE

  • not derived from variational principle

  • uses Livens equations of motion

  • uses discrete gradient for ext. potential, internal potential and constraint gradients

  • G-equivarient versions for constraint and int. pot. gradients

  • takes account of non-constant mass-matrices

Method Summary
compute_resi_tang(zn1, zn, this_system, time_n)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.GGL_VI_theta_B#

Runge-Kutta typed scheme for GGL-like constrained DAE

  • based on constraint on position and velocity level (GGL-stabilisation)

  • independent momentum and velocity variables (Hamilton Potryagin approach)

  • derived from variational principle

  • from symplectic-theta-framework

  • more info: https://doi.org/10.1007/s11071-023-08522-7

Method Summary
compute_resi_tang(zn1, zn, this_system)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.MP_noCons_Livens#

Midpoint-Integration scheme for standard constrained DAE

  • based only on constraint on position level

  • independent momenta variables (Livens approach)

  • not derived from variational principle but simply evaluates RHS at t_{n+1/2}

Method Summary
compute_resi_tang(zn1, zn, this_system)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1

class classes.Integrator.MP_ggl#

Midpoint-Integration scheme for standard constrained DAE

  • based on constraint on position and velocity level (GGL-stabilisation)

  • independent momenta variables (Hamilton Potryagin approach)

  • not derived from variational principle but simply evaluates RHS of ODE at t_{n+1/2}

  • constraints are enforced at t_{n+1}

Method Summary
compute_resi_tang(zn1, zn, this_problem)#

Computes residual vector & tangent matrix

Parameters:
  • zn1 – state vector for next time step

  • zn – state vector at current time step

  • this_system – System object

Returns:

[ResidualVector, TangentMatrix] for the Newton’s method to update zn1