UltraScan III
Namespaces
Classes
Files
File List
File Members
utils
us_astfem_math.h
Go to the documentation of this file.
1
#ifndef US_ASTFEM_MATH_H
3
#define US_ASTFEM_MATH_H
4
5
#include "
us_model.h
"
6
#include "
us_simparms.h
"
7
#include "
us_extern.h
"
8
9
#include <unistd.h>
10
13
class
US_UTIL_EXTERN
US_AstfemMath
14
{
15
public
:
16
17
class
MfemInitial
;
18
class
MfemScan
;
19
class
MfemData
;
20
24
static
void
interpolate_C0(
MfemInitial
&,
MfemInitial
& );
25
30
static
void
interpolate_C0(
MfemInitial
&,
double
*, QVector< double >& );
31
36
static
void
zero_2d (
int
,
int
,
double
** );
37
42
static
void
initialize_2d(
int
,
int
,
double
*** );
43
47
static
void
clear_2d (
int
,
double
** );
48
52
static
double
maxval(
const
QVector< double >& );
53
57
static
double
minval(
const
QVector< double >& );
58
62
static
double
maxval(
const
QVector< US_Model::SimulationComponent >& );
63
67
static
double
minval(
const
QVector< US_Model::SimulationComponent >& );
68
74
static
void
initialize_3d(
int
,
int
,
int
,
double
**** );
75
80
static
void
clear_3d (
int
,
int
,
double
*** );
81
89
static
void
tridiag (
double
*,
double
*,
double
*,
90
double
*,
double
*,
int
);
91
99
static
double
cube_root (
double
,
double
,
double
);
100
106
static
int
GaussElim (
int
,
double
**,
double
* );
107
113
static
double
find_C1_mono_Nmer(
int
,
double
,
double
);
114
120
static
int
interpolate (
MfemData
&,
MfemData
&,
bool
);
121
129
static
int
interpolate (
MfemData
&,
MfemData
&,
bool
,
int
,
int
);
130
139
static
void
QuadSolver (
double
*,
double
*,
double
*,
double
*,
140
double
*,
double
*,
int
);
141
148
static
void
IntQT1 (
double
* ,
double
,
double
,
149
double
**,
double
);
150
157
static
void
IntQTm (
double
* ,
double
,
double
,
158
double
**,
double
);
159
166
static
void
IntQTn2 (
double
* ,
double
,
double
,
167
double
**,
double
);
168
175
static
void
IntQTn1 (
double
* ,
double
,
double
,
176
double
**,
double
);
180
static
void
DefineFkp (
int
,
double
** );
181
185
static
double
AreaT (
double
*,
double
* );
186
193
static
void
BasisTS (
double
,
double
,
double
*,
double
*,
double
*);
194
201
static
void
BasisQS (
double
,
double
,
double
*,
double
*,
double
*);
202
211
static
void
BasisTR (
double
*,
double
*,
212
double
,
double
,
double
*,
double
*,
double
* );
213
222
static
void
BasisQR (
double
*,
double
,
double
,
223
double
*,
double
*,
double
*,
double
);
224
234
static
double
Integrand (
double
,
double
,
double
,
double
,
235
double
,
double
,
double
,
double
);
236
240
static
void
DefineGaussian(
int
,
double
** );
241
246
static
void
initSimData (
US_DataIO::RawData
&,
247
US_DataIO::EditedData
&,
double
);
248
254
static
double
variance (
US_DataIO::RawData
&,
255
US_DataIO::EditedData
& );
256
263
static
double
variance (
US_DataIO::RawData
&,
264
US_DataIO::EditedData
&,
265
QList< int > );
266
273
static
double
calc_bottom (
double
,
double
,
double
* );
274
276
class
MfemInitial
277
{
278
public
:
279
QVector< double >
radius
;
280
QVector< double >
concentration
;
281
};
283
285
class
MfemScan
286
{
287
public
:
288
double
time
;
289
double
omega_s_t
;
290
double
temperature
;
291
double
rpm
;
292
QVector< double >
conc
;
293
};
294
297
class
MfemData
298
{
299
public
:
300
QString
id
;
301
int
cell
;
302
int
channel
;
303
305
double
wavelength
;
306
double
rpm
;
307
313
331
double
s20w_correction
;
332
337
338
double
D20w_correction
;
339
double
viscosity
;
340
double
density
;
341
double
vbar
;
342
double
avg_temperature
;
343
double
vbar20
;
344
double
meniscus
;
345
double
bottom
;
346
QVector< double> radius;
348
QVector< MfemScan >
scan
;
349
};
350
352
class
ReactionGroup
353
{
354
public
:
355
QVector< int >
association
;
356
QVector< int >
GroupComponent
;
357
};
358
360
class
ComponentRole
361
{
362
public
:
363
int
comp_index
;
364
QVector< int >
assocs
;
365
QVector< int >
stoichs
;
366
};
369
371
class
AstFemParameters
372
{
373
public
:
374
int
simpoints
;
375
376
QVector< double >
s
;
377
QVector< double >
D
;
378
QVector< double >
kext
;
379
QVector< ComponentRole >
role
;
380
double
pathlength;
382
double
dt
;
383
int
time_steps
;
384
double
omega_s
;
385
double
start_time
;
386
double
start_om2t;
388
double
current_meniscus
;
389
double
current_bottom
;
390
int
first_speed
;
391
int
rg_index
;
392
394
QVector< int >
local_index
;
395
398
QVector< US_Model::Association >
association
;
399
};
400
401
};
402
#endif
Generated on Sun Jun 21 2015 11:40:41 for UltraScan III by
1.8.3.1-20130324