+++ /dev/null
-<!--
- Copyright (C) 2006-2019 CEA/DEN, EDF R&D
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
- See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-
--->
-<proc>
- <!-- types -->
-
- <!-- inline -->
-
- <inline name="init" >
- <script>
- <code>x=0.5</code>
- <code>nsteps=3</code>
- </script>
- <outport name="x" type="double"/>
- <outport name="nsteps" type="int"/>
- </inline>
-
- <inline name="poly_7" >
- <script>
- <code>Pn=(429*x**7 -693*x**5+315*x**3 -35*x)/16</code>
- <code>print("reference P7=",Pn)</code>
- </script>
- <inport name="x" type="double"/>
- <outport name="Pn" type="double"/>
- </inline>
-
-
-
- <!-- service -->
-
- <bloc name="Legendre" >
-
- <inline name="iter_0" >
- <script>
- <code>Pn=1</code>
- <code>n=1</code>
- </script>
- <outport name="Pn" type="double"/>
- <outport name="n" type="int"/>
- </inline>
-
- <inline name="iter_1" >
- <script>
- <code>Pn=x</code>
- <code>n=2</code>
- </script>
- <inport name="x" type="double"/>
- <outport name="Pn" type="double"/>
- <outport name="n" type="int"/>
- </inline>
-
- <forloop name="loopIter" >
-
- <bloc name="deuxIter" >
-
- <inline name="iter1" >
- <script>
- <code>Pn = ((2*n-1)*x*Pnm1 -(n-1)*Pnm2)/n</code>
- <code>print("n=",n," Pn=",Pn)</code>
- <code>n=n+1</code>
- </script>
- <inport name="Pnm1" type="double"/>
- <inport name="Pnm2" type="double"/>
- <inport name="x" type="double"/>
- <inport name="n" type="int"/>
- <outport name="Pn" type="double"/>
- <outport name="n" type="int"/>
- </inline>
-
- <node name="iter2" type="iter1"/>
-
- <control> <fromnode>iter1</fromnode> <tonode>iter2</tonode> </control>
-
- <datalink> <fromnode>iter1</fromnode><fromport>Pn</fromport>
- <tonode>iter2</tonode><toport>Pnm1</toport> </datalink>
- <datalink> <fromnode>iter1</fromnode><fromport>n</fromport>
- <tonode>iter2</tonode><toport>n</toport> </datalink>
-
- </bloc>
- <datalink> <fromnode>deuxIter.iter1</fromnode><fromport>Pn</fromport>
- <tonode>deuxIter.iter1</tonode><toport>Pnm2</toport> </datalink>
- <datalink> <fromnode>deuxIter.iter2</fromnode><fromport>Pn</fromport>
- <tonode>deuxIter.iter2</tonode><toport>Pnm2</toport> </datalink>
- <datalink> <fromnode>deuxIter.iter2</fromnode><fromport>n</fromport>
- <tonode>deuxIter.iter1</tonode><toport>n</toport> </datalink>
- <datalink> <fromnode>deuxIter.iter2</fromnode><fromport>Pn</fromport>
- <tonode>deuxIter.iter1</tonode><toport>Pnm1</toport> </datalink>
-
- </forloop>
-
- <control> <fromnode>iter_0</fromnode> <tonode>iter_1</tonode> </control>
- <control> <fromnode>iter_1</fromnode> <tonode>loopIter</tonode> </control>
-
- <datalink> <fromnode>iter_1</fromnode><fromport>n</fromport>
- <tonode>loopIter.deuxIter.iter1</tonode><toport>n</toport> </datalink>
- <datalink> <fromnode>iter_0</fromnode><fromport>Pn</fromport>
- <tonode>loopIter.deuxIter</tonode><toport>iter1.Pnm2</toport> </datalink>
- <datalink> <fromnode>iter_1</fromnode><fromport>Pn</fromport>
- <tonode>loopIter</tonode><toport>deuxIter.iter1.Pnm1</toport> </datalink>
- <datalink> <fromnode>iter_1</fromnode><fromport>Pn</fromport>
- <tonode>loopIter</tonode><toport>deuxIter.iter2.Pnm2</toport> </datalink>
-
- </bloc>
-
- <!--control links -->
-
- <control> <fromnode>init</fromnode> <tonode>poly_7</tonode> </control>
- <control> <fromnode>init</fromnode> <tonode>Legendre</tonode> </control>
- <control> <fromnode>Legendre</fromnode> <tonode>poly_7</tonode> </control>
-
- <!--data links -->
- <datalink> <fromnode>init</fromnode><fromport>x</fromport>
- <tonode>poly_7</tonode><toport>x</toport> </datalink>
-
- <datalink> <fromnode>init</fromnode><fromport>nsteps</fromport>
- <tonode>Legendre.loopIter</tonode><toport>nsteps</toport> </datalink>
-
- <datalink> <fromnode>init</fromnode><fromport>x</fromport>
- <tonode>Legendre.iter_1</tonode><toport>x</toport> </datalink>
- <datalink> <fromnode>init</fromnode><fromport>x</fromport>
- <tonode>Legendre.loopIter.deuxIter.iter1</tonode><toport>x</toport> </datalink>
- <datalink> <fromnode>init</fromnode><fromport>x</fromport>
- <tonode>Legendre.loopIter.deuxIter.iter2</tonode><toport>x</toport> </datalink>
-
- <!--parameters -->
-
-</proc>