Skip to content

Commit

Permalink
Some fixes in fds.lib
Browse files Browse the repository at this point in the history
  • Loading branch information
rmichon committed Jan 15, 2021
1 parent 04209f9 commit d08dc8a
Show file tree
Hide file tree
Showing 7 changed files with 95 additions and 95 deletions.
2 changes: 1 addition & 1 deletion docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -373,5 +373,5 @@ <h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4>

<!--
MkDocs version : 1.1.2
Build Date UTC : 2021-01-13 14:57:21.700588+00:00
Build Date UTC : 2021-01-15 07:02:46.162786+00:00
-->
78 changes: 39 additions & 39 deletions docs/libs/fds/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -217,87 +217,87 @@
</li>
<li class="nav-item" data-level="2"><a href="#model-construction" class="nav-link">Model Construction</a>
<ul class="nav flex-column">
<li class="nav-item" data-level="3"><a href="#fdsmodel1d" class="nav-link">(fds.)model1D</a>
<li class="nav-item" data-level="3"><a href="#fdmodel1d" class="nav-link">(fd.)model1D</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="3"><a href="#fdsmodel2d" class="nav-link">(fds.)model2D</a>
<li class="nav-item" data-level="3"><a href="#fdmodel2d" class="nav-link">(fd.)model2D</a>
<ul class="nav flex-column">
</ul>
</li>
</ul>
</li>
<li class="nav-item" data-level="2"><a href="#interpolation" class="nav-link">Interpolation</a>
<ul class="nav flex-column">
<li class="nav-item" data-level="3"><a href="#fdsstairsinterp1d" class="nav-link">(fds.)stairsInterp1D</a>
<li class="nav-item" data-level="3"><a href="#fdstairsinterp1d" class="nav-link">(fd.)stairsInterp1D</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="3"><a href="#fdsstairsinterp2d" class="nav-link">(fds.)stairsInterp2D</a>
<li class="nav-item" data-level="3"><a href="#fdstairsinterp2d" class="nav-link">(fd.)stairsInterp2D</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="3"><a href="#fdslininterp1d" class="nav-link">(fds.)linInterp1D</a>
<li class="nav-item" data-level="3"><a href="#fdlininterp1d" class="nav-link">(fd.)linInterp1D</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="3"><a href="#fdslininterp2d" class="nav-link">(fds.)linInterp2D</a>
<li class="nav-item" data-level="3"><a href="#fdlininterp2d" class="nav-link">(fd.)linInterp2D</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="3"><a href="#fdsstairsinterp1dout" class="nav-link">(fds.)stairsInterp1DOut</a>
<li class="nav-item" data-level="3"><a href="#fdstairsinterp1dout" class="nav-link">(fd.)stairsInterp1DOut</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="3"><a href="#fdsstairsinterp2dout" class="nav-link">(fds.)stairsInterp2DOut</a>
<li class="nav-item" data-level="3"><a href="#fdstairsinterp2dout" class="nav-link">(fd.)stairsInterp2DOut</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="3"><a href="#fdslininterp1dout" class="nav-link">(fds.)linInterp1DOut</a>
<li class="nav-item" data-level="3"><a href="#fdlininterp1dout" class="nav-link">(fd.)linInterp1DOut</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="3"><a href="#fdsstairsinterp2dout_1" class="nav-link">(fds.)stairsInterp2DOut</a>
<li class="nav-item" data-level="3"><a href="#fdstairsinterp2dout_1" class="nav-link">(fd.)stairsInterp2DOut</a>
<ul class="nav flex-column">
</ul>
</li>
</ul>
</li>
<li class="nav-item" data-level="2"><a href="#routing" class="nav-link">Routing</a>
<ul class="nav flex-column">
<li class="nav-item" data-level="3"><a href="#fdsroute1d" class="nav-link">(fds.)route1D</a>
<li class="nav-item" data-level="3"><a href="#fdroute1d" class="nav-link">(fd.)route1D</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="3"><a href="#fdsroute2d" class="nav-link">(fds.)route2D</a>
<li class="nav-item" data-level="3"><a href="#fdroute2d" class="nav-link">(fd.)route2D</a>
<ul class="nav flex-column">
</ul>
</li>
</ul>
</li>
<li class="nav-item" data-level="2"><a href="#scheme-operations" class="nav-link">Scheme Operations</a>
<ul class="nav flex-column">
<li class="nav-item" data-level="3"><a href="#fdsschemepoint" class="nav-link">(fds.)schemePoint</a>
<li class="nav-item" data-level="3"><a href="#fdschemepoint" class="nav-link">(fd.)schemePoint</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="3"><a href="#fdsbuildscheme1d" class="nav-link">(fds.)buildScheme1D</a>
<li class="nav-item" data-level="3"><a href="#fdbuildscheme1d" class="nav-link">(fd.)buildScheme1D</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="3"><a href="#fdsbuildscheme2d" class="nav-link">(fds.)buildScheme2D</a>
<li class="nav-item" data-level="3"><a href="#fdbuildscheme2d" class="nav-link">(fd.)buildScheme2D</a>
<ul class="nav flex-column">
</ul>
</li>
</ul>
</li>
<li class="nav-item" data-level="2"><a href="#interaction-models" class="nav-link">Interaction Models</a>
<ul class="nav flex-column">
<li class="nav-item" data-level="3"><a href="#fdshammer" class="nav-link">(fds.)hammer</a>
<li class="nav-item" data-level="3"><a href="#fdhammer" class="nav-link">(fd.)hammer</a>
<ul class="nav flex-column">
</ul>
</li>
<li class="nav-item" data-level="3"><a href="#fdsbow" class="nav-link">(fds.)bow</a>
<li class="nav-item" data-level="3"><a href="#fdbow" class="nav-link">(fd.)bow</a>
<ul class="nav flex-column">
</ul>
</li>
Expand All @@ -313,7 +313,7 @@
<h1 id="fdslib">fds.lib</h1>
<p>This library allows to build linear, explicit finite difference schemes
physical models in 1 or 2 dimensions using an approach based on the cellular
automata formalism.
automata formalism. Its official prefix is <code>fd</code>.
In order to use the library, one needs to discretize the linear partial
differential equation of the desired system both at boundaries and in-between
them, thus obtaining a set of explicit recursion relations. Each one
Expand All @@ -330,12 +330,12 @@ <h2 id="sources">Sources</h2>
<p>Here are listed some works on finite difference schemes and cellular
automata thet were the basis for the implementation of this library</p>
<ul>
<li>S. Bilbao, Numerical Sound Synthesis.Chichester,UK: John Wiley Sons,
<li>S. Bilbao, Numerical Sound Synthesis.Chichester, UK: John Wiley Sons,
Ltd, 2009</li>
<li>P. Narbel, "Qualitative and quantitative cellular automata from
differential equations," Lecture Notes inComputer Science, vol. 4173,
<li>P. Narbel, "Qualitative and quantitative cellular automata from
differential equations," Lecture Notes in Computer Science, vol. 4173,
pp. 112–121, 10 2006</li>
<li>X.-S. Yang and Y. Young,Cellular Automata, PDEs, and Pattern Formation.
<li>X.-S. Yang and Y. Young, Cellular Automata, PDEs, and Pattern Formation.
Chapman &amp; Hall/CRC, 092005, ch. 18, pp. 271–282.</li>
</ul>
<h2 id="model-construction">Model Construction</h2>
Expand All @@ -345,7 +345,7 @@ <h2 id="model-construction">Model Construction</h2>
point. Interpolation operators can be used to drive external forces to the
desired points, and to get the signal only from a certain area of the mesh.</p>
<hr />
<h3 id="fdsmodel1d"><code>(fds.)model1D</code></h3>
<h3 id="fdmodel1d"><code>(fd.)model1D</code></h3>
<p>This function can be used to obtain a physical model in 1 dimension.
Takes a force input signal for each point and outputs the state of each
point.</p>
Expand All @@ -362,7 +362,7 @@ <h4 id="usage">Usage</h4>
<li><code>scheme</code>: coefficients scheme</li>
</ul>
<hr />
<h3 id="fdsmodel2d"><code>(fds.)model2D</code></h3>
<h3 id="fdmodel2d"><code>(fd.)model2D</code></h3>
<p>This function can be used to obtain a physical model in 2 dimension.
Takes a force input signal for each point and outputs the state of each
point.
Expand Down Expand Up @@ -392,7 +392,7 @@ <h2 id="interpolation">Interpolation</h2>
where each signal is multiplied by zero except the ones specified by the
arguments.</p>
<hr />
<h3 id="fdsstairsinterp1d"><code>(fds.)stairsInterp1D</code></h3>
<h3 id="fdstairsinterp1d"><code>(fd.)stairsInterp1D</code></h3>
<p>Stairs interpolator in 1 dimension. Takes a number of signals and outputs
the same number of signals, where each one is multiplied by zero except the
one specified by the argument. This can vary at run time (i.e. a slider),
Expand All @@ -406,7 +406,7 @@ <h4 id="usage_2">Usage</h4>
<li><code>point</code>: number of the desired nonzero signal</li>
</ul>
<hr />
<h3 id="fdsstairsinterp2d"><code>(fds.)stairsInterp2D</code></h3>
<h3 id="fdstairsinterp2d"><code>(fd.)stairsInterp2D</code></h3>
<p>Stairs interpolator in 2 dimensions. Similar to the 1-D version.</p>
<h4 id="usage_3">Usage</h4>
<pre><code>si.bus(pointsX*pointsY) : stairsInterp2D(pointsX,pointsY,pointX,pointY) :
Expand All @@ -420,7 +420,7 @@ <h4 id="usage_3">Usage</h4>
<li><code>pointY</code>: vertical index of the desired nonzero signal</li>
</ul>
<hr />
<h3 id="fdslininterp1d"><code>(fds.)linInterp1D</code></h3>
<h3 id="fdlininterp1d"><code>(fd.)linInterp1D</code></h3>
<p>Linear interpolator in 1 dimension. Takes a number of signals and outputs
the same number of signals, where each one is multiplied by zero except two
signals around a floating point index. This is essentially a Faust
Expand All @@ -436,7 +436,7 @@ <h4 id="usage_4">Usage</h4>
<li><code>point</code>: floating point index</li>
</ul>
<hr />
<h3 id="fdslininterp2d"><code>(fds.)linInterp2D</code></h3>
<h3 id="fdlininterp2d"><code>(fd.)linInterp2D</code></h3>
<p>Linear interpolator in 2 dimensions. Similar to the 1 D version.</p>
<h4 id="usage_5">Usage</h4>
<pre><code>si.bus(pointsX*pointsY) : linInterp2D(pointsX,pointsY,pointX,pointY) :
Expand All @@ -450,7 +450,7 @@ <h4 id="usage_5">Usage</h4>
<li><code>pointY</code>: vertical float index</li>
</ul>
<hr />
<h3 id="fdsstairsinterp1dout"><code>(fds.)stairsInterp1DOut</code></h3>
<h3 id="fdstairsinterp1dout"><code>(fd.)stairsInterp1DOut</code></h3>
<p>Stairs interpolator in 1 dimension. Similar to stairsInterp1D, except it
outputs only the desired signal.</p>
<h4 id="usage_6">Usage</h4>
Expand All @@ -462,7 +462,7 @@ <h4 id="usage_6">Usage</h4>
<li><code>point</code>: number of the desired nonzero signal</li>
</ul>
<hr />
<h3 id="fdsstairsinterp2dout"><code>(fds.)stairsInterp2DOut</code></h3>
<h3 id="fdstairsinterp2dout"><code>(fd.)stairsInterp2DOut</code></h3>
<p>Stairs interpolator in 2 dimensions which outputs only one signal.</p>
<h4 id="usage_7">Usage</h4>
<pre><code>si.bus(pointsX*pointsY) : stairsInterp2DOut(pointsX,pointsY,pointX,pointY) : _
Expand All @@ -475,7 +475,7 @@ <h4 id="usage_7">Usage</h4>
<li><code>pointY</code>: vertical index of the desired nonzero signal</li>
</ul>
<hr />
<h3 id="fdslininterp1dout"><code>(fds.)linInterp1DOut</code></h3>
<h3 id="fdlininterp1dout"><code>(fd.)linInterp1DOut</code></h3>
<p>Linear interpolator in 1 dimension. Similar to stairsInterp1D, except it
sums each output signal and provides only one output value.</p>
<h4 id="usage_8">Usage</h4>
Expand All @@ -487,7 +487,7 @@ <h4 id="usage_8">Usage</h4>
<li><code>point</code>: floating point index</li>
</ul>
<hr />
<h3 id="fdsstairsinterp2dout_1"><code>(fds.)stairsInterp2DOut</code></h3>
<h3 id="fdstairsinterp2dout_1"><code>(fd.)stairsInterp2DOut</code></h3>
<p>Linear interpolator in 2 dimensions which outputs only one signal.</p>
<h4 id="usage_9">Usage</h4>
<pre><code>si.bus(pointsX*pointsY) : linInterp2DOut(pointsX,pointsY,pointX,pointY) : _
Expand All @@ -508,7 +508,7 @@ <h2 id="routing">Routing</h2>
scheme point: the force signal, the coefficient matrices and the neighbours’
signals. These functions are based on the Faust route primitive.</p>
<hr />
<h3 id="fdsroute1d"><code>(fds.)route1D</code></h3>
<h3 id="fdroute1d"><code>(fd.)route1D</code></h3>
<p>Routing function for 1 dimensional schemes.</p>
<h4 id="usage_10">Usage</h4>
<pre><code>si.bus((2*R+1)*(T+1)*points),si.bus(points*2) : route1D(points, R, T) :
Expand All @@ -521,7 +521,7 @@ <h4 id="usage_10">Usage</h4>
<li><code>T</code>: time coefficient</li>
</ul>
<hr />
<h3 id="fdsroute2d"><code>(fds.)route2D</code></h3>
<h3 id="fdroute2d"><code>(fd.)route2D</code></h3>
<p>Routing function for 2 dimensional schemes.</p>
<h4 id="usage_11">Usage</h4>
<pre><code>si.bus((2*R+1)^2*(T+1)*pointsX*pointsY),si.bus(pointsX*pointsY*2) :
Expand All @@ -542,7 +542,7 @@ <h2 id="scheme-operations">Scheme Operations</h2>
are used to stack in parallel several schemePoint blocks, according to the
choosed mesh size.</p>
<hr />
<h3 id="fdsschemepoint"><code>(fds.)schemePoint</code></h3>
<h3 id="fdschemepoint"><code>(fd.)schemePoint</code></h3>
<p>This function calculates the next state for each mesh point, in order to
form a scheme, several of these blocks need to be stacked in parallel.
This function takes in input, in order, the force, the coefficient matrices
Expand All @@ -557,7 +557,7 @@ <h4 id="usage_12">Usage</h4>
<li><code>D</code>: scheme spatial dimensions (i.e. 1 if 1-D, 2 if 2-D)</li>
</ul>
<hr />
<h3 id="fdsbuildscheme1d"><code>(fds.)buildScheme1D</code></h3>
<h3 id="fdbuildscheme1d"><code>(fd.)buildScheme1D</code></h3>
<p>This function is used to stack in parallel several schemePoint functions in
1 dimension, according to the number of points.</p>
<h4 id="usage_13">Usage</h4>
Expand All @@ -571,7 +571,7 @@ <h4 id="usage_13">Usage</h4>
<li><code>T</code>: time coefficient</li>
</ul>
<hr />
<h3 id="fdsbuildscheme2d"><code>(fds.)buildScheme2D</code></h3>
<h3 id="fdbuildscheme2d"><code>(fd.)buildScheme2D</code></h3>
<p>This function is used to stack in parallel several schemePoint functions in
2 dimensions, according to the number of points in the X and Y directions.</p>
<h4 id="usage_14">Usage</h4>
Expand All @@ -593,7 +593,7 @@ <h2 id="interaction-models">Interaction Models</h2>
The latters can be also used to drive the single force output signal to the
correct scheme points.</p>
<hr />
<h3 id="fdshammer"><code>(fds.)hammer</code></h3>
<h3 id="fdhammer"><code>(fd.)hammer</code></h3>
<p>Implementation of a nonlinear collision model. The hammer is essentially a
finite difference scheme of a linear damped oscillator, which is coupled
with the mesh through the collision model (see Stefan Bilbao's book,
Expand All @@ -613,7 +613,7 @@ <h4 id="usage_15">Usage</h4>
<li><code>fIn</code>: hammer excitation signal (i.e. a button)</li>
</ul>
<hr />
<h3 id="fdsbow"><code>(fds.)bow</code></h3>
<h3 id="fdbow"><code>(fd.)bow</code></h3>
<p>Implementation of a nonlinear friction based interaction model that induces
Helmholtz motion. (see Stefan Bilbao's book, Numerical Sound Synthesis).</p>
<h4 id="usage_16">Usage</h4>
Expand Down
34 changes: 17 additions & 17 deletions docs/libs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -516,23 +516,23 @@ <h2 id="envelopes">envelopes</h2>
<a href="envelopes/#enasre">(en.)asre</a> &nbsp; &nbsp;
<a href="envelopes/#endx7envelope">(en.)dx7envelope</a> &nbsp; &nbsp;</p>
<h2 id="fds">fds</h2>
<p><a href="fds/#fdsmodel1d">(fds.)model1D</a> &nbsp; &nbsp;
<a href="fds/#fdsmodel2d">(fds.)model2D</a> &nbsp; &nbsp;
<a href="fds/#fdsstairsinterp1d">(fds.)stairsInterp1D</a> &nbsp; &nbsp;
<a href="fds/#fdsstairsinterp2d">(fds.)stairsInterp2D</a> &nbsp; &nbsp;
<a href="fds/#fdslininterp1d">(fds.)linInterp1D</a> &nbsp; &nbsp;
<a href="fds/#fdslininterp2d">(fds.)linInterp2D</a> &nbsp; &nbsp;
<a href="fds/#fdsstairsinterp1dout">(fds.)stairsInterp1DOut</a> &nbsp; &nbsp;
<a href="fds/#fdsstairsinterp2dout">(fds.)stairsInterp2DOut</a> &nbsp; &nbsp;
<a href="fds/#fdslininterp1dout">(fds.)linInterp1DOut</a> &nbsp; &nbsp;
<a href="fds/#fdsstairsinterp2dout">(fds.)stairsInterp2DOut</a> &nbsp; &nbsp;
<a href="fds/#fdsroute1d">(fds.)route1D</a> &nbsp; &nbsp;
<a href="fds/#fdsroute2d">(fds.)route2D</a> &nbsp; &nbsp;
<a href="fds/#fdsschemepoint">(fds.)schemePoint</a> &nbsp; &nbsp;
<a href="fds/#fdsbuildscheme1d">(fds.)buildScheme1D</a> &nbsp; &nbsp;
<a href="fds/#fdsbuildscheme2d">(fds.)buildScheme2D</a> &nbsp; &nbsp;
<a href="fds/#fdshammer">(fds.)hammer</a> &nbsp; &nbsp;
<a href="fds/#fdsbow">(fds.)bow</a> &nbsp; &nbsp;</p>
<p><a href="fds/#fdmodel1d">(fd.)model1D</a> &nbsp; &nbsp;
<a href="fds/#fdmodel2d">(fd.)model2D</a> &nbsp; &nbsp;
<a href="fds/#fdstairsinterp1d">(fd.)stairsInterp1D</a> &nbsp; &nbsp;
<a href="fds/#fdstairsinterp2d">(fd.)stairsInterp2D</a> &nbsp; &nbsp;
<a href="fds/#fdlininterp1d">(fd.)linInterp1D</a> &nbsp; &nbsp;
<a href="fds/#fdlininterp2d">(fd.)linInterp2D</a> &nbsp; &nbsp;
<a href="fds/#fdstairsinterp1dout">(fd.)stairsInterp1DOut</a> &nbsp; &nbsp;
<a href="fds/#fdstairsinterp2dout">(fd.)stairsInterp2DOut</a> &nbsp; &nbsp;
<a href="fds/#fdlininterp1dout">(fd.)linInterp1DOut</a> &nbsp; &nbsp;
<a href="fds/#fdstairsinterp2dout">(fd.)stairsInterp2DOut</a> &nbsp; &nbsp;
<a href="fds/#fdroute1d">(fd.)route1D</a> &nbsp; &nbsp;
<a href="fds/#fdroute2d">(fd.)route2D</a> &nbsp; &nbsp;
<a href="fds/#fdschemepoint">(fd.)schemePoint</a> &nbsp; &nbsp;
<a href="fds/#fdbuildscheme1d">(fd.)buildScheme1D</a> &nbsp; &nbsp;
<a href="fds/#fdbuildscheme2d">(fd.)buildScheme2D</a> &nbsp; &nbsp;
<a href="fds/#fdhammer">(fd.)hammer</a> &nbsp; &nbsp;
<a href="fds/#fdbow">(fd.)bow</a> &nbsp; &nbsp;</p>
<h2 id="filters">filters</h2>
<p><a href="filters/#fizero">(fi.)zero</a> &nbsp; &nbsp;
<a href="filters/#fipole">(fi.)pole</a> &nbsp; &nbsp;
Expand Down
2 changes: 1 addition & 1 deletion docs/search/search_index.json

Large diffs are not rendered by default.

Loading

0 comments on commit d08dc8a

Please sign in to comment.