svMultiPhysics
Loading...
Searching...
No Matches
nn.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 NN_H
5#define NN_H
6
7#include "Simulation.h"
8#include "SolutionStates.h"
9#include "ComMod.h"
10#include "consts.h"
11
12namespace nn {
13
14 void get_gip(const int insd, consts::ElementType eType, const int nG, Vector<double>& w, Array<double>& xi);
15 void get_gip(Simulation* simulation, faceType& face);
16 void get_gip(mshType& mesh);
17
18 void get_gnn(const int insd, consts::ElementType eType, const int eNoN, const int g, Array<double>& xi,
19 Array<double>& N, Array3<double>& Nx);
20 void get_gnn(const int insd, consts::ElementType eType, const int eNoN, Vector<double>& xi, Vector<double>& N,
21 Array<double>& Nx);
22
23 void get_gnn(Simulation* simulation, int gaus_pt, faceType& face);
24 void get_gnn(int gaus_pt, mshType& mesh);
25 void get_gn_nxx(const int insd, const int ind2, consts::ElementType eType, const int eNoN, const int gaus_pt,
26 const Array<double>& xi, Array3<double>& Nxx);
27
28 void get_nn_bnds(const int nsd, consts::ElementType eType, const int eNoN, Array<double>& xib, Array<double>& Nb);
29 void get_nn_bnds(const ComMod& com_mod, mshType& mesh);
30
31 void get_nnx(const int nsd, const consts::ElementType eType, const int eNoN, const Array<double>& xl,
32 const Array<double>& xib, const Array<double>& Nb, const Vector<double>& xp, Vector<double>& xi,
33 Vector<double>& N, Array<double>& Nx);
34
35 void get_xi(const int nsd, consts::ElementType eType, const int eNoN, const Array<double>& xl, const Vector<double>& xp,
36 Vector<double>& xi, bool& flag);
37
38 void gnn(const int eNoN, const int nsd, const int insd, Array<double>& Nxi, Array<double>& x, Array<double>& Nx,
39 double& Jac, Array<double>& ks);
40
41 void gnnb(const ComMod& com_mod, const faceType& lFa, const int e, const int g, const int nsd, const int insd,
42 const int eNoNb, const Array<double>& Nx, Vector<double>& n, const SolutionStates& solutions, consts::MechanicalConfigurationType cfg=consts::MechanicalConfigurationType::reference);
43
44 void gnns(const int nsd, const int eNoN, const Array<double>& Nxi, Array<double>& xl, Vector<double>& nV,
45 Array<double>& gCov, Array<double>& gCnv);
46
47 void gn_nxx(const int l, const int eNoN, const int nsd, const int insd, Array<double>& Nxi, Array<double>& Nxi2, Array<double>& lx,
48 Array<double>& Nx, Array<double>& Nxx);
49
50 void select_ele(const ComMod& com_mod, mshType& mesh);
51
52 void select_eleb(Simulation* simulation, mshType& mesh, faceType& face);
53
54};
55
56#endif
57
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
Definition Simulation.h:19
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
Holds solution state at old, current, and intermediate time levels.
Definition SolutionStates.h:39