<< Toolbox Mascaret Toolbox Mascaret MASCARET_compute_BC >>

Toolbox Mascaret >> Toolbox Mascaret > MASCARET_compute

MASCARET_compute

Fonction de simulation d'un ou plusieurs pas de temps.

Séquence d'appel

[erreur]=MASCARET_compute(id,TpsInitial, TpsFinal, PasTps,impression)

Arguments

erreur

Argument de sortie indiquant la presence d'erreur si différent de zero

id

Identifiant de l'instance MASCARET retourné par MASCARET_create

TpsInitial

Temps initial du calcul

TpsFinal

Temps final du calcul

PasTps

Pas de temps interne du calcul

impression

Impression (écriture) sur les fichiers listing (1-> Vrai 0-> Faux)

Description

Fonction qui permet d'effectuer une simulation d'un ou plusieurs pas de temps. C'est notamment cette fonction qui va calculer un nouvel état courant à partir du modèle courant et de l'état précédent

Une autre fonction de l'API permet également de faire la même chose avec des paramètres différents, il s'agit de MASCARET_compute_BC

Avant d'utiliser cette fonction, il est nécessaire d'avoir initialisé l'état MASCARET, c'est à dire d'avoir fait appel à une des fonctions MASCARET_initStateName, MASCARET_initState ou MASCARET_importXml avec le dernier parametre à 0.

Exemple

toolbox_dir=getenv("toolbox_dir");
c = filesep();

// creation of the MASCARET model
[err, id] = MASCARET_create();
assert_checktrue(id>0);

// read data from files
path_xml = "file://"+toolbox_dir+c+"demos"+c+"Help"+c+"demo1"+c+"demo1.xcas";
TabNomFichier = [strsubst(path_xml,'\','/'), ..
                 toolbox_dir+c+"demos"+c+"Help"+c+"demo1"+c+"demo1.geo", ..
                 toolbox_dir+c+"demos"+c+"Help"+c+"demo1"+c+"demo1_0.loi", ..
                 toolbox_dir+c+"demos"+c+"Help"+c+"demo1"+c+"demo1_1.loi", ..
                 toolbox_dir+c+"demos"+c+"Help"+c+"demo1"+c+"demo1.lis", ..
                 toolbox_dir+c+"demos"+c+"Help"+c+"demo1"+c+"demo1.opt"];
 
TypeNomFichier = ["xcas","geo","loi","loi","listing","res"];
impression = 0;
err = MASCARET_importModel(id,TabNomFichier,TypeNomFichier,impression);
assert_checkequal(err,0);
        
// initialisation
err = MASCARET_initStateName(id,toolbox_dir+c+"demos"+c+"Help"+c+"demo1"+c+"demo1.lig",impression);
assert_checkequal(err,0);      
        
// get the initial state on the cross-section #5 (water level)        
[err,Zsection5] = MASCARET_getDouble(id,"State.Z",5,0,0);
assert_checkequal(err,0);  

printf("\tWater level on the cross-section #5 before the simulation :%f\n", Zsection5);

// computation
err = MASCARET_compute(id,0., 36000., 1., impression);
assert_checkequal(err,0);

// get the result on the cross-section #5 (water level)   
[err,Zsection5] = MASCARET_getDouble(id,"State.Z",5,0,0);
assert_checkequal(err,0); 

printf("\tWater level on the cross-section #5 after the simulation :%f\n", Zsection5);

// model deletion
err = MASCARET_delete(id);
assert_checkequal(err,0);

Voir aussi


Report an issue
<< Toolbox Mascaret Toolbox Mascaret MASCARET_compute_BC >>