svMultiPhysics
Loading...
Searching...
No Matches
svZeroD_interface.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 SVZEROD_H
5#define SVZEROD_H
6
7#include "Simulation.h"
8#include "consts.h"
9#include "svZeroD_interface/LPNSolverInterface.h"
10#include <vector>
11
12#include <string>
13
14namespace svZeroD {
15
16void get_coupled_QP(ComMod& com_mod, double QCoupled[], double QnCoupled[], double PCoupled[], double PnCoupled[]);
17
18void print_svZeroD(int* nSrfs, const std::vector<int>& surfID, double Q[], double P[]);
19
20/**
21 * @brief Set up the svZeroD model and its coupled boundary conditions.
22 *
23 * Builds the list of svZeroD-coupled boundaries, creates the svZeroD model
24 * from the interface data in \c com_mod.cplBC, applies the initial flows and
25 * pressures, and writes the header of the svZeroD state output file.
26 *
27 * @param[in,out] com_mod Simulation data; the coupled boundary conditions and
28 * \c cplBC bookkeeping are initialized here.
29 * @param[in] cm_mod MPI communicator data.
30 * @param[in] appPath Directory the simulation results are written to. The
31 * svZeroD output files (svZeroD_data, Q_svZeroD, P_svZeroD) are written
32 * there as well.
33 */
34void init_svZeroD(ComMod& com_mod, const CmMod& cm_mod, const std::string& appPath);
35
36void calc_svZeroD(ComMod& com_mod, const CmMod& cm_mod, char BCFlag);
37
38};
39
40#endif
The CmMod class duplicates the data structures in the Fortran CMMOD module defined in COMU....
Definition CmMod.h:36
The ComMod class duplicates the data structures in the Fortran COMMOD module defined in MOD....
Definition ComMod.h:1597