modelOverview
Extends from Modelica.Icons.Information (Icon for general information packages).
Information
About
ADMSL is the Algorithmically Differentiated (AD) version of a part of the Modelica standard package Modelica.Electrical.Analog.Basic. The underlying promising goal it to become the AD version of the Modelica Standard Library. This is where the name ADMSL comes from (Algorithmically differentiated Modelica Standard Library).
This library serves as a guide for illustrating equation-based algorithmic differentation techniques for differentiating Modelica libraries. An algorithmically differentiated Modelica library contains every thing the original version has together with parameter sensitivities. The same models relying on that library additionally evaluates parameter sensitivities with few minimal efforts and slight changes. However these models preserve the same interface and outlook.
Implementation
This library is an algorithmically differentiated version of the Modelica supackage Modelica.Electrical.Analog.Basic. It is the result of applying some simple code generation rules.
The following rules for the declaration part and the equation part are used for computing algorithmically differentiated versions:
1. Declaration rule: structure duplications
- The package structure of the ADMSL.T1.Electrical library is identical to the structure of the package Modelica.Electrical
- A class C' in a package ADMSL.T1.P1.P2...PN extends the class C in the package MSL.P1.P2...PN
- E.g. See the package ADMSL.T1.Electrical.Analog.Basic
In order to satisfy that the following steps are sometimes necessary
- Declared classes within C' should be replaced by their corresponding AD versions
- Since declared classes within components of the Modelica standard libraries are not necessarily declared as replaceable, therefore, sometimes some components in Modelica.Electrical has been enhanced with replaceable declaration and placed under ADMSL.MSL.
- See e.g. the difference between Modelica.Electrical.Analog.Basic.Resistor and ADMSL.MSL.Electircal.Analog.Basic.Resistor
2. Declaration rule: duplication of data segments
- For each variable, or parameter a gradient object is associated
- See e.g. Modelica.Electrical.Analog.Interfaces.Pin vs. ADMSL.T1.Electrical.Analog.Interfaces.Pin
- Modelica.Electrical.Analog.Basic.Resistor vs. ADMSL.T1.Electircal.Analog.Basic.Resistor
3. Forward differentiation rule: generation of sensitivity equations
- The equation part of an AD version of a component includes the corresponding sensitivity equation.
- For many simple components, the computation of sensitivity equations is very simple,
- see e.g. ADMSL.T1.Electrical.Analog.Basic.Capacitor which extends Modelica.Electrical.Analog.Basic.Capacitor.
- For complicated components, equation-based AD techniques is applied. See the references for more algorithmic details
- See e.g. ADMSL.T1.Electrical.Analog.Basic.Conductor