amfe.quadratic_manifold subpackage

qm_methods

Methods for the Quadratic Manifold approach.

amfe.quadratic_manifold.qm_methods.theta_orth_v(Theta, V, M, overwrite=False)[source]

Make third order tensor Theta fully mass orthogonal with respect to the basis V via a Gram-Schmid-process.

Parameters:
  • Theta (ndarray) – Third order Tensor describing the quadratic part of the basis
  • V (ndarray) – Linear Basis
  • M (ndarray or scipy.sparse matrix) – Mass Matrix
  • overwrite (bool) – Flag for setting, if Theta should be overwritten in-place
Returns:

Theta_orth – Third order tensor Theta mass orthogonalized, such that Theta_orth[:,i,j] is mass orthogonal to V[:,k]: \(\theta_{ij}^T M V = 0\)

Return type:

ndarray

qm_system

Quadratic Manifold system...

class amfe.quadratic_manifold.qm_system.QMSystem(**kwargs)[source]

Bases: amfe.mechanical_system.MechanicalSystem

Quadratic Manifold Finite Element system.

K_and_f(u=None, t=0)[source]

Take care here! It is not clear yet how to compute the tangential stiffness matrix!

It seems to be like the contribution of geometric and material stiffness.

M(u=None, t=0)[source]
S_and_res(u, du, ddu, dt, t, beta, gamma)[source]

TODO: checking the contributions of the different parts of the iteration matrix etc.

export_paraview(filename, field_list=None)[source]

Export the produced results to ParaView via XDMF format.

f_ext(u, du, t)[source]

Return the reduced external force. The velocity du is by now ignored.

write_timestep(t, u)[source]
amfe.quadratic_manifold.qm_system.reduce_mechanical_system_qm(mechanical_system, V, Theta, overwrite=False)[source]

Reduce the given mechanical system to a QM system with the basis V and the quadratic part Theta.

Parameters:
  • mechanical_system (instance of MechanicalSystem) – Mechanical system which will be transformed to a ReducedSystem.
  • V (ndarray) – Reduction Basis for the reduced system
  • Theta (ndarray) – Quadratic tensor for the Quadratic manifold. Has to be symmetric with respect to the last two indices and is of shape (n_full, n_red, n_red).
  • overwrite (bool, optional) – switch, if mechanical system should be overwritten (is less memory intensive for large systems) or not.
Returns:

reduced_system – Quadratic Manifold reduced system with same properties of the mechanical system and reduction basis V and Theta

Return type:

instance of ReducedSystem

Example