/[escript]/branches/doubleplusgood/paso/src/ReactiveSolver.h
ViewVC logotype

Contents of /branches/doubleplusgood/paso/src/ReactiveSolver.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4257 - (show annotations)
Wed Feb 27 03:42:40 2013 UTC (6 years, 9 months ago) by jfenwick
File MIME type: text/plain
File size: 1536 byte(s)
Some simple experiments for c++ Finley

1
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2013 by University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Open Software License version 3.0
9 * http://www.opensource.org/licenses/osl-3.0.php
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development since 2012 by School of Earth Sciences
13 *
14 *****************************************************************************/
15
16
17 #ifndef INC_PASOREACTIVE
18 #define INC_PASOREACTIVE
19
20 #include "Transport.h"
21
22 #define PASO_RT_EXP_LIM_MIN sqrt(EPSILON) /* exp(h)-1 ~ h + h**2/2 for abs(h) < PASO_RT_EXP_LIM_MIN */
23 #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 */
24
25
26 typedef struct Paso_ReactiveSolver {
27 double A;
28 double dt;
29 } Paso_ReactiveSolver;
30
31
32 PASO_DLL_API
33 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);
34
35 PASO_DLL_API
36 Paso_ReactiveSolver* Paso_ReactiveSolver_alloc(Paso_TransportProblem* fctp);
37
38 PASO_DLL_API
39 void Paso_ReactiveSolver_free(Paso_ReactiveSolver* in);
40
41 PASO_DLL_API
42 double Paso_ReactiveSolver_getSafeTimeStepSize(Paso_TransportProblem* fctp);
43
44 PASO_DLL_API
45 void Paso_ReactiveSolver_initialize(const double dt, Paso_ReactiveSolver* rsolver, Paso_Options* options);
46
47 #endif /* #ifndef INC_PASOREACTIVE */

  ViewVC Help
Powered by ViewVC 1.1.26