G+Smo  24.08.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
gsSmoothInterfaces.h
Go to the documentation of this file.
1 
14 #pragma once
15 
17 
18 namespace gismo
19 {
20 
21 
27 template<short_t d,class T>
28 class gsSmoothInterfaces : public gsDPatchBase<d,T>
29 {
30 
31 public:
32  using Base = gsDPatchBase<d,T>;
33 
35  typedef memory::shared_ptr< gsSmoothInterfaces > Ptr;
36 
38  typedef memory::unique_ptr< gsSmoothInterfaces > uPtr;
39 
42  { }
43 
44  ~gsSmoothInterfaces() {}
45 
46 // using Base::compute;
47 
53  gsSmoothInterfaces(gsMultiPatch<T> const & mp) ;
54 
55  // GISMO_CLONE_FUNCTION(gsSmoothInterfaces)
56 
57  // ~gsSmoothInterfaces();
58 
60 
61 protected:
68  gsMatrix<T> _preCoefficients(const gsMultiPatch<T> & patches) override;
69 // using Base::_preCoefficients;
70 
71 // using Base::allCoefficients;
72 
73 // using Base::exportPatch;
74  // gsGeometry<T> * exportPatch(index_t patch, bool computeCoefs);
75 
76 protected:
77 
78 // using Base::_indexFromSides;
79 
80 // using Base::_indicesFromVert;
81 
82 // using Base::_indexFromVert;
83 
84 // using Base::_vertexData;
85 
86 // using Base::_sideIndex;
87 
88 // using Base::_vertIndex;
89 
90 // using Base::_getLowestCorners;
91 
92 // using Base::_removeLowestCorners;
93 
94 // using Base::_getLowestIndices;
95 
96 // using Base::_removeLowestIndices;
97 
98 // using Base::_getInterfaceIndices;
99 
100 // using Base::_getAllInterfaceIndices;
101 
102 protected:
103 
104  void _countDoFs() override;
105 
106  void _initBasis() override;
107 
108  void _makeTHB() override;
109 
110  void _initTHB() override;
111 
112  void _computeEVs() override;
113 
123 // using Base::_makePi;
124 
125 protected:
126 
127 // using Base::_performChecks;
128 // using Base::_resetChecks;
129 
130 protected:
131 
132 protected:
133 // using Base::_whichHandled;
134 
135 protected:
136  using Base::m_patches;
137  using Base::m_topology;
138  using Base::m_computed;
139  using Base::m_bases;
140  using Base::m_Bbases;
141  using Base::m_tMatrix;
142  using Base::m_sideCheck;
143  using Base::m_vertCheck;
144  using Base::m_basisCheck;
145  using Base::m_C0s;
146 
147  using Base::m_mapModified;
148  using Base::m_mapOriginal;
149 
150  using Base::m_matrix;
151 
152  using Base::m_options;
153 
154  using Base::m_size;
155 
156  using Base::m_coefs;
157 
158  using Base::m_nSides;
159  using Base::m_nVerts;
160 
161 };
162 
163 
164 
165 }
166 
167 #ifndef GISMO_BUILD_LIB
168 #include GISMO_HPP_HEADER(gsSmoothInterfaces.hpp)
169 #endif
Creates the D-Patch smoothing matrix.
void _makeTHB() override
Prints which DoFs have been handled and which have been eliminated.
Definition: gsSmoothInterfaces.hpp:94
Constructs the D-Patch, from which the transformation matrix can be called.
Definition: gsSmoothInterfaces.h:28
memory::shared_ptr< gsSmoothInterfaces > Ptr
Shared pointer for gsSmoothInterfaces.
Definition: gsSmoothInterfaces.h:35
void _initTHB() override
Initializes the matrix, the basis and the mappers.
Definition: gsSmoothInterfaces.hpp:99
Constructs the D-Patch, from which the transformation matrix can be called.
Definition: gsDPatchBase.h:36
void _initBasis() override
Initializes the basis.
Definition: gsSmoothInterfaces.hpp:88
memory::unique_ptr< gsSmoothInterfaces > uPtr
Unique pointer for gsSmoothInterfaces.
Definition: gsSmoothInterfaces.h:38
gsSmoothInterfaces()
Empty constructor.
Definition: gsSmoothInterfaces.h:41
void _countDoFs() override
Initializes the matrix, the basis and the mappers.
Definition: gsSmoothInterfaces.hpp:111
void _computeEVs() override
Corrects the EVs.
Definition: gsSmoothInterfaces.hpp:105
virtual void defaultOptions()
Sets the default options.
Definition: gsDPatchBase.hpp:39