anastruct.fem.system_components.solver
Functions
|
Non linear solver for the nodes by adapting the stiffness of the elements (nodes). |
|
Determine linear buckling by solving the generalized eigenvalue problem (k -λkg)x = 0. |
|
Module Contents
- anastruct.fem.system_components.solver.stiffness_adaptation(system: anastruct.fem.system.SystemElements, verbosity: int, max_iter: int) numpy.ndarray[source]
Non linear solver for the nodes by adapting the stiffness of the elements (nodes).
- Returns:
Vector with displacements.
- anastruct.fem.system_components.solver.det_linear_buckling(system: anastruct.fem.system.SystemElements) float[source]
Determine linear buckling by solving the generalized eigenvalue problem (k -λkg)x = 0.
geometrical stiffness matrix at buckling point: Kg = f(N_max) 1st order forces: N0 Nmax = λN0 Kg(Nmax) = λ(Kg(N0) = λKg0
2nd order analysis is solved by: (K + λKg0)U = F
We are interested in the point that there is nog additional load F and displacement U is possible. (K + λKg0)ΔU = ΔF = 0 (K + λKg0) = 0
Is the generalized eigenvalue problem: (A - λB)x = 0
- Returns:
The factor the loads can be increased until the structure fails due to buckling.
- anastruct.fem.system_components.solver.geometrically_non_linear(system: anastruct.fem.system.SystemElements, verbosity: int = 0, return_buckling_factor: bool = True, discretize_kwargs: dict | None = None) float | None[source]
- Parameters:
system – (SystemElements)
verbosity – (int)
return_buckling_factor – (bool)
discretize_kwargs – (dict) Containing the kwargs passed to the discretize function
discretize – (function) discretize function.
- Returns:
buckling_factor: (flt) The factor the loads can be increased until the structure fails due to buckling.