Releases: aatmdelissen/pyMOTO
Releases · aatmdelissen/pyMOTO
v1.5.1
What's Changed
- Pass a and c parameters to MMA by @bva99 in #24
- Extra
origin
attribute ofDomainDefinition
- Add support for complex eigenvalue and eigenvector sensitivities
- Add support for complex matrix sensitivities (using
AssembleGeneral
) - Split up pure diagonal entries in LDAS solver for increased performance
- Allow plotting in log scale in
PlotIter
Bugfixes:
- Correct convergence tolerances for multiple RHS in CG solver
- Fix complex value contractions in
DyadCarrier
- Type conversion in
SolverSparsePardiso
in caseint
vectors are passed - Fix memory leak in
SolverSparsePardiso
in case it was constructed many times
New Contributors
Full Changelog: v1.5.0...v1.5.1
v1.5.0
What's Changed
- Thermo mechanical by @JoranZwet in #21 containing new modules
ElementAverage
,NodalOperation
andThermoMechanical
- ScalarToFile to output scalar values to txt or csv files by @JoranZwet in #22
- Sparse eigenvector sensitivities
- Additional functionality in
DyadCarrier
:min()
,max()
,n_dyads
,shape
- Add Svanberg 2007 version in MMA for better conversion
Bugfixes:
- Fix problem in MMA with identifiying scalar variable in
numpy2
by @schnellerhase in #20 - Bugfixes in copying empty
DyadCarrier
- Bugfix when calling 'H' or 'T' before calling 'N'-type solve in Pardiso solver
New Contributors
- @schnellerhase made their first contribution in #20
Full Changelog: v1.4.0...v1.5.0
v1.4.0
Changes:
- Add modules for element-wise operations (
ElementOperation
,Stress
, andStrain
) (for usage, see the example examples/topology_optimization/ex_volume_stress.py) - Add density filter based on convolution, allowing 'padded' boundary conditions and custom filtering kernels (for usage, see the example examples/topology_optimization/ex_compliance_padding_filter.py)
- Aggregation modules with active-set and approximation correction strategies
- Rework of linear solvers as a separate package in pyMOTO
- Addition of iterative solver (CG) and several preconditioners (Jacobi, SOR, geometric multigrid)
- Geometric multigrid preconditioner for solving large-scale topology optimization problems (for usage, see the new example examples/topology_optimization/ex_compliance_multigrid.py)
- Several bugfixes and minor improvements
What's Changed
- Convolution filter by @aatmdelissen in #17
- v1.4 release by @aatmdelissen in #19
Full Changelog: v1.3.0...v1.4.0
v1.3.0
New features:
- Assembly of generic Poisson type matrices (
AssemblePoisson
), which can be used for e.g. thermal conduction, electric permittivity - Mass matrix assembly
AssembleMass
now supports other type of physics; e.g. mass, damping, thermal capacity - Node coordinates and cartesian indices can now be obtained from
DomainDefinition
, respectively, by using methodsget_node_position()
andget_node_indices()
Examples:
- 3D thermal optimization now works! (
ex_compliance.py
)
What's Changed
- Element matrices by @JoranZwet in #16
Full Changelog: v1.2.1...v1.3.0
v1.2.1
Bugfixes:
- Corrected shape functions for finite element assembly
What's Changed
- Bugfixes by @JoranZwet in #15
New Contributors
- @JoranZwet made their first contribution in #15
Full Changelog: v1.2.0...v1.2.1
v1.2.0
Contributions to modules:
- Allow for additional values on DOFs in assembly (
add_constant
argument) - Modules for stress calculation, vonmises stress and constraint aggregation (in
ex_volume_stress.py
) - Module for enforcing symmetry (in
ex_flexure.py
) StaticCondensation
module for use in kinetostatic formulation (ex_compliant_mechanism_kinetostatic.py
)
New examples:
- Compliant mechanism design using springs (Sigmund formulation)
- Compliant mechanism design using kinetostatic approach (Koppen formulation)
- Volume minimization under stress constraints
- Thermo-mechanical example
ex_thermo_mech.py
Bug fixes:
- Fixed sensitivity analysis of SoQ as to allow for Nonetype sensitivity input
Tests:
- More tests for SoQ (test for Nonetype input sensitivity)
- Test StaticCondensation module
Documentation:
- Added documentation to multiple existing examples
What's Changed
- Topology optimization examples by @artofscience in #9
Full Changelog: v1.1.0...v1.2.0
v1.1.0
Features:
- New module
SystemOfEquations
for solving a linear system of equations with constraints - New module
Scaling
for proper scaling of objective functions and constraints - New topology optimization examples for dynamic compliance, compliant mechanisms, and compliance optimization based on prescribed displacements
Bugfixes:
- Support for multiple right-hand-sides in
LinSolve
- Mixed real and complex signals for
EinSum
What's Changed
- Examples flexure by @artofscience in #5
New Contributors
- @artofscience made their first contribution in #5
Full Changelog: v1.0.3...v1.1.0
v1.0.3
Bugfixes:
- Several bugfixes regarding sliced signals
- Slicing signals now works correctly using a numpy array as index
- Correct finite difference when using sliced signals
- MMA arguments are directly passed
Full Changelog: v1.0.2...v1.0.3
v1.0.2
Features:
EigenSolve
now supports eigenvalues from sparse matrices- Add module
ConcatSignal
that allows merging data of multiple signals into one
Other:
- Improved MMA interface
- Python version 3.7 is now supported
Full Changelog: v1.0.1...v1.0.2
v1.0.1
BugFixes:
- Correct sensitivities for complex matrices in
LinSolve
- Auto-differentiation module
AutoMod
is corrected and tested
Renamed:
Density
toDensityFilter
WriteToParaview
toWriteToVTI
Other:
- Updated documentation and build system
Full Changelog: v1.0.0...v1.0.1