G+Smo  25.01.0
Geometry + Simulation Modules
 
Loading...
Searching...
No Matches
gsINSTerms.h
Go to the documentation of this file.
1
12#pragma once
13#include <gismo.h>
15
16namespace gismo
17{
18
21template <class T>
22class gsINSTerm_PvalUdiv : public gsFlowTerm<T> // order: shape, test
23{
24
25public: // *** Constructor/destructor ***
26
28 {
29 this->m_geoFlags = NEED_MEASURE | NEED_GRAD_TRANSFORM;
30 this->m_testFunFlags = NEED_DERIV;
31 this->m_shapeFunFlags = NEED_VALUE;
32 }
33
34
35protected: // *** Member functions ***
36
37 virtual void evalCoeff(const gsMapData<T>& mapData0)
38 { this->setConstCoeff(-1.0); } // -1 to get block -Bt
39
40
41public: // *** Member functions ***
42
43 virtual void assemble(const gsMapData<T>& mapData, const gsVector<T>& quWeights, const std::vector< gsMatrix<T> >& testFunData, const std::vector< gsMatrix<T> >& shapeFunData, std::vector< gsMatrix<T> >& localMat);
44
45};
46
47// ===================================================================================================================
48
51template <class T>
52class gsINSTerm_UdivPval : public gsFlowTerm<T> // order: shape, test
53{
54
55public: // *** Constructor/destructor ***
56
58 {
59 this->m_geoFlags = NEED_MEASURE | NEED_GRAD_TRANSFORM;
60 this->m_testFunFlags = NEED_VALUE;
61 this->m_shapeFunFlags = NEED_DERIV;
62 }
63
64
65public: // *** Member functions ***
66
67 virtual void assemble(const gsMapData<T>& mapData, const gsVector<T>& quWeights, const std::vector< gsMatrix<T> >& testFunData, const std::vector< gsMatrix<T> >& shapeFunData, std::vector< gsMatrix<T> >& localMat);
68
69};
70
71// ===================================================================================================================
72
75template <class T>
76class gsINSTerm_UsolGradVal : public gsFlowTermNonlin<T> // order: shape, test
77{
78
79public: // *** Constructor/destructor ***
80
82 {
83 this->m_geoFlags = NEED_MEASURE | NEED_GRAD_TRANSFORM;
84 this->m_testFunFlags = NEED_VALUE;
85 this->m_shapeFunFlags = NEED_DERIV;
86 }
87
88
89public: // *** Member functions ***
90
91 virtual void assemble(const gsMapData<T>& mapData, const gsVector<T>& quWeights, const std::vector< gsMatrix<T> >& testFunData, const std::vector< gsMatrix<T> >& shapeFunData, gsMatrix<T>& localMat);
92
93};
94
95
96} // namespace gismo
97
98#ifndef GISMO_BUILD_LIB
99#include GISMO_HPP_HEADER(gsINSTerms.hpp)
100#endif
A class computing nonlinear terms of the weak formulation appearing in incompressible flow problems.
Definition gsFlowTerms.h:107
A class computing individual terms of the weak formulation appearing in incompressible flow problems.
Definition gsFlowTerms.h:22
A class for integrals of the form: pressure shape function value * velocity test function divergence.
Definition gsINSTerms.h:23
virtual void assemble(const gsMapData< T > &mapData, const gsVector< T > &quWeights, const std::vector< gsMatrix< T > > &testFunData, const std::vector< gsMatrix< T > > &shapeFunData, std::vector< gsMatrix< T > > &localMat)
Assemble the current local matrices.
Definition gsINSTerms.hpp:20
virtual void evalCoeff(const gsMapData< T > &mapData0)
Evaluate the term coefficient.
Definition gsINSTerms.h:37
A class for integrals of the form: velocity shape function divergence * pressure test function value.
Definition gsINSTerms.h:53
virtual void assemble(const gsMapData< T > &mapData, const gsVector< T > &quWeights, const std::vector< gsMatrix< T > > &testFunData, const std::vector< gsMatrix< T > > &shapeFunData, std::vector< gsMatrix< T > > &localMat)
Assemble the current local matrices.
Definition gsINSTerms.hpp:45
A class for integrals of the form: velocity solution * shape function gradient * test function value.
Definition gsINSTerms.h:77
virtual void assemble(const gsMapData< T > &mapData, const gsVector< T > &quWeights, const std::vector< gsMatrix< T > > &testFunData, const std::vector< gsMatrix< T > > &shapeFunData, gsMatrix< T > &localMat)
Assemble the current local matrix.
Definition gsINSTerms.hpp:70
the gsMapData is a cache of pre-computed function (map) values.
Definition gsFuncData.h:349
A matrix with arbitrary coefficient type and fixed or dynamic size.
Definition gsMatrix.h:41
A vector with arbitrary coefficient type and fixed or dynamic size.
Definition gsVector.h:37
Main header to be included by clients using the G+Smo library.
The G+Smo namespace, containing all definitions for the library.
@ NEED_VALUE
Value of the object.
Definition gsForwardDeclarations.h:72
@ NEED_DERIV
Gradient of the object.
Definition gsForwardDeclarations.h:73
@ NEED_GRAD_TRANSFORM
Gradient transformation matrix.
Definition gsForwardDeclarations.h:77
@ NEED_MEASURE
The density of the measure pull back.
Definition gsForwardDeclarations.h:76