fedoo.problem.LinearBuckling

class LinearBuckling(assembly, reuse_assembled_matrix=True, name='MainProblem')

Compute linear buckling modes about a prestressed equilibrium state.

The problem solved is

\[\mathbf{K}_M\boldsymbol{\phi} = -\lambda\mathbf{K}_G\boldsymbol{\phi},\]

where \(\mathbf{K}_M\) is the material tangent stiffness and \(\mathbf{K}_G\) is the initial-stress stiffness. The supplied assembly must already contain the converged preload state.

Parameters:
  • assembly (Assembly-like, Problem or str) – Prestressed assembly, a problem exposing it through assembly, or the name of a registered assembly.

  • reuse_assembled_matrix (bool, default=True) – Reuse the cached preload matrix when all contributing weak forms agree on whether geometric stiffness was enabled. If False, independently assemble both required matrices.

  • name (str, default="MainProblem") – Name of the problem.

Notes

Updated-Lagrangian preload states are not supported. Boundary conditions describe perturbations and must therefore be homogeneous.

__init__(assembly, reuse_assembled_matrix=True, name='MainProblem')

Methods

LinearBuckling.add_global_dof(variable_names)

Add global degrees of freedom to the problem.

LinearBuckling.add_output(filename, assembly)

Register an output for automatic saving managed by solve methods.

LinearBuckling.apply_boundary_conditions([...])

LinearBuckling.clear_outputs()

Stop automatic output by removing all registered requests.

LinearBuckling.get_A()

LinearBuckling.get_B()

LinearBuckling.get_D()

LinearBuckling.get_X()

LinearBuckling.get_active()

Return the active Problem.

LinearBuckling.get_all()

Return the list of all problems.

LinearBuckling.get_disp([name])

Return displacement components of the selected buckling mode.

LinearBuckling.get_dof_solution([name])

LinearBuckling.get_ext_forces([name, ...])

Return the nodal Forces in global coordinates system.

LinearBuckling.get_output_scalars()

Return metadata attached to the currently selected mode.

LinearBuckling.get_results(*args, **kargs)

Extract some results from the current problem.

LinearBuckling.get_rot([name])

Return rotation components of the selected buckling mode.

LinearBuckling.init_bc_start_value()

LinearBuckling.invalidate_factorization()

Invalidate any cached factorization.

LinearBuckling.make_active()

Define the problem instance as the active Problem.

LinearBuckling.save_modes([modes, scale])

Save selected modes through outputs registered with add_output.

LinearBuckling.save_results([iterOutput])

Write the current state to every registered output.

LinearBuckling.set_A(A)

LinearBuckling.set_B(B)

LinearBuckling.set_D(D)

LinearBuckling.set_X(value)

LinearBuckling.set_active(name)

Define the active Problem from its name.

LinearBuckling.set_dof(name, value)

Set values in the current degree-of-freedom vector.

LinearBuckling.set_mode(index[, scale])

Install one zero-based buckling mode as the current solution.

LinearBuckling.set_reuse_factorization([reuse])

Enable or disable factorization reuse for repeated solves.

LinearBuckling.set_solver([solver, which, ...])

Configure the symmetric generalized eigensolver.

LinearBuckling.solve([n_modes, sigma])

Solve for positive critical load factors and buckling modes.

LinearBuckling.update_boundary_conditions()

LinearBuckling.active

LinearBuckling.assembly

Prestressed source assembly.

LinearBuckling.current_mode

Zero-based index of the mode installed as the current solution.

LinearBuckling.geometric_stiffness_matrix

Full unconstrained initial-stress stiffness.

LinearBuckling.global_dof

LinearBuckling.material_assembly

Assembly built for material stiffness, or the reused source.

LinearBuckling.material_stiffness_matrix

Full unconstrained material tangent stiffness.

LinearBuckling.n_dof

LinearBuckling.n_global_dof

LinearBuckling.n_node_dof

LinearBuckling.name

Return the name of the Problem.

LinearBuckling.results

LinearBuckling.solver

Configured eigensolver function, or None in automatic mode.

LinearBuckling.space

Return the ModelingSpace associated to the Problem if defined.

LinearBuckling.total_assembly

Assembly built for total tangent stiffness, or the reused source.

LinearBuckling.total_stiffness_matrix

Full unconstrained material-plus-geometric tangent stiffness.

LinearBuckling.bc

Boundary conditions defined on the problem.