NonLinearDynamicMultibody¶
Nonlinear dynamic multibody
Nonlinear dynamic step solver for multibody structures.
The settings that this solver accepts are given by a dictionary, with the following key-value pairs:
Name
Type
Description
Default
print_infoboolPrint output to screen
Truemax_iterationsintSets maximum number of iterations
100num_load_stepsint1delta_curvedfloat0.01min_deltafloatStructural solver tolerance
1e-05newmark_dampfloatSets the Newmark damping coefficient
0.0001gravity_onboolFlag to include gravitational forces
FalsegravityfloatGravitational acceleration
9.81relaxation_factorfloat0.3dtfloatTime step increment
0.01num_stepsint500time_integratorstrMethod to perform time integration
NewmarkBetatime_integrator_settingsdictSettings for the time integrator
{}write_lmboolWrite lagrange multipliers
Falserelax_factor_lmfloatRelaxation factor for Lagrange Multipliers. 0 no relaxation. 1 full relaxation
0.0This function generates the matrix and vector associated to the linear system to solve a structural iteration It usses a Newmark-beta scheme for time integration. Being M, C and K the mass, damping and stiffness matrices of the system:
\[MB_Asys = MB_K + MB_C\]rac{gamma}{eta dt} + rac{1}{eta dt^2} MB_M
- Args:
MB_beam (list(
Beam)): each entry represents a body MB_tstep (list(StructTimeStepInfo)): each entry represents a body ts (int): Time step number dt(int): time step Lambda (np.ndarray): Lagrange Multipliers array Lambda_dot (np.ndarray): Time derivarive ofLambdaMBdict (dict): Dictionary including the multibody information- Returns:
MB_Asys (np.ndarray): Matrix of the systems of equations MB_Q (np.ndarray): Vector of the systems of equations
This function computes the forces generated at Lagrange Constraints
- Parameters
MB_beam (list(
Beam)) – each entry represents a bodyMB_tstep (list(
StructTimeStepInfo)) – each entry represents a bodyts (int) – Time step number
dt (float) – Time step increment
Lambda (np.ndarray) – Lagrange Multipliers array
Lambda_dot (np.ndarray) – Time derivarive of
Lambda
Warning
This function is underdevelopment and not fully functional
This function defines the number of degrees of freedom in a multibody systems
Each body contributes with
num_dofdegrees of freedom and 10 more if the associated local FoR can move or has Lagrange Constraints associated
This function integrates the position of each local A FoR after the structural iteration has been solved.
It uses a Newmark-beta approximation.
- Parameters
MB_beam (list(
Beam)) – each entry represents a bodyMB_tstep (list(
StructTimeStepInfo)) – each entry represents a bodydt (int) – time step