1 |
|
5 |
//---------------------------------------------------------------------------
|
2 |
|
|
|
3 |
|
|
#ifndef sl_solveH
|
4 |
|
|
#define sl_solveH
|
5 |
|
|
#include "stdio.h"
|
6 |
|
|
#include "sl_element.h"
|
7 |
|
|
#include "sl_element.h"
|
8 |
|
|
#include "sl_solution.h"
|
9 |
|
|
#include "sl_tetra.h"
|
10 |
|
|
#include "mg_file.h"
|
11 |
|
|
//---------------------------------------------------------------------------
|
12 |
|
|
|
13 |
|
|
#ifdef WINDOWS_VERSION
|
14 |
|
|
#ifdef BUILT_DLL_SOLVEUR
|
15 |
|
|
#define DLLPORTSOLVEUR __declspec(dllexport)
|
16 |
|
|
#else
|
17 |
|
|
#define DLLPORTSOLVEUR __declspec(dllimport)
|
18 |
|
|
#endif
|
19 |
|
|
#else
|
20 |
|
|
#define DLLPORTSOLVEUR
|
21 |
|
|
#endif
|
22 |
|
|
|
23 |
|
|
|
24 |
|
|
class DLLPORTSOLVEUR SL_SOLVE
|
25 |
|
|
|
26 |
|
|
{
|
27 |
|
|
public:
|
28 |
|
|
SL_SOLVE(int ele_type,char* file_name,unsigned long mai_id,long nbincr=1);
|
29 |
|
|
|
30 |
|
|
virtual~SL_SOLVE();
|
31 |
|
|
|
32 |
|
|
|
33 |
|
|
virtual void resoud()=0;
|
34 |
|
|
virtual void resoud_syst(double* sol,SL_SOLUTION* sol_sab)=0;
|
35 |
|
|
virtual void get_solution_probleme(SL_SOLUTION* sol_sab)=0;
|
36 |
|
|
virtual void get_sol_def_pg(SL_SOLUTION* femsol1_pg)=0;
|
37 |
|
|
virtual void get_sol_cont_pg(SL_SOLUTION* femsol1_pg,SL_SOLUTION* femsol2_pg)=0;
|
38 |
|
|
virtual void get_sol_aux_noeuds(SL_SOLUTION* femsol1_pg,SL_SOLUTION* femsol2_pg)=0;
|
39 |
|
|
virtual void get_solution_aux_pg(SL_SOLUTION* femsol1_pg,SL_SOLUTION* femsol2_pg)=0;
|
40 |
|
|
virtual void get_extrapolation(SL_TETRA* sltet,double* sig_init,double* sig_extr,int num)=0;
|
41 |
|
|
virtual int get_taille()=0;
|
42 |
|
|
|
43 |
|
|
|
44 |
|
|
protected:
|
45 |
|
|
|
46 |
|
|
int type;
|
47 |
|
|
double unite;
|
48 |
|
|
char nom_fichier[3000];
|
49 |
|
|
FEM_MAILLAGE* maillage;
|
50 |
|
|
MG_FILE* gest;
|
51 |
|
|
unsigned long nb_incr;
|
52 |
|
|
};
|
53 |
|
|
|
54 |
|
|
#endif
|