Skip to content

Commit

Permalink
Removed the IDAS solver (closes #1515).
Browse files Browse the repository at this point in the history
  • Loading branch information
agarny committed Jan 11, 2018
2 parents b6c4d82 + d531784 commit 76cd773
Show file tree
Hide file tree
Showing 40 changed files with 657 additions and 2,366 deletions.
1 change: 0 additions & 1 deletion CMakeLists.txt
Expand Up @@ -861,7 +861,6 @@ SET(PLUGINS
solver/ForwardEulerSolver
solver/FourthOrderRungeKuttaSolver
solver/HeunSolver
solver/IDASSolver
solver/KINSOLSolver
solver/SecondOrderRungeKuttaSolver

Expand Down
2 changes: 1 addition & 1 deletion doc/downloads/index.js
Expand Up @@ -38,7 +38,7 @@ var jsonData = { "versions": [
],
"changes": [
{ "change": "<strong>General:</strong> improved our support for <a href=\"https://en.wikipedia.org/wiki/Differential_algebraic_equation\">DAE</a> models (see issues <a href=\"https://github.com/opencor/opencor/issues/188\">#188</a> and <a href=\"https://github.com/opencor/opencor/issues/536\">#536</a>)." },
{ "change": "<strong>Solvers:</strong> can now parameterise the <a href=\"https://computation.llnl.gov/projects/sundials/kinsol\">KINSOL</a> solver (see issue <a href=\"https://github.com/opencor/opencor/issues/1510\">#1510</a>). Don't reset the <a href=\"https://computation.llnl.gov/projects/sundials/kinsol\">KINSOL</a> solver on consecutive runs and improved its implementation (see issue <a href=\"https://github.com/opencor/opencor/issues/1512\">#1512</a>)." },
{ "change": "<strong>Solvers:</strong> can now parameterise the <a href=\"https://computation.llnl.gov/projects/sundials/kinsol\">KINSOL</a> solver (see issue <a href=\"https://github.com/opencor/opencor/issues/1510\">#1510</a>). Don't reset the <a href=\"https://computation.llnl.gov/projects/sundials/kinsol\">KINSOL</a> solver on consecutive runs and improved its implementation (see issue <a href=\"https://github.com/opencor/opencor/issues/1512\">#1512</a>). Removed the <a href=\"https://computation.llnl.gov/projects/sundials/idas\">IDAS</a> solver (see issue <a href=\"https://github.com/opencor/opencor/issues/1515\">#1515</a>)." },
{ "change": "<strong>Simulation Experiment view:</strong> don’t incorrectly mark a CellML file as modified (see issue <a href=\"https://github.com/opencor/opencor/issues/1513\">#1513</a>)." },
{ "change": "<strong>Third-party libraries:</strong> upgraded the <a href=\"http://computation.llnl.gov/projects/sundials\">SUNDIALS</a> library to version 3.1.0 (see issue <a href=\"https://github.com/opencor/opencor/issues/1507\">#1507</a>)." }
]
Expand Down
1 change: 0 additions & 1 deletion doc/user/index.html
Expand Up @@ -94,7 +94,6 @@
<li><a href="plugins/solver/ForwardEulerSolver.html">ForwardEulerSolver</a></li>
<li><a href="plugins/solver/FourthOrderRungeKuttaSolver.html">FourthOrderRungeKuttaSolver</a></li>
<li><a href="plugins/solver/HeunSolver.html">HeunSolver</a></li>
<li><a href="plugins/solver/IDASSolver.html">IDASSolver</a></li>
<li><a href="plugins/solver/KINSOLSolver.html">KINSOLSolver</a></li>
<li><a href="plugins/solver/SecondOrderRungeKuttaSolver.html">SecondOrderRungeKuttaSolver</a></li>
</ul>
Expand Down
1 change: 0 additions & 1 deletion doc/user/knownLimitations.html
Expand Up @@ -35,7 +35,6 @@
<li>It may incorrectly (in)validate certain <a href="https://www.cellml.org/">CellML</a> files.</li>
</ul>
</li>
<li>Ideally, models consisting of <a href="https://en.wikipedia.org/wiki/Differential_algebraic_equation">differential algebraic equations</a> (DAEs) would be run using a DAE solver, but this is not currently supported. However, a DAE model is nothing more than a system of <a href="https://en.wikipedia.org/wiki/Ordinary_differential_equation">ordinary differential equations</a> (ODEs) and <a href="https://en.wikipedia.org/wiki/Nonlinear_system#Nonlinear_algebraic_equations">non-linear algebraic (NLA) equations</a>. So, for now, DAE models can be run using both an ODE and an NLA solver.</li>
</ul>

<div class="section">
Expand Down
1 change: 0 additions & 1 deletion doc/user/plugins/index.html
Expand Up @@ -160,7 +160,6 @@
<li><strong><a href="solver/ForwardEulerSolver.html">ForwardEulerSolver</a>:</strong> a plugin that implements the <a href="https://en.wikipedia.org/wiki/Euler_method">Forward Euler method</a> to solve ODEs.</li>
<li><strong><a href="solver/FourthOrderRungeKuttaSolver.html">FourthOrderRungeKuttaSolver</a>:</strong> a plugin that implements the fourth-order <a href="https://en.wikipedia.org/wiki/Runge–Kutta_methods">Runge-Kutta method</a> to solve ODEs.</li>
<li><strong><a href="solver/HeunSolver.html">HeunSolver</a>:</strong> a plugin that implements the <a href="https://en.wikipedia.org/wiki/Heun's_method">Heun's method</a> to solve ODEs.</li>
<li><strong><a href="solver/IDASSolver.html">IDASSolver</a>:</strong> a plugin that uses <a href="http://computation.llnl.gov/projects/sundials/idas">IDAS</a> to solve DAEs.</li>
<li><strong><a href="solver/KINSOLSolver.html">KINSOLSolver</a>:</strong> a plugin that uses <a href="http://computation.llnl.gov/projects/sundials/kinsol">KINSOL</a> to solve non-linear algebraic systems.</li>
<li><strong><a href="solver/SecondOrderRungeKuttaSolver.html">SecondOrderRungeKuttaSolver</a>:</strong> a plugin that implements the second-order <a href="https://en.wikipedia.org/wiki/Runge–Kutta_methods">Runge-Kutta method</a> to solve ODEs.</li>
</ul>
Expand Down
4 changes: 2 additions & 2 deletions doc/user/plugins/simulation/SimulationExperimentView.html
Expand Up @@ -24,7 +24,7 @@
</p>

<p>
A CellML file describes either a system of <a href = "https://en.wikipedia.org/wiki/Ordinary_differential_equation">ordinary differential equations</a> (ODEs) or <a href="https://en.wikipedia.org/wiki/Differential_algebraic_equation">differential algebraic equations</a> (DAEs). That system may be <a href="https://en.wikipedia.org/wiki/Nonlinear_system">non-linear</a>.
A CellML file describes either a system of <a href = "https://en.wikipedia.org/wiki/Ordinary_differential_equation">ordinary differential equations</a> (ODEs) or <a href="https://en.wikipedia.org/wiki/Differential_algebraic_equation">differential algebraic equations</a> (DAEs).
</p>

<div class="section">
Expand Down Expand Up @@ -217,7 +217,7 @@
</div>

<p>
To simulate a <a href="https://en.wikipedia.org/wiki/Differential_algebraic_equation">DAE</a> model is similar to simulating an <a href = "https://en.wikipedia.org/wiki/Ordinary_differential_equation">ODE</a> model, except that OpenCOR only offers one DAE solver (<a href="http://computation.llnl.gov/projects/sundials/idas">IDAS</a>) at this stage:
To simulate a <a href="https://en.wikipedia.org/wiki/Differential_algebraic_equation">DAE</a> model is similar to simulating an <a href = "https://en.wikipedia.org/wiki/Ordinary_differential_equation">ODE</a> model, except that OpenCOR will also need to solve one or several systems of <a href="https://en.wikipedia.org/wiki/Nonlinear_system#Nonlinear_algebraic_equations">non-linear algebraic</a> (NLA) equations:
</p>

<p class="center">
Expand Down
104 changes: 0 additions & 104 deletions doc/user/plugins/solver/IDASSolver.html

This file was deleted.

41 changes: 40 additions & 1 deletion doc/user/plugins/solver/KINSOLSolver.html
Expand Up @@ -19,9 +19,48 @@
</script>

<p>
The KINSOLSolver plugin uses <a href="http://computation.llnl.gov/projects/sundials/kinsol">KINSOL</a> to solve non-linear systems. It does not require any kind of customisation.
The KINSOLSolver plugin uses <a href="http://computation.llnl.gov/projects/sundials/kinsol">KINSOL</a> to solve systems of NLA equations and it can be customised through the following properties:
</p>

<ul>
<li>
<strong>Maximum number of iterations:</strong> the maximum number of iterations used by the solver to solve the system (default: <code>200</code>).
</li>
</ul>

<ul>
<li>
<strong>Linear solver:</strong> the linear solver used by the solver (default: <code>Dense</code>).

<p class="nomargins note note1">
<code>Dense</code>, <code>Banded</code>, <code>GMRES</code>, <code>BiCGStab</code> or <code>TFQMR</code> can be used.
</p>
<p class="nomargins note note2">
<code>Banded</code> requires specifying both an upper and a lower half-bandwidth value.
</p>
</li>
</ul>

<ul>
<li>
<strong>Upper half-bandwidth:</strong> the upper half-bandwidth value used by the <code>Banded</code> linear solver (default: <code>0</code>).

<p class="nomargins note">
the upper half-bandwidth value must be between <code>0</code> and <code>n-1</code> with <code>n</code> the number of NLA equations in the system.
</p>
</li>
</ul>

<ul>
<li>
<strong>Lower half-bandwidth:</strong> the lower half-bandwidth value used by the <code>Banded</code> linear solver (default: <code>0</code>).

<p class="nomargins note">
the lower half-bandwidth value must be between <code>0</code> and <code>n-1</code> with <code>n</code> the number of NLA equations in the system.
</p>
</li>
</ul>

<script type="text/javascript">
copyright("../../..");
</script>
Expand Down
1 change: 0 additions & 1 deletion doc/user/res/menu.js
Expand Up @@ -36,7 +36,6 @@ function headerAndContentsMenu(pageName, relativePath) {
{ "level": 2, "label": "ForwardEulerSolver", "link": "user/plugins/solver/ForwardEulerSolver.html", "subMenuItem": true },
{ "level": 2, "label": "FourthOrderRungeKuttaSolver", "link": "user/plugins/solver/FourthOrderRungeKuttaSolver.html", "subMenuItem": true },
{ "level": 2, "label": "HeunSolver", "link": "user/plugins/solver/HeunSolver.html", "subMenuItem": true },
{ "level": 2, "label": "IDASSolver", "link": "user/plugins/solver/IDASSolver.html", "subMenuItem": true },
{ "level": 2, "label": "KINSOLSolver", "link": "user/plugins/solver/KINSOLSolver.html", "subMenuItem": true },
{ "level": 2, "label": "SecondOrderRungeKuttaSolver", "link": "user/plugins/solver/SecondOrderRungeKuttaSolver.html", "subMenuItem": true },
{ "level": 1, "label": "Tools", "subMenuHeader": true },
Expand Down
8 changes: 5 additions & 3 deletions doc/user/whatIsNew.html
Expand Up @@ -19,7 +19,7 @@
headerAndContentsMenu("What Is New?", "..");

var versions = jsonData.versions;
var typeWidths = { "Added": 37, "Improved": 51, "Fixed": 31 };
var typeWidths = { "added": 37, "improved": 51, "fixed": 31 };

for (var versionIndex = 0; versionIndex < versions.length; ++versionIndex) {
var version = versions[versionIndex];
Expand Down Expand Up @@ -73,13 +73,15 @@
for (var subEntryIndex = 0; subEntryIndex < subEntries.length; ++subEntryIndex) {
var subEntry = subEntries[subEntryIndex];

document.write(" <li><img src=\"res/pics/"+subEntry.type.toLowerCase()+".png\" class=\"vcenter\" width="+typeWidths[subEntry.type]+" height=15> "+subEntry.description+"</li>\n");
document.write(" <li><img src=\"res/pics/"+subEntry.type+".png\" class=\"vcenter\" width="+typeWidths[subEntry.type]+" height=15> "+subEntry.description+"</li>\n");
}

document.write(" </ul>\n");
document.write(" </li>\n");
} else if (entry.type === "comment") {
document.write(" <li>"+entry.description+"</li>\n");
} else {
document.write(" <li><img src=\"res/pics/"+entry.type.toLowerCase()+".png\" class=\"vcenter\" width="+typeWidths[entry.type]+" height=15> "+entry.description+"</li>\n");
document.write(" <li><img src=\"res/pics/"+entry.type+".png\" class=\"vcenter\" width="+typeWidths[entry.type]+" height=15> "+entry.description+"</li>\n");
}
}

Expand Down

0 comments on commit 76cd773

Please sign in to comment.