pyMOTO Reference
Core
Manages the state data, sensitivities, and connects module in- and outputs |
|
Main class: Module Transforms input signal to output signal and output signal sensitivity to input signal sensitivity |
|
Binds multiple Modules together as one Module |
Mathematical Modules
General linear algebra module which uses the Numpy function |
|
General mathematical expression module |
|
Calculate the inverse of a matrix \(\mathbf{B} = \mathbf{A}^{-1}\) |
|
Solves linear system of equations \(\mathbf{A}\mathbf{x}=\mathbf{b}\) |
|
Solve a partitioned linear system of equations |
|
Static condensation of a linear system of equations |
|
Solves the (generalized) eigenvalue problem \(\mathbf{A}\mathbf{q}_i = \lambda_i \mathbf{B} \mathbf{q}_i\) |
|
Scales (scalar) input for different response functions in optimization (objective / constraints). |
Finite Element Modules
Assembles a sparse matrix according to element scaling \(\mathbf{A} = \sum_e x_e \mathbf{A}_e\) |
|
Stiffness matrix assembly by scaling elements in 2D or 3D \(\mathbf{K} = \sum_e x_e \mathbf{K}_e\) |
|
Consistent mass matrix or equivalents assembly by scaling elements \(\mathbf{M} = \sum_e x_e \mathbf{M}_e\) |
|
Assembly of matrix to solve Poisson equation (e.g. Thermal conductivity, Electric permittivity) \(\mathbf{P} = \sum_e x_e \mathbf{P}_e\). |
Filter Modules
Standard density filter for a structured mesh in topology optimization |
|
Implementation of overhang filter by Langelaar (2016, 2017) |
Output Modules
Plots the densities of a domain (2D or 3D) |
|
Plot an X-Y graph |
|
Plot iteration history of one or more variables |
|
Writes vectors to a Paraview VTI file |
Complex-value Modules
Makes a complex variable from two real inputs \(z(x,y) = x + iy\) |
|
Takes the real part of a complex value \(x = \text{Re}(z)\) |
|
Takes the imaginary part of a complex value \(y = \text{Im}(z)\) |
|
Takes the complex norm \(A = z z^*\) |
Common Utilities and Routines
Definition for a structured domain Nodal numbering used in the domain is given below. |
|
Efficient storage for dyadic or rank-N matrix |
|
Performs a finite difference check on the given Module or Network |
|
Execute minimization using the OC-method |
|
Execute minimization using the MMA-method Svanberg (1987), The method of moving asymptotes - a new method for structural optimization |
Linear Solvers
Linear dependency aware solver (LDAS) |
|
Solver for diagonal matrices |
|
Solver for dense (square) matrices using a QR decomposition |
|
Solver for dense (square) matrices using an LU decomposition |
|
Solver for Hermitian positive-definite matrices using a Cholesky factorization. |
|
Solver for Hermitian or symmetric matrices using an LDL factorization. |
|
Solver for sparse (square) matrices using an LU decomposition. |
|
Solver wrapper Intel MKL Pardiso solver, which is a very fast and flexible multi-threaded solver |
|
Solver for positive-definite Hermitian matrices using a Cholesky factorization. |
|
Solver for positive-definite Hermitian matrices using a Cholesky factorization. |