escript  Revision_
ReactiveSolver.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2020 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-2017 by Centre for Geoscience Computing (GeoComp)
14 * Development from 2019 by School of Earth and Environmental Sciences
15 **
16 *****************************************************************************/
17 
18 
19 #ifndef __PASO_REACTIVESOLVER_H__
20 #define __PASO_REACTIVESOLVER_H__
21 
22 #include "Transport.h"
23 
24 namespace paso {
25 
26 struct Performance;
27 
29 {
32 
33  inline void initialize(double _dt, Options*)
34  {
35  dt = _dt;
36  }
37 
38  SolverResult solve(double* u, double* u_old, const double* source,
39  Options* options, Performance* pp);
40 
42 
44  double dt;
45 };
46 
47 
48 } // namespace paso
49 
50 #endif // __PASO_REACTIVESOLVER_H__
51 
paso::EPSILON
static const real_t EPSILON
Definition: ReactiveSolver.cpp:40
paso::PASO_RT_EXP_LIM_MIN
static const real_t PASO_RT_EXP_LIM_MIN
Definition: ReactiveSolver.cpp:43
paso::LARGE_POSITIVE_FLOAT
static const real_t LARGE_POSITIVE_FLOAT
Definition: FCT_Solver.cpp:43
escript::DataTypes::real_t
double real_t
type of all real-valued scalars in escript
Definition: DataTypes.h:52
paso::Divergence
@ Divergence
Definition: Paso.h:51
ReactiveSolver.h
paso::ReactiveSolver::dt
double dt
Definition: ReactiveSolver.h:44
escript::DataTypes::real_t_max
real_t real_t_max()
Returns the maximum finite value for the real_t type.
Definition: DataTypes.h:90
MPI_INT
#define MPI_INT
Definition: EsysMPI.h:48
MPI_MAX
#define MPI_MAX
Definition: EsysMPI.h:56
Solver.h
escript::DataTypes::dim_t
index_t dim_t
Definition: DataTypes.h:66
paso::SolverResult
SolverResult
Definition: Paso.h:44
paso::ReactiveSolver
Definition: ReactiveSolver.h:29
paso::ReactiveSolver::solve
SolverResult solve(double *u, double *u_old, const double *source, Options *options, Performance *pp)
Definition: ReactiveSolver.cpp:48
paso::ReactiveSolver::ReactiveSolver
ReactiveSolver(const_TransportProblem_ptr _tp)
Definition: ReactiveSolver.h:30
paso::const_TransportProblem_ptr
boost::shared_ptr< const TransportProblem > const_TransportProblem_ptr
Definition: Transport.h:34
Transport.h
MPI_DOUBLE
#define MPI_DOUBLE
Definition: EsysMPI.h:49
MPI_MIN
#define MPI_MIN
Definition: EsysMPI.h:55
paso::PASO_RT_EXP_LIM_MAX
static const real_t PASO_RT_EXP_LIM_MAX
Definition: ReactiveSolver.cpp:46
escript::DataTypes::index_t
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:61
paso::ReactiveSolver::~ReactiveSolver
~ReactiveSolver()
Definition: ReactiveSolver.h:31
PasoUtil.h
paso::ReactiveSolver::getSafeTimeStepSize
static double getSafeTimeStepSize(const_TransportProblem_ptr tp)
Definition: ReactiveSolver.cpp:92
escript::DataTypes::real_t_eps
real_t real_t_eps()
Returns the machine epsilon for the real_t type.
Definition: DataTypes.h:99
paso::ReactiveSolver::tp
const_TransportProblem_ptr tp
Definition: ReactiveSolver.h:43
paso
Definition: BiCGStab.cpp:25
paso::NoError
@ NoError
Definition: Paso.h:45
paso::Options
Definition: Options.h:80
paso::Performance
Definition: performance.h:56
paso::ReactiveSolver::initialize
void initialize(double _dt, Options *)
Definition: ReactiveSolver.h:33