svMultiPhysics
Loading...
Searching...
No Matches
fluid.h
1// SPDX-FileCopyrightText: Copyright (c) Stanford University, The Regents of the University of California, and others.
2// SPDX-License-Identifier: BSD-3-Clause
3
4#ifndef FLUID_H
5#define FLUID_H
6
7#include "ComMod.h"
8#include "SolutionStates.h"
9#include "consts.h"
10
11namespace fluid {
12
13void b_fluid(ComMod& com_mod, const int eNoN, const double w, const Vector<double>& N, const Vector<double>& y,
14 const double h, const Vector<double>& nV, Array<double>& lR, Array3<double>& lK);
15
16void bw_fluid_2d(ComMod& com_mod, const int eNoNw, const int eNoNq, const double w, const Vector<double>& Nw,
17 const Vector<double>& Nq, const Array<double>& Nwx, const Array<double>& yl, const Vector<double>& ub,
18 const Vector<double>& nV, const Vector<double>& tauB, Array<double>& lR, Array3<double>& lK);
19
20void bw_fluid_3d(ComMod& com_mod, const int eNoNw, const int eNoNq, const double w, const Vector<double>& Nw,
21 const Vector<double>& Nq, const Array<double>& Nwx, const Array<double>& yl, const Vector<double>& ub,
22 const Vector<double>& nV, const Vector<double>& tauB, Array<double>& lR, Array3<double>& lK);
23
24void construct_fluid(ComMod& com_mod, const mshType& lM, const SolutionStates& solutions);
25
26void fluid_2d_c(ComMod& com_mod, const int vmsFlag, const int eNoNw, const int eNoNq, const double w, const Array<double>& Kxi,
27 const Vector<double>& Nw, const Vector<double>& Nq, const Array<double>& Nwx, const Array<double>& Nqx,
28 const Array<double>& Nwxx, const Array<double>& al, const Array<double>& yl, const Array<double>& bfl,
29 Array<double>& lR, Array3<double>& lK, double K_inverse_darcy_permeabilityx);
30
31void fluid_2d_m(ComMod& com_mod, const int vmsFlag, const int eNoNw, const int eNoNq, const double w, const Array<double>& Kxi,
32 const Vector<double>& Nw, const Vector<double>& Nq, const Array<double>& Nwx, const Array<double>& Nqx,
33 const Array<double>& Nwxx, const Array<double>& al, const Array<double>& yl, const Array<double>& bfl,
34 Array<double>& lR, Array3<double>& lK, double K_inverse_darcy_permeability);
35
36void fluid_3d_c(ComMod& com_mod, const int vmsFlag, const int eNoNw, const int eNoNq, const double w, const Array<double>& Kxi,
37 const Vector<double>& Nw, const Vector<double>& Nq, const Array<double>& Nwx, const Array<double>& Nqx,
38 const Array<double>& Nwxx, const Array<double>& al, const Array<double>& yl, const Array<double>& bfl,
39 Array<double>& lR, Array3<double>& lK, double K_inverse_darcy_permeability,
40 const double urisFactorTotal, const Vector<double>& urisValveVelTotal);
41
42void fluid_3d_m(ComMod& com_mod, const int vmsFlag, const int eNoNw, const int eNoNq, const double w, const Array<double>& Kxi,
43 const Vector<double>& Nw, const Vector<double>& Nq, const Array<double>& Nwx, const Array<double>& Nqx,
44 const Array<double>& Nwxx, const Array<double>& al, const Array<double>& yl, const Array<double>& bfl,
45 Array<double>& lR, Array3<double>& lK, double K_inverse_darcy_permeability,
46 const double urisFactorTotal, const Vector<double>& urisValveVelTotal);
47
48void get_viscosity(const ComMod& com_mod, const dmnType& lDmn, double& gamma, double& mu, double& mu_s, double& mu_x);
49
50};
51
52#endif
53
The Array3 template class implements a simple interface to 3D arrays.
Definition Array3.h:25
The ComMod class duplicates the data structures in the Fortran COMMOD module defined in MOD....
Definition ComMod.h:1563
The Vector template class is used for storing int and double data.
Definition Vector.h:24
Domain type is to keep track with element belong to which domain and also different physical quantiti...
Definition ComMod.h:435
This is the container for a mesh or NURBS patch, those specific to NURBS are noted.
Definition ComMod.h:877
Holds solution state at old, current, and intermediate time levels.
Definition SolutionStates.h:39