-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathVisu.hh
106 lines (90 loc) · 3.25 KB
/
Visu.hh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/**********************************************************************
* *
* File Name: Visu.hh *
* *
* Class Name: Visu *
* *
* Goal: Print out .mat files to visualise the results *
* *
* Copyright (C) 04/2002 Arthur Moncorge *
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License *
* as published by the Free Software Foundation; either version 2 *
* of the License, or (at your option) any later version. *
* *
* This program 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the Free Software *
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, *
* MA 02111-1307, USA. *
* *
*********************************************************************/
#ifndef _CLASS_VISU_HH_
#define _CLASS_VISU_HH_
#include <iostream>
#include "stdio.h"
#include <string.h>
#include "mylibrary.hh"
#include "Mesh.hh"
class Visu {
public:
struct visu_arg {
int Nt;
int Np;
int* Coort;
double* Coorp;
double* SumMass;
double** Ihat;
double* area;
int alpha_out;
int fracmat;
int result;
int coort_file;
int coorp_file;
int *Refp;
double total_area;
char *coortname;
char *coorpname;
char *fracname;
char *resultname;
};
Visu(struct visu_arg visu_val);
~Visu();
void update(double* pressure, double* alpha, int counter);
void update_arival_time(const double *alpha, const double &time);
void write_arrival_time(const char *filename);
void write_well_flux(const char *filename, double **flux,
struct Mesh::Edge*** T_edge);
public:
int Nt;
int Np;
int* Coort;
int* Refp;
double* Coorp;
double* SumMass;
double** Ihat;
double* area;
double total_area;
// Working arrays
double* alpha_node;
double* press_node;
// visualization options
int coort_file;
int coorp_file;
int alpha_out;
int fracmat;
int result;
char *coortname;
char *coorpname;
char *fracname;
char *resultname;
bool *arrival_state;
double *arrival_time;
};
#endif // End of _CLASS_MIXHY_HH_