Linear static analysis (structsolve.static)#

structsolve.static(K, fext, silent=False)#

Linear static analysis

Solves \([K]\{u\} = \{F_{ext}\}\) using solve(). For linear and non-linear static analyses based on callables that calculate the force vectors and stiffness matrices, see Analysis.

Parameters:
Ksparse_matrix

Stiffness matrix. Should include initial stress stiffness matrix, aerodynamic matrix and so forth when applicable. It may be unsymmetric, e.g. K0 + kCfollower for a follower load on a geometrically linear structure, whose load stiffness is kCfollower = -dF/dc.

fextarray-like

Vector of external loads.

silentbool, optional

A boolean to tell whether the log messages should be printed.

Returns:
incrementslist

[1.], the load factor of the solution.

cslist

List with the solution vector.

structsolve.solve(a, b, silent=False, **kwargs)#

Solve a linear system of equations removing null rows and columns

Wrapper for scipy.sparse.linalg.spsolve(). The rows and columns of a without any non-zero term, typically the constrained degrees of freedom of a Ritz or finite element model, are removed before solving the linear system of equations. The corresponding values of the solution x are zero.

Parameters:
andarray or sparse matrix

A square matrix, converted to CSR form in the solution. It may be unsymmetric, e.g. with the load stiffness of follower loads, since scipy.sparse.linalg.spsolve() uses an LU factorization. The degrees of freedom whose row and column are both null are removed.

bndarray

1-D array representing the right-hand side of the system of equations.

silentbool, optional

A boolean to tell whether the log messages should be printed.

kwargskeyword arguments, optional

Other arguments directly passed to scipy.sparse.linalg.spsolve().

Returns:
xndarray

The solution of the system of equations, a 1-D array of size a.shape[1] with the same dtype as b.