Flow123d  release_3.0.0-906-g65cc372
Classes
isotherm.hh File Reference

Other possible transformation of coordinates: More...

#include <stdint.h>
#include <algorithm>
#include <vector>
#include <cmath>
#include <complex>
#include <ostream>
#include <string>
#include "input/input_exception.hh"
#include "system/exceptions.hh"
#include <boost/math/special_functions/detail/round_fwd.hpp>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tolerance< T >
 
class  None
 
class  Linear
 
class  Langmuir
 
class  Freundlich
 
class  Isotherm
 
struct  Isotherm::ConcPair
 Pair of soluted and adsorbed concentration. More...
 
class  CrossFunction< Func >
 

Detailed Description

Other possible transformation of coordinates:

 * Copyright (C) 2015 Technical University of Liberec. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation. (http://www.gnu.org/licenses/gpl-3.0.en.html)

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

c_l - conc. liquid c_s - conc. solid c_t = h_l * c_l + h_s * c_s = X' + Y' X = c_t Y = X' - Y' = h_l * c_l - h_s * c_s

A) make table for function c_t -> Y 1) for given c_t solve nonlinear eq. h_l * c_l + h_s * f(c_l) = c_t

2) from c_l compute Y = c_t - 2* h_l * c_l

B) calculation of new c_l, c_s from c_t using table:

1) use table to get value of Y for given c_t 2) compute: c_l = (c_t - Y) / (2 * h_l) c_s = (c_t + Y) / (2 * h_s)


The transformation currently in use transforms pair (c_l, c_s) directly to (c_t, W) in ortogonal way. Proposed transformation first scale (c_l, c_s) to (X',Y') and then transform scaled coordinates in ortogonal way.

Definition in file isotherm.hh.