svMultiPhysics
Loading...
Searching...
No Matches
all_fun.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 ALL_FUN_H
5#define ALL_FUN_H
6
7#include "Array3.h"
8#include "Array.h"
9#include "Vector.h"
10#include "ComMod.h"
11
12#include "consts.h"
13
14#include <optional>
15#include <string>
16
17namespace all_fun {
18
19 double aspect_ratio(ComMod& com_mod, const int nDim, const int eNoN, const Array<double>& x);
20
21 void commu(const ComMod& com_mod, Vector<double>& u);
22 void commu(const ComMod& com_mod, Array<double>& u);
23
24 int domain(const ComMod& com_mod, const mshType& lM, const int iEq, const int e);
25
26 void find_face(const std::vector<mshType>& mesh_list, const std::string& faceName, int& iM, int& iFa);
27
28 void find_msh(const std::vector<mshType>& mesh_list, const std::string& mesh_name, int& iM);
29
30 Array<double> global(const ComMod& com_mod, const CmMod& cm_mod, const mshType& lM, const Array<double>& U);
31
32 double integ(const ComMod& com_mod, const CmMod& cm_mod, int iM, const Array<double>& s);
33
34 double integ(const ComMod& com_mod, const CmMod& cm_mod, int dId, const Array<double>& s, int l, int u,
35 bool pFlag=false);
36
37 double integ(const ComMod& com_mod, const CmMod& cm_mod, const faceType& lFa, const Vector<double>& s,
38 bool pFlag=false, consts::MechanicalConfigurationType cfg=consts::MechanicalConfigurationType::reference);
39
40 double integ(const ComMod& com_mod, const CmMod& cm_mod, const faceType& lFa, const Array<double>& s,
41 const int l, std::optional<int> uo=std::nullopt, bool THflag=false, consts::MechanicalConfigurationType cfg=consts::MechanicalConfigurationType::reference);
42
43 double integ(const ComMod& com_mod, const CmMod& cm_mod, const faceType& lFa, const Array<double>& s, consts::MechanicalConfigurationType cfg=consts::MechanicalConfigurationType::reference);
44
45 bool is_domain(const ComMod& com_mod, const eqType& eq, const int node, const consts::EquationType phys);
46
47 double jacobian(ComMod& com_mod, const int nDim, const int eNoN, const Array<double>& x, const Array<double>&Nxi);
48
49 Vector<int> local(const ComMod& com_mod, const CmMod& cm_mod, const cmType& cm, Vector<int>& u);
50
51 Array<double> local(const ComMod& com_mod, const CmMod& cm_mod, const cmType& cm, Array<double>& u);
52
53 Array3<double> local(const ComMod& com_mod, const CmMod& cm_mod, const cmType& cm, Array3<double>& u);
54
55 Vector<double> mkc(const ComMod& com_mod, Vector<double>& U);
56 Array<double> mkc(const ComMod& com_mod, Array<double>& U);
57
58 void mkci(const ComMod& com_mod, Vector<double>& U);
59 void mkci(const ComMod& com_mod, Array<double>& U);
60
61 void set_dmn_id(mshType& mesh, const int iDmn, const int ifirst=consts::int_inf, const int ilast=consts::int_inf);
62
63 double skewness(ComMod& com_mod, const int nDim, const int eNoN, const Array<double>& x);
64
65 void split_jobs(int tid, int m, int n, Array<double>& A, Vector<double>& b);
66
67};
68
69#endif
70
The Array3 template class implements a simple interface to 3D arrays.
Definition Array3.h:25
The CmMod class duplicates the data structures in the Fortran CMMOD module defined in COMU....
Definition CmMod.h:35
The ComMod class duplicates the data structures in the Fortran COMMOD module defined in MOD....
Definition ComMod.h:1514
The Vector template class is used for storing int and double data.
Definition Vector.h:23
The cmType class stores data and defines methods used for mpi communication.
Definition CmMod.h:55
Equation type.
Definition ComMod.h:1069
The face type containing mesh at boundary.
Definition ComMod.h:511
This is the container for a mesh or NURBS patch, those specific to NURBS are noted.
Definition ComMod.h:863