Flow123d
master-f44eb46
src
flow
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)
29
struct
fn_mh_velocity
{
30
inline
Vect
operator()
(
Vect
flux,
Sclr
csec) {
31
return
flux / csec;
32
}
33
};
34
35
36
// Functor computing piezo_head_p0
37
struct
fn_mh_piezohead
{
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
Sclr
double Sclr
Definition:
field_add_potential.hh:33
fn_mh_piezohead
Definition:
assembly_models.hh:37
fn_mh_piezohead::operator()
Sclr operator()(Vect gravity, Vect coords, Sclr pressure)
Definition:
assembly_models.hh:38
fn_mh_velocity
Definition:
assembly_models.hh:29
fn_mh_velocity::operator()
Vect operator()(Vect flux, Sclr csec)
Definition:
assembly_models.hh:30
Generated by
1.9.1