/[escript]/trunk/paso/src/ReactiveSolver.h
ViewVC logotype

Contents of /trunk/paso/src/ReactiveSolver.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3793 - (show annotations)
Wed Feb 1 07:39:43 2012 UTC (7 years, 8 months ago) by gross
File MIME type: text/plain
File size: 1417 byte(s)
new implementation of FCT solver with some modifications to the python interface
1
2 /*******************************************************
3 *
4 * Copyright (c) 2003-2010 by University of Queensland
5 * Earth Systems Science Computational Center (ESSCC)
6 * http://www.uq.edu.au/esscc
7 *
8 * Primary Business: Queensland, Australia
9 * Licensed under the Open Software License version 3.0
10 * http://www.opensource.org/licenses/osl-3.0.php
11 *
12 *******************************************************/
13
14
15 #ifndef INC_PASOREACTIVE
16 #define INC_PASOREACTIVE
17
18 #include "Transport.h"
19
20 #define PASO_RT_EXP_LIM_MIN sqrt(EPSILON) /* exp(h)-1 ~ h + h**2/2 for abs(h) < PASO_RT_EXP_LIM_MIN */
21 #define PASO_RT_EXP_LIM_MAX log(1./sqrt(EPSILON)) /* it is assumed that exp(h) with h>PASO_RT_EXP_LIM_MAX is not reliable */
22
23
24 typedef struct Paso_ReactiveSolver {
25 double A;
26 double dt;
27 } Paso_ReactiveSolver;
28
29
30 PASO_DLL_API
31 err_t Paso_ReactiveSolver_solve(Paso_ReactiveSolver* support, Paso_TransportProblem* fctp, double* u, double* u_old, const double* source, Paso_Options* options, Paso_Performance *pp);
32
33 PASO_DLL_API
34 Paso_ReactiveSolver* Paso_ReactiveSolver_alloc(Paso_TransportProblem* fctp);
35
36 PASO_DLL_API
37 void Paso_ReactiveSolver_free(Paso_ReactiveSolver* in);
38
39 PASO_DLL_API
40 double Paso_ReactiveSolver_getSafeTimeStepSize(Paso_TransportProblem* fctp);
41
42 PASO_DLL_API
43 void Paso_ReactiveSolver_initialize(const double dt, Paso_ReactiveSolver* rsolver, Paso_Options* options);
44
45 #endif /* #ifndef INC_PASOREACTIVE */

  ViewVC Help
Powered by ViewVC 1.1.26