FemProcess
The GeMA Fem Process Plugin
Loading...
Searching...
No Matches
gmpFemAssemblerAdder.h
Go to the documentation of this file.
1/************************************************************************
2**
3** Copyright (C) 2014 by Carlos Augusto Teixera Mendes
4** All rights reserved.
5**
6** This file is part of the "GeMA" software. It's use should respect
7** the terms in the license agreement that can be found together
8** with this source code.
9** It is provided AS IS, with NO WARRANTY OF ANY KIND,
10** INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR
11** A PARTICULAR PURPOSE.
12**
13************************************************************************/
14
26#ifndef _GEMA_PLUGIN_FEM_ASSEMBLER_ADDER_H_
27#define _GEMA_PLUGIN_FEM_ASSEMBLER_ADDER_H_
28
29#include "gmpFemProcessConfig.h"
30
31class GmpFemMatrixSet;
32class GmpFemVectorSet;
33class GmDofMap;
36class GmpFemLocker;
37
38
43{
44public:
57 virtual void addData(int n, const int* indexMap, const GmDofMap* dofMap,
58 const GmpFemAssemblerMatrixCombiner* combiner, GmpFemLocker* locker) = 0;
59};
60
65{
66public:
79 virtual void addData(int n, const int* indexMap, const GmDofMap* dofMap,
80 const GmpFemAssemblerVectorCombiner* combiner, GmpFemLocker* locker) = 0;
81};
82
83
84//------------------------------------------------------------------------------------------------------------
85//
86// Matrix & vector assemblers in "Matching" mode
87//
88//------------------------------------------------------------------------------------------------------------
89
92{
93public:
96
97 virtual void addData(int n, const int* indexMap, const GmDofMap* dofMap,
98 const GmpFemAssemblerMatrixCombiner* combiner, GmpFemLocker* locker);
99
100private:
102};
103
106{
107public:
110 : _matSet(matSet), _vecSet(vecSet), _fixedValues(fixedValues) {}
111
112 virtual void addData(int n, const int* indexMap, const GmDofMap* dofMap,
113 const GmpFemAssemblerMatrixCombiner* combiner, GmpFemLocker* locker);
114
115private:
119};
120
123{
124public:
127
128 virtual void addData(int n, const int* indexMap, const GmDofMap* dofMap,
129 const GmpFemAssemblerVectorCombiner* combiner, GmpFemLocker* locker);
130
131private:
133};
134
137{
138public:
141
142 virtual void addData(int n, const int* indexMap, const GmDofMap* dofMap,
143 const GmpFemAssemblerVectorCombiner* combiner, GmpFemLocker* locker);
144
145private:
147};
148
149
150//------------------------------------------------------------------------------------------------------------
151//
152// Matrix & vector assemblers in "Single" mode
153//
154//------------------------------------------------------------------------------------------------------------
155
158{
159public:
162
163 virtual void addData(int n, const int* indexMap, const GmDofMap* dofMap,
164 const GmpFemAssemblerMatrixCombiner* combiner, GmpFemLocker* locker);
165
166private:
169};
170
173{
174public:
177 const QVector<double>& fixedValues, const QVector<double>& oldFixedValues)
178 : _matSet(matSet), _vecSet(vecSet), _fixedValues(fixedValues), _oldFixedValues(oldFixedValues) {}
179
180 virtual void addData(int n, const int* indexMap, const GmDofMap* dofMap,
181 const GmpFemAssemblerMatrixCombiner* combiner, GmpFemLocker* locker);
182
183private:
188};
189
192{
193public:
196
197 virtual void addData(int n, const int* indexMap, const GmDofMap* dofMap,
198 const GmpFemAssemblerVectorCombiner* combiner, GmpFemLocker* locker);
199
200private:
202};
203
206{
207public:
210
211 virtual void addData(int n, const int* indexMap, const GmDofMap* dofMap,
212 const GmpFemAssemblerVectorCombiner* combiner, GmpFemLocker* locker);
213
214private:
216};
217
218
219//------------------------------------------------------------------------------------------------------------
220//
221// Matrix & vector assemblers for "Debug" mode (for filling debug matrices and vectors)
222//
223//------------------------------------------------------------------------------------------------------------
224
227{
228public:
231
232 virtual void addData(int n, const int* indexMap, const GmDofMap* dofMap,
233 const GmpFemAssemblerMatrixCombiner* combiner, GmpFemLocker* locker);
234
235private:
237};
238
241{
242public:
245
246 virtual void addData(int n, const int* indexMap, const GmDofMap* dofMap,
247 const GmpFemAssemblerVectorCombiner* combiner, GmpFemLocker* locker);
248
249private:
251};
252
253
254#endif
255
Assembler adder for adding to special debug matrices in "single debug mode", with or without boundary...
Definition gmpFemAssemblerAdder.h:227
GmpFemMatrixSet * _matSet
The matrix set providing local matrices and the target global matrices.
Definition gmpFemAssemblerAdder.h:236
GmpFemAssemblerDebugMatrixAdder(GmpFemMatrixSet *matSet)
Constructor.
Definition gmpFemAssemblerAdder.h:230
virtual void addData(int n, const int *indexMap, const GmDofMap *dofMap, const GmpFemAssemblerMatrixCombiner *combiner, GmpFemLocker *locker)
Adder function for adding matrices in "single debug" to the special debug matrices,...
Definition gmpFemAssemblerAdder.cpp:806
Assembler adder for adding to special debug vectors in "single debug mode", with or without boundary ...
Definition gmpFemAssemblerAdder.h:241
GmpFemAssemblerDebugVectorAdder(GmpFemVectorSet *vecSet)
Constructor.
Definition gmpFemAssemblerAdder.h:244
virtual void addData(int n, const int *indexMap, const GmDofMap *dofMap, const GmpFemAssemblerVectorCombiner *combiner, GmpFemLocker *locker)
Adder function for adding vectors in "single debug" to the special debug vectors, with or without bou...
Definition gmpFemAssemblerAdder.cpp:896
GmpFemVectorSet * _vecSet
The vector set providing local vectors and the target global vectors.
Definition gmpFemAssemblerAdder.h:250
Assembler adder for adding matrices in "matching mode", WITHOUT boundary condition reduction.
Definition gmpFemAssemblerAdder.h:92
GmpFemAssemblerMatchingMatrixAdderNoReduction(GmpFemMatrixSet *matSet)
Constructor.
Definition gmpFemAssemblerAdder.h:95
GmpFemMatrixSet * _matSet
The matrix set providing local matrices and the target global matrices.
Definition gmpFemAssemblerAdder.h:101
virtual void addData(int n, const int *indexMap, const GmDofMap *dofMap, const GmpFemAssemblerMatrixCombiner *combiner, GmpFemLocker *locker)
Adder function for adding matrices in "matching mode", WITHOUT boundary condition reduction....
Definition gmpFemAssemblerAdder.cpp:88
Assembler adder for adding matrices in "matching mode", WITH boundary condition reduction.
Definition gmpFemAssemblerAdder.h:106
GmpFemVectorSet * _vecSet
The vector set providing the target global vectors for dof transposition.
Definition gmpFemAssemblerAdder.h:117
const QVector< double > & _fixedValues
A reference for the assembler vector storing fixed dof values.
Definition gmpFemAssemblerAdder.h:118
virtual void addData(int n, const int *indexMap, const GmDofMap *dofMap, const GmpFemAssemblerMatrixCombiner *combiner, GmpFemLocker *locker)
Adder function for adding matrices in "matching mode", WITH boundary condition reduction....
Definition gmpFemAssemblerAdder.cpp:171
GmpFemAssemblerMatchingMatrixAdderWithReduction(GmpFemMatrixSet *matSet, GmpFemVectorSet *vecSet, const QVector< double > &fixedValues)
Constructor.
Definition gmpFemAssemblerAdder.h:109
GmpFemMatrixSet * _matSet
The matrix set providing local matrices and the target global matrices.
Definition gmpFemAssemblerAdder.h:116
Assembler adder for adding vectors in "matching mode", WITHOUT boundary condition reduction.
Definition gmpFemAssemblerAdder.h:123
GmpFemAssemblerMatchingVectorAdderNoReduction(GmpFemVectorSet *vecSet)
Constructor.
Definition gmpFemAssemblerAdder.h:126
GmpFemVectorSet * _vecSet
The vector set providing local vectors and the target global vectors.
Definition gmpFemAssemblerAdder.h:132
virtual void addData(int n, const int *indexMap, const GmDofMap *dofMap, const GmpFemAssemblerVectorCombiner *combiner, GmpFemLocker *locker)
Adder function for adding vectors in "matching mode", WITHOUT boundary condition reduction....
Definition gmpFemAssemblerAdder.cpp:279
Assembler adder for adding vectors in "matching mode", WITH boundary condition reduction.
Definition gmpFemAssemblerAdder.h:137
GmpFemAssemblerMatchingVectorAdderWithReduction(GmpFemVectorSet *vecSet)
Constructor.
Definition gmpFemAssemblerAdder.h:140
virtual void addData(int n, const int *indexMap, const GmDofMap *dofMap, const GmpFemAssemblerVectorCombiner *combiner, GmpFemLocker *locker)
Adder function for adding vectors in "matching mode", WITH boundary condition reduction....
Definition gmpFemAssemblerAdder.cpp:319
GmpFemVectorSet * _vecSet
The vector set providing local vectors and the target global vectors.
Definition gmpFemAssemblerAdder.h:146
Interface for an object responsible for assemblying local matrices into global matrices....
Definition gmpFemAssemblerAdder.h:43
virtual void addData(int n, const int *indexMap, const GmDofMap *dofMap, const GmpFemAssemblerMatrixCombiner *combiner, GmpFemLocker *locker)=0
Virtual function responsible for assembling data from an element's local matrices to the target globa...
Basic interface for defining the rules used to combine information from multiple matrices into a sing...
Definition gmpFemAssemblerCombiner.h:34
Assembler adder for adding matrices in "single mode", WITHOUT boundary condition reduction.
Definition gmpFemAssemblerAdder.h:158
virtual void addData(int n, const int *indexMap, const GmDofMap *dofMap, const GmpFemAssemblerMatrixCombiner *combiner, GmpFemLocker *locker)
Adder function for adding matrices in "single mode", WITHOUT boundary condition reduction....
Definition gmpFemAssemblerAdder.cpp:374
GmpFemMatrixSet * _matSet
The matrix set providing local matrices and the target global matrix.
Definition gmpFemAssemblerAdder.h:167
GmpFemVectorSet * _vecSet
The vector set providing the global vector to which local matrix contributions will be added,...
Definition gmpFemAssemblerAdder.h:168
GmpFemAssemblerSingleMatrixAdderNoReduction(GmpFemMatrixSet *matSet, GmpFemVectorSet *vecSet)
Constructor.
Definition gmpFemAssemblerAdder.h:161
Assembler adder for adding matrices in "single mode", WITH boundary condition reduction.
Definition gmpFemAssemblerAdder.h:173
GmpFemAssemblerSingleMatrixAdderWithReduction(GmpFemMatrixSet *matSet, GmpFemVectorSet *vecSet, const QVector< double > &fixedValues, const QVector< double > &oldFixedValues)
Constructor.
Definition gmpFemAssemblerAdder.h:176
const QVector< double > & _fixedValues
A reference for the assembler vector storing fixed dof values.
Definition gmpFemAssemblerAdder.h:186
GmpFemVectorSet * _vecSet
The vector set providing the target global vector for dof transposition.
Definition gmpFemAssemblerAdder.h:185
virtual void addData(int n, const int *indexMap, const GmDofMap *dofMap, const GmpFemAssemblerMatrixCombiner *combiner, GmpFemLocker *locker)
Adder function for adding matrices in "single mode", WITH boundary condition reduction....
Definition gmpFemAssemblerAdder.cpp:505
GmpFemMatrixSet * _matSet
The matrix set providing local matrices and the target global matrix.
Definition gmpFemAssemblerAdder.h:184
const QVector< double > & _oldFixedValues
A reference for the assembler vector storing old fixed dof values.
Definition gmpFemAssemblerAdder.h:187
Assembler adder for adding vectors in "single mode", WITHOUT boundary condition reduction.
Definition gmpFemAssemblerAdder.h:192
GmpFemAssemblerSingleVectorAdderNoReduction(GmpFemVectorSet *vecSet)
Constructor.
Definition gmpFemAssemblerAdder.h:195
GmpFemVectorSet * _vecSet
The vector set providing local vectors and the target global vector.
Definition gmpFemAssemblerAdder.h:201
virtual void addData(int n, const int *indexMap, const GmDofMap *dofMap, const GmpFemAssemblerVectorCombiner *combiner, GmpFemLocker *locker)
Adder function for adding vectors in "single mode", WITHOUT boundary condition reduction....
Definition gmpFemAssemblerAdder.cpp:693
Assembler adder for adding vectors in "single mode", WITH boundary condition reduction.
Definition gmpFemAssemblerAdder.h:206
virtual void addData(int n, const int *indexMap, const GmDofMap *dofMap, const GmpFemAssemblerVectorCombiner *combiner, GmpFemLocker *locker)
Adder function for adding vectors in "single mode", WITH boundary condition reduction....
Definition gmpFemAssemblerAdder.cpp:738
GmpFemVectorSet * _vecSet
The vector set providing local vectors and the target global vector.
Definition gmpFemAssemblerAdder.h:215
GmpFemAssemblerSingleVectorAdderWithReduction(GmpFemVectorSet *vecSet)
Constructor.
Definition gmpFemAssemblerAdder.h:209
Interface for an object responsible for assemblying local vectors into global vectors....
Definition gmpFemAssemblerAdder.h:65
virtual void addData(int n, const int *indexMap, const GmDofMap *dofMap, const GmpFemAssemblerVectorCombiner *combiner, GmpFemLocker *locker)=0
Virtual function responsible for assembling data from an element's local vectors to the target global...
Basic interface for defining the rules used to combine information from multiple vectors into a singl...
Definition gmpFemAssemblerCombiner.h:103
A lock manager to be used by GmpFemAssemblerMatrixAdder and GmpFemAssemblerVectorAdder objects when w...
Definition gmpFemLocker.h:39
A convenience class that builds a GmMatrixSet with the types given by GmpFemMatrixTypes and also asso...
Definition gmpFemMatrixSet.h:59
A convenience class that builds a GmVectorSet with the types given by GmpFemVectorTypes and also asso...
Definition gmpFemVectorSet.h:50
Declaration of useful configuration definitions for the plugin library.