svMultiPhysics
Loading...
Searching...
No Matches
cmm.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 CMM_H
5#define CMM_H
6
7#include "ComMod.h"
8#include "SolutionStates.h"
9#include "Simulation.h"
10
11/// @brief These subroutines implement the Coupled Momentum Method (CMM).
12namespace cmm {
13
14void cmm_3d(ComMod& com_mod, const int eNoN, const double w, const Vector<double>& N, const Array<double>& Nx,
15 const Array<double>& al, const Array<double>& yl, const Array<double>& bfl, const Array<double>& Kxi,
16 Array<double>& lR, Array3<double>& lK);
17
18void cmm_b(ComMod& com_mod, const faceType& lFa, const int e, const Array<double>& al, const Array<double>& dl,
19 const Array<double>& xl, const Array<double>& bfl, const Vector<double>& pS0l, const Vector<double>& vwp,
20 const Vector<int>& ptr, const SolutionStates& solutions);
21
22void bcmmi(ComMod& com_mod, const int eNoN, const int idof, const double w, const Vector<double>& N, const Array<double>& Nxi,
23 const Array<double>& xl, const Array<double>& tfl, Array<double>& lR);
24
25void cmmi(ComMod& com_mod, const mshType& lM, const Array<double>& al, const Array<double>& dl, const Array<double>& xl,
26 const Array<double>& bfl, const Array<double>& pS0l, const Vector<double>& vwp, const Vector<int>& ptr);
27
28void cmm_mass(ComMod& com_mod, const double w, const Vector<double>& N, const Array<double>& al,
29 const Array<double>& bfl, const Vector<double>& vwp, Array<double>& lR, Array3<double>& lK);
30
31void cmm_stiffness(ComMod& com_mod, const Array<double>& Nxi, const Array<double>& xl, const Array<double>& dl,
32 const Vector<double>& pS0l, const Vector<double>& vwp, Vector<double>& pSl, Array<double>& lR, Array3<double>& lK);
33
34void construct_cmm(ComMod& com_mod, const mshType& lM, const SolutionStates& solutions);
35
36};
37
38#endif
39
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:1525
The Vector template class is used for storing int and double data.
Definition Vector.h:24
The face type containing mesh at boundary.
Definition ComMod.h:519
This is the container for a mesh or NURBS patch, those specific to NURBS are noted.
Definition ComMod.h:871
These subroutines implement the Coupled Momentum Method (CMM).
Definition cmm.cpp:16
void construct_cmm(ComMod &com_mod, const mshType &lM, const SolutionStates &solutions)
Reproduces Fortran 'CONSTRUCT_CMM'.
Definition cmm.cpp:758
void cmmi(ComMod &com_mod, const mshType &lM, const Array< double > &al, const Array< double > &dl, const Array< double > &xl, const Array< double > &bfl, const Vector< double > &pS0l, const Vector< double > &vwp, const Vector< int > &ptr)
CMM initialization (interior).
Definition cmm.cpp:351
Holds solution state at old, current, and intermediate time levels.
Definition SolutionStates.h:39