[Users-fr] Lancer une DLL avec Scilab
David Chèze
david.cheze at cea.fr
Mar 27 Fév 16:24:23 CET 2018
Bonjour,
j'utilise souvent link (pour charger la dll) et ulink (pour décharger), avec
une fonction d'interface pour utiliser facilement les fonctions exportées de
la dll une fois chargée.
Par exemple, pour la librairie de propriétés physiques fluides, dispo sur
coolprop.org
//pour charger coolprop
function chargecoolprop()
link("C:\Users\dc\prog\CoolProp5.1.2\CoolProp.dll",['propssi_','hapropssi_'],
'c');
endfunction
//-----------------------------------------------------------------------------
//wrapper pour les fonctions coolprop
function [out]=Props(Output,Input1,Value1,Input2,Value2,Name)
out =
call("propssi_",Output,1,"c",Input1,2,"c",Value1,3,"d",Input2,4,"c",Value2,5,"d",Name,6,"c","out",[1,1],7,"d");
endfunction
function [out]=HAProps(Output,Input1,Value1,Input2,Value2,Input3,Value3)
out =
call("hapropssi_",Output,1,"c",Input1,2,"c",Value1,3,"d",Input2,4,"c",Value2,5,"d",Input3,6,"c",Value3,7,"d","out",[1,1],8,"d");
endfunction
//-----------------------------------------------------------------------------
//exemple utilisation:
h_econd(i)=
Props("H","P",SOL2.Pecond(i)*1E5,"T",SOL2.Tecond(i)+273.15,"R134A");// J/kg
Teq_scond(i)=
Props("T","P",SOL2.Pscond(i)*1E5,"Q",0,"R134A")-273.15; // °C
h_scond(i)=
Props("H","P",SOL2.Pscond(i)*1E5,"T",Teq_scond(i)-1E-3+273.15,"R134A");//
J/kg
En espérant que cela aide,
David
--
Sent from: http://mailinglists.scilab.org/Liste-utilisateur-en-francais-f3344097.html
Plus d'informations sur la liste de diffusion users-fr