ESScript
Revision_4488
Main Page
Namespaces
Classes
Files
File List
File Members
paso
src
ReactiveSolver.h
Go to the documentation of this file.
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 */
Generated on Fri Jun 28 2013 11:10:53 for ESScript by
1.8.1.2