escript  Revision_
ReactiveSolver.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2016 by The University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Apache License, version 2.0
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development 2012-2013 by School of Earth Sciences
13 * Development from 2014 by Centre for Geoscience Computing (GeoComp)
14 *
15 *****************************************************************************/
16 
17 
18 #ifndef __PASO_REACTIVESOLVER_H__
19 #define __PASO_REACTIVESOLVER_H__
20 
21 #include "performance.h"
22 #include "Transport.h"
23 
24 // exp(h)-1 ~ h + h**2/2 for abs(h) < PASO_RT_EXP_LIM_MIN
25 #define PASO_RT_EXP_LIM_MIN sqrt(EPSILON)
26 
27 // it is assumed that exp(h) with h>PASO_RT_EXP_LIM_MAX is not reliable
28 #define PASO_RT_EXP_LIM_MAX log(1./sqrt(EPSILON))
29 
30 namespace paso {
31 
34 {
37 
38  inline void initialize(double _dt, Options*)
39  {
40  dt = _dt;
41  }
42 
43  err_t solve(double* u, double* u_old, const double* source,
44  Options* options, Performance* pp);
45 
47 
49  double dt;
50 };
51 
52 
53 } // namespace paso
54 
55 #endif // __PASO_REACTIVESOLVER_H__
56 
#define PASO_DLL_API
Definition: Paso.h:41
Definition: Options.h:90
double dt
Definition: ReactiveSolver.h:49
Definition: performance.h:54
Definition: AMG.cpp:38
ReactiveSolver(const_TransportProblem_ptr _tp)
Definition: ReactiveSolver.h:35
Definition: ReactiveSolver.h:33
boost::shared_ptr< const TransportProblem > const_TransportProblem_ptr
Definition: Transport.h:30
int err_t
Definition: types.h:29
static double getSafeTimeStepSize(const_TransportProblem_ptr tp)
Definition: ReactiveSolver.cpp:83
const_TransportProblem_ptr tp
Definition: ReactiveSolver.h:48
~ReactiveSolver()
Definition: ReactiveSolver.h:36
err_t solve(double *u, double *u_old, const double *source, Options *options, Performance *pp)
Definition: ReactiveSolver.cpp:40
void initialize(double _dt, Options *)
Definition: ReactiveSolver.h:38