Flow123d  master-7bf36fe
assembly_models.hh
Go to the documentation of this file.
1 /*!
2  *
3  * Copyright (C) 2015 Technical University of Liberec. All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify it under
6  * the terms of the GNU General Public License version 3 as published by the
7  * Free Software Foundation. (http://www.gnu.org/licenses/gpl-3.0.en.html)
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12  *
13  *
14  * @file assembly_models.hh
15  * @brief Functors of FieldModels used in Darcy flow module.
16  * @author David Flanderka
17  *
18  */
19 
20 #ifndef ASSEMBLY_MODELS_HH
21 #define ASSEMBLY_MODELS_HH
22 
23 #include <armadillo>
24 
25 using Sclr = double;
26 using Vect = arma::vec3;
27 
28 // Functor computing velocity (flux / cross_section)
30  inline Vect operator() (Vect flux, Sclr csec) {
31  return flux / csec;
32  }
33 };
34 
35 
36 // Functor computing piezo_head_p0
38  inline Sclr operator() (Vect gravity, Vect coords, Sclr pressure) {
39  return arma::dot((-1*gravity), coords) + pressure;
40  }
41 };
42 
43 #endif //ASSEMBLY_MODELS_HH
arma::vec3
Definition: doxy_dummy_defs.hh:17
fn_mh_velocity
Definition: assembly_models.hh:29
fn_mh_piezohead::operator()
Sclr operator()(Vect gravity, Vect coords, Sclr pressure)
Definition: assembly_models.hh:38
fn_mh_piezohead
Definition: assembly_models.hh:37
fn_mh_velocity::operator()
Vect operator()(Vect flux, Sclr csec)
Definition: assembly_models.hh:30
Sclr
double Sclr
Definition: field_add_potential.hh:33