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
based on angular momentum and director d3 (ODE approach)
not derived from variational principle
used for NODY publication(https://doi.org/10.1007/s11071-023-08522-7), taken from Bobenko & Suris, 1999
- 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