Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sintef/muscade.jl

Framework for FEM-constrained optimisation problems
https://github.com/sintef/muscade.jl

Last synced: about 2 months ago
JSON representation

Framework for FEM-constrained optimisation problems

Awesome Lists containing this project

README

        

# Muscade.jl

**Create and solve optimization-FEM models.**

## Purpose

Optimization-FEM consists in optimising a target function (here called the cost function) under the constraint that a FEM model be exactly verified. This in turn implies that the problem has more unknowns than the model has equation (or at least: more unknowns than linearly independent equations, as would be the case with “insufficient” boundary conditions).

The unknowns that are dual to the FEM equations are noted X-dofs (the *response* of the model). The rest of the unknowns can be separated into U-dofs (varying with time, generaly *unknown loads*) and A-dofs (constant over time, generaly *unknown model parameters*). The conditions for such a constrained optimization problem to be well-posed are the Babushka-Brezzi conditions, which say, in essence “if you do not restrain, then at least measure”.

## Applications of optimization-FEM

Besides solving well-posed FEM problems (obtaining the response of a system, given adequate boundary conditions and known loading terms), many applications can be, or should be, possible within `Muscade`.

**Reliability analysis**: Finding a design point. What is the most probable combination of external loads `U` and strength of the structure `A` that may cause the response `X` to exceed, in one of many ways, the acceptable?

**Design optimization**: What is the cheapest way to engineer a system (for example a structure) that will survive a set of loading conditions?

**Load identification and monitoring**: Given incomplete and noisy measurements of the response of a system, what are the loads that are most likely to cause a response close to what has been measured?

**Optimal control**: how to steer a system with many dofs into a wanted behaviour?

**Model identification**: given enough measurements on the response of a system responding to at least partly unknown load, is it possible to adjust the model of the system (model calibration, damage detection)?

**Sensor array optimization**: how best to place sensors in a system in order to support the above applications?

## Documentation

See the [documentation](https://sintef.github.io/Muscade.jl/stable/index.html).

## Installing Muscade

In the REPL, type `]` (to go into package management mode), followed by

- `add Muscade`.
- Press the `backspace` key to leave the package manager.