ngsolve 6.2.2501.post83.dev1__cp311-cp311-macosx_10_15_universal2.whl → 6.2.2503__cp311-cp311-macosx_10_15_universal2.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ngsolve might be problematic. Click here for more details.
- netgen/include/facetfespace.hpp +2 -0
- netgen/include/fespace.hpp +4 -2
- netgen/include/intrules_SauterSchwab.hpp +25 -0
- netgen/include/mptools.hpp +380 -95
- netgen/include/ngblas.hpp +14 -0
- netgen/include/potentialtools.hpp +20 -0
- netgen/include/prolongation.hpp +143 -1
- netgen/include/python_ngstd.hpp +1 -0
- netgen/include/sparsecholesky.hpp +1 -1
- netgen/include/sparsematrix_impl.hpp +71 -5
- netgen/include/tangentialfacetfespace.hpp +7 -22
- netgen/include/tensor.hpp +1 -1
- netgen/libngbla.dylib +0 -0
- netgen/libngcomp.dylib +0 -0
- netgen/libngfem.dylib +0 -0
- netgen/libngla.dylib +0 -0
- netgen/libngsbem.dylib +0 -0
- netgen/libngsolve.dylib +0 -0
- netgen/libngstd.dylib +0 -0
- ngsolve/cmake/NGSolveConfig.cmake +5 -5
- ngsolve/cmake/ngsolve-targets-release.cmake +10 -0
- ngsolve/cmake/ngsolve-targets.cmake +9 -2
- ngsolve/config/config.py +6 -6
- ngsolve/ngslib.so +0 -0
- {ngsolve-6.2.2501.post83.dev1.dist-info → ngsolve-6.2.2503.dist-info}/METADATA +2 -2
- {ngsolve-6.2.2501.post83.dev1.dist-info → ngsolve-6.2.2503.dist-info}/RECORD +62 -59
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/Netgen.icns +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/bin/ngscxx +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/bin/ngsld +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/bin/ngsolve.tcl +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/bin/ngspy +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/beam.geo +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/beam.vol +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/chip.in2d +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/chip.vol +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/coil.geo +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/coil.vol +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/coilshield.geo +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/coilshield.vol +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/cube.geo +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/cube.vol +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d10_DGdoubleglazing.pde +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d11_chip_nitsche.pde +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d1_square.pde +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d2_chip.pde +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d3_helmholtz.pde +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d4_cube.pde +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d5_beam.pde +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d6_shaft.pde +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d7_coil.pde +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d8_coilshield.pde +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/d9_hybridDG.pde +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/doubleglazing.in2d +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/doubleglazing.vol +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/piezo2d40round4.vol.gz +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/shaft.geo +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/shaft.vol +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/square.in2d +0 -0
- {ngsolve-6.2.2501.post83.dev1.data → ngsolve-6.2.2503.data}/data/share/ngsolve/square.vol +0 -0
- {ngsolve-6.2.2501.post83.dev1.dist-info → ngsolve-6.2.2503.dist-info}/LICENSE +0 -0
- {ngsolve-6.2.2501.post83.dev1.dist-info → ngsolve-6.2.2503.dist-info}/WHEEL +0 -0
- {ngsolve-6.2.2501.post83.dev1.dist-info → ngsolve-6.2.2503.dist-info}/top_level.txt +0 -0
netgen/include/ngblas.hpp
CHANGED
|
@@ -655,6 +655,20 @@ namespace ngbla
|
|
|
655
655
|
template <bool ADD, ORDERING ord>
|
|
656
656
|
extern NGS_DLL_HEADER
|
|
657
657
|
void NgGEMV (Complex s, BareSliceMatrix<double,ord> a, FlatVector<const Complex> x, FlatVector<Complex> y) NETGEN_NOEXCEPT;
|
|
658
|
+
|
|
659
|
+
|
|
660
|
+
|
|
661
|
+
template <bool ADD, ORDERING ord, int S>
|
|
662
|
+
void NgGEMV (Complex s, BareSliceMatrix<double,ord> a, SliceVector<Vec<S,Complex>> x, SliceVector<Vec<S,Complex>> y) NETGEN_NOEXCEPT
|
|
663
|
+
{
|
|
664
|
+
SliceMatrix<Complex> mx(x.Size(), S, S*x.Dist(), x.Data()->Data());
|
|
665
|
+
SliceMatrix<Complex> my(y.Size(), S, S*y.Dist(), y.Data()->Data());
|
|
666
|
+
if constexpr (ADD)
|
|
667
|
+
my += s * a.AddSize(y.Size(), x.Size()) * mx;
|
|
668
|
+
else
|
|
669
|
+
my = s * a.AddSize(y.Size(), x.Size()) * mx;
|
|
670
|
+
}
|
|
671
|
+
|
|
658
672
|
|
|
659
673
|
|
|
660
674
|
template <bool ADD, ORDERING ord>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#ifndef FILE_POTENTIALS
|
|
2
|
+
#define FILE_POTENTIALS
|
|
3
|
+
|
|
4
|
+
/*
|
|
5
|
+
tools for computing with potentials using multipoles
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
#include <mptools.hpp>
|
|
10
|
+
#include <meshaccess.hpp>
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
namespace ngsbem
|
|
14
|
+
{
|
|
15
|
+
|
|
16
|
+
extern void AddCurrentDensity (SingularMLMultiPole<Vec<3,Complex>> & mp, shared_ptr<CoefficientFunction> current, ngcomp::Region reg);
|
|
17
|
+
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
#endif
|
netgen/include/prolongation.hpp
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
/*********************************************************************/
|
|
9
9
|
|
|
10
10
|
namespace ngcomp { class NedelecFESpace; }
|
|
11
|
-
|
|
11
|
+
namespace ngla { class SparseFactorization; }
|
|
12
12
|
namespace ngmg
|
|
13
13
|
{
|
|
14
14
|
|
|
@@ -229,6 +229,148 @@ namespace ngmg
|
|
|
229
229
|
///
|
|
230
230
|
virtual void RestrictInline (int finelevel, BaseVector & v) const override;
|
|
231
231
|
};
|
|
232
|
+
|
|
233
|
+
class NGS_DLL_HEADER HarmonicProlongation : public Prolongation
|
|
234
|
+
{
|
|
235
|
+
shared_ptr<Prolongation> baseprol;
|
|
236
|
+
weak_ptr<BilinearForm> wbfa;
|
|
237
|
+
Array<shared_ptr<BaseMatrix>> innerinverses;
|
|
238
|
+
Array<size_t> facets_on_level;
|
|
239
|
+
Array<shared_ptr<BitArray>> freedofs;
|
|
240
|
+
string inverse;
|
|
241
|
+
public:
|
|
242
|
+
HarmonicProlongation (shared_ptr<Prolongation> abaseprol,
|
|
243
|
+
shared_ptr<BilinearForm> abfa, string ainverse);
|
|
244
|
+
|
|
245
|
+
virtual void Update (const FESpace & fes) override;
|
|
246
|
+
|
|
247
|
+
virtual size_t GetNDofLevel (int level) override { return baseprol->GetNDofLevel(level); }
|
|
248
|
+
|
|
249
|
+
virtual shared_ptr<SparseMatrix< double >> CreateProlongationMatrix( int finelevel ) const override;
|
|
250
|
+
virtual void ProlongateInline (int finelevel, BaseVector & v) const override;
|
|
251
|
+
virtual void RestrictInline (int finelevel, BaseVector & v) const override;
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
template <int DIM>
|
|
259
|
+
class FacetProlongation : public Prolongation
|
|
260
|
+
{
|
|
261
|
+
protected:
|
|
262
|
+
shared_ptr<MeshAccess> ma;
|
|
263
|
+
|
|
264
|
+
int dofs_per_facet = -1;
|
|
265
|
+
Array<Array<int>> first_dofs;
|
|
266
|
+
Array<int> prol_class; // which prol to use ?
|
|
267
|
+
Array<size_t> facets_on_level;
|
|
268
|
+
|
|
269
|
+
static constexpr int NUMPROL = (DIM==2) ? 2 : 32;
|
|
270
|
+
array<Matrix<double>,NUMPROL> facetprol;
|
|
271
|
+
|
|
272
|
+
bool haveprols = false;
|
|
273
|
+
|
|
274
|
+
public:
|
|
275
|
+
FacetProlongation (shared_ptr<MeshAccess> ama)
|
|
276
|
+
: ma(ama) { }
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
virtual shared_ptr<SparseMatrix< double >> CreateProlongationMatrix( int finelevel ) const override
|
|
280
|
+
{
|
|
281
|
+
return nullptr; // or NULL ?
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
virtual void ProlongateInline (int finelevel, BaseVector & v) const override
|
|
286
|
+
{
|
|
287
|
+
auto fv = v.FV<double>();
|
|
288
|
+
Matrix<double> tmp(facets_on_level[finelevel], dofs_per_facet);
|
|
289
|
+
tmp = 0.0;
|
|
290
|
+
|
|
291
|
+
for (size_t i = 0; i < first_dofs[finelevel-1].Size()-1; i++)
|
|
292
|
+
{
|
|
293
|
+
IntRange r(first_dofs[finelevel-1][i], first_dofs[finelevel-1][i+1]);
|
|
294
|
+
if (r.Size() > 0)
|
|
295
|
+
tmp.Row(i) = fv.Range(r);
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
if constexpr (DIM==2)
|
|
299
|
+
{
|
|
300
|
+
for (int i = facets_on_level[finelevel-1]; i < facets_on_level[finelevel]; i++)
|
|
301
|
+
if (auto parents = get<1>(ma->GetParentEdges(i)); parents[1] == -1)
|
|
302
|
+
{
|
|
303
|
+
int pe = parents[0];
|
|
304
|
+
tmp.Row(i) = facetprol[prol_class[i]] * tmp.Row(pe);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
else
|
|
308
|
+
{
|
|
309
|
+
for (int i = facets_on_level[finelevel-1]; i < facets_on_level[finelevel]; i++)
|
|
310
|
+
if (auto parents = get<1>(ma->GetParentFaces(i)); parents[1] == -1)
|
|
311
|
+
{
|
|
312
|
+
int pe = parents[0];
|
|
313
|
+
tmp.Row(i) = facetprol[prol_class[i]] * tmp.Row(pe);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
for (size_t i = 0; i < first_dofs[finelevel].Size()-1; i++)
|
|
318
|
+
{
|
|
319
|
+
IntRange r(first_dofs[finelevel][i], first_dofs[finelevel][i+1]);
|
|
320
|
+
if (r.Size() > 0)
|
|
321
|
+
fv.Range(r) = tmp.Row(i);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
virtual void RestrictInline (int finelevel, BaseVector & v) const override
|
|
326
|
+
{
|
|
327
|
+
auto fv = v.FV<double>();
|
|
328
|
+
Matrix<double> tmp(facets_on_level[finelevel], dofs_per_facet);
|
|
329
|
+
tmp = 0.0;
|
|
330
|
+
|
|
331
|
+
for (size_t i = 0; i < first_dofs[finelevel].Size()-1; i++)
|
|
332
|
+
{
|
|
333
|
+
IntRange r(first_dofs[finelevel][i], first_dofs[finelevel][i+1]);
|
|
334
|
+
if (r.Size() > 0)
|
|
335
|
+
tmp.Row(i) = fv.Range(r);
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
if constexpr (DIM==2)
|
|
340
|
+
{
|
|
341
|
+
for (int i = facets_on_level[finelevel-1]; i < facets_on_level[finelevel]; i++)
|
|
342
|
+
if (auto parents = get<1>(ma->GetParentEdges(i)); parents[1] == -1)
|
|
343
|
+
{
|
|
344
|
+
int pe = parents[0];
|
|
345
|
+
tmp.Row(pe) += Trans(facetprol[prol_class[i]]) * tmp.Row(i);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
else
|
|
349
|
+
{
|
|
350
|
+
// for (int i = facets_on_level[finelevel-1]; i < facets_on_level[finelevel]; i++)
|
|
351
|
+
for (int i = facets_on_level[finelevel]-1; i >= facets_on_level[finelevel-1]; i--)
|
|
352
|
+
if (auto parents = get<1>(ma->GetParentFaces(i)); parents[1] == -1)
|
|
353
|
+
{
|
|
354
|
+
int pe = parents[0];
|
|
355
|
+
tmp.Row(pe) += Trans(facetprol[prol_class[i]]) * tmp.Row(i);
|
|
356
|
+
tmp.Row(i) = 0.0; // optional, for testing
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
fv = 0.0;
|
|
361
|
+
for (size_t i = 0; i < first_dofs[finelevel-1].Size()-1; i++)
|
|
362
|
+
{
|
|
363
|
+
IntRange r(first_dofs[finelevel-1][i], first_dofs[finelevel-1][i+1]);
|
|
364
|
+
if (r.Size() > 0)
|
|
365
|
+
fv.Range(r) = tmp.Row(i);
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
};
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
|
|
232
374
|
}
|
|
233
375
|
|
|
234
376
|
|
netgen/include/python_ngstd.hpp
CHANGED
|
@@ -34,7 +34,7 @@ namespace ngla
|
|
|
34
34
|
|
|
35
35
|
void DoArchive(Archive& ar) override;
|
|
36
36
|
|
|
37
|
-
virtual bool IsComplex() const override { return matrix.lock()->IsComplex(); }
|
|
37
|
+
// virtual bool IsComplex() const override { return matrix.lock()->IsComplex(); }
|
|
38
38
|
|
|
39
39
|
virtual void Smooth (BaseVector & u, const BaseVector & f, BaseVector & y) const;
|
|
40
40
|
|
|
@@ -51,28 +51,94 @@ namespace ngla
|
|
|
51
51
|
FlatArray<TM> val, size_t h, size_t w)
|
|
52
52
|
{
|
|
53
53
|
static Timer t("SparseMatrix::CreateFromCOO"); RegionTimer r(t);
|
|
54
|
-
|
|
54
|
+
static Timer t1("SparseMatrix::CreateFromCOO 1");
|
|
55
|
+
static Timer t2("SparseMatrix::CreateFromCOO 2");
|
|
56
|
+
static Timer t3("SparseMatrix::CreateFromCOO 3");
|
|
55
57
|
|
|
56
58
|
/*
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
*/
|
|
59
|
+
{
|
|
60
|
+
Array<int> cnt(h);
|
|
60
61
|
|
|
62
|
+
t1.Start();
|
|
61
63
|
DynamicTable<int> tab(h);
|
|
62
64
|
for (size_t i = 0; i < indi.Size(); i++)
|
|
63
65
|
tab.AddUnique(indi[i], indj[i]);
|
|
66
|
+
t1.Stop();
|
|
64
67
|
for (size_t i = 0; i < h; i++)
|
|
65
68
|
cnt[i] = tab.EntrySize(i);
|
|
66
69
|
|
|
67
70
|
auto matrix = make_shared<SparseMatrix<TM>> (cnt, w);
|
|
71
|
+
t2.Start();
|
|
68
72
|
for (auto k : ngstd::Range(indi))
|
|
69
73
|
matrix->CreatePosition(indi[k], indj[k]);
|
|
74
|
+
t2.Stop();
|
|
70
75
|
matrix->SetZero();
|
|
71
76
|
|
|
77
|
+
t3.Start();
|
|
72
78
|
for (auto k : ngstd::Range(indi))
|
|
73
79
|
(*matrix)(indi[k], indj[k]) += val[k];
|
|
80
|
+
t3.Stop();
|
|
81
|
+
// return matrix;
|
|
82
|
+
}
|
|
83
|
+
*/
|
|
84
|
+
|
|
85
|
+
Array<int> cnt(h);
|
|
86
|
+
cnt = 0;
|
|
87
|
+
for (auto i : indi)
|
|
88
|
+
cnt[i]++;
|
|
89
|
+
|
|
90
|
+
Table<int> tab(cnt);
|
|
91
|
+
cnt = 0;
|
|
92
|
+
|
|
93
|
+
for (auto [i,j] : Zip(indi, indj))
|
|
94
|
+
tab[i][cnt[i]++] = j;
|
|
95
|
+
|
|
96
|
+
cnt = 0;
|
|
97
|
+
// for (int i = 0; i < tab.Size(); i++)
|
|
98
|
+
ParallelFor (tab.Size(), [&] (size_t i)
|
|
99
|
+
{
|
|
100
|
+
QuickSort (tab[i]);
|
|
101
|
+
|
|
102
|
+
int prev = -1;
|
|
103
|
+
for (auto j : tab[i])
|
|
104
|
+
{
|
|
105
|
+
if (j != prev) cnt[i]++;
|
|
106
|
+
prev = j;
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
auto matrix = make_shared<SparseMatrix<TM>> (cnt, w);
|
|
111
|
+
t2.Start();
|
|
112
|
+
// for (auto k : ngstd::Range(indi))
|
|
113
|
+
// matrix->CreatePosition(indi[k], indj[k]);
|
|
74
114
|
|
|
75
|
-
|
|
115
|
+
cnt = 0;
|
|
116
|
+
for (int i = 0; i < tab.Size(); i++)
|
|
117
|
+
{
|
|
118
|
+
int prev = -1;
|
|
119
|
+
for (auto j : tab[i])
|
|
120
|
+
{
|
|
121
|
+
auto cols = matrix->GetRowIndices(i);
|
|
122
|
+
if (j != prev)
|
|
123
|
+
cols[cnt[i]++] = j;
|
|
124
|
+
prev = j;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
t2.Stop();
|
|
129
|
+
matrix->SetZero();
|
|
130
|
+
|
|
131
|
+
t3.Start();
|
|
132
|
+
/*
|
|
133
|
+
for (auto k : ngstd::Range(indi))
|
|
134
|
+
(*matrix)(indi[k], indj[k]) += val[k];
|
|
135
|
+
*/
|
|
136
|
+
ParallelFor (indi.Size(), [&](size_t k)
|
|
137
|
+
{
|
|
138
|
+
AtomicAdd ( (*matrix)(indi[k], indj[k]), val[k]);
|
|
139
|
+
});
|
|
140
|
+
t3.Stop();
|
|
141
|
+
return matrix;
|
|
76
142
|
}
|
|
77
143
|
|
|
78
144
|
|
|
@@ -16,34 +16,22 @@ namespace ngcomp
|
|
|
16
16
|
class NGS_DLL_HEADER TangentialFacetFESpace : public FESpace
|
|
17
17
|
{
|
|
18
18
|
protected:
|
|
19
|
-
/// Level
|
|
20
|
-
// int level;
|
|
21
|
-
/// Number of Facets
|
|
22
|
-
// int nfacets;
|
|
23
|
-
///
|
|
24
|
-
// int ncfacets;
|
|
25
|
-
///
|
|
26
|
-
// int nel;
|
|
27
|
-
|
|
28
19
|
Array<int> first_facet_dof;
|
|
29
20
|
Array<int> first_inner_dof; // for highest_order_dc
|
|
30
|
-
// int ndof_lo;
|
|
31
21
|
|
|
32
22
|
int rel_order;
|
|
33
23
|
|
|
34
24
|
Array<IVec<2> > order_facet;
|
|
35
25
|
Array<bool> fine_facet;
|
|
36
26
|
|
|
37
|
-
// int ndof;
|
|
38
|
-
// Array<int> ndlevel;
|
|
39
27
|
bool var_order;
|
|
40
28
|
bool print;
|
|
41
29
|
|
|
42
30
|
bool highest_order_dc;
|
|
43
31
|
bool hide_highest_order_dc;
|
|
32
|
+
bool all_dofs_together;
|
|
44
33
|
|
|
45
34
|
public:
|
|
46
|
-
///
|
|
47
35
|
TangentialFacetFESpace (shared_ptr<MeshAccess> ama, const Flags & flags,
|
|
48
36
|
bool parseflags = false );
|
|
49
37
|
|
|
@@ -61,20 +49,11 @@ namespace ngcomp
|
|
|
61
49
|
virtual void SetOrder (NodeId ni, int order) override;
|
|
62
50
|
virtual int GetOrder (NodeId ni) const override;
|
|
63
51
|
|
|
64
|
-
|
|
65
|
-
// virtual size_t GetNDof() const throw() override { return ndof; }
|
|
66
|
-
// virtual size_t GetNDofLevel ( int i ) const override { return ndlevel[i]; }
|
|
67
|
-
|
|
68
52
|
virtual FlatArray<VorB> GetDualShapeNodes (VorB vb) const override;
|
|
69
53
|
|
|
70
|
-
// virtual int GetNDofLowOrder () const
|
|
71
|
-
// { return ndof_lo; }
|
|
72
54
|
|
|
73
55
|
virtual FiniteElement & GetFE(ElementId ei, Allocator & lh) const override;
|
|
74
56
|
|
|
75
|
-
// virtual const FiniteElement & GetFE ( int elnr, LocalHeap & lh ) const;
|
|
76
|
-
// virtual const FiniteElement & GetSFE ( int selnr, LocalHeap & lh ) const;
|
|
77
|
-
|
|
78
57
|
virtual void GetFacetDofNrs (int felnr, Array<DofId> & dnums) const;
|
|
79
58
|
|
|
80
59
|
virtual int GetNFacetDofs (int felnr) const;
|
|
@@ -90,6 +69,12 @@ namespace ngcomp
|
|
|
90
69
|
virtual IVec<2> GetFacetOrder(int fnr) const;
|
|
91
70
|
|
|
92
71
|
virtual int GetFirstFacetDof(int fanr) const;
|
|
72
|
+
const auto & GetFirstFacetDof() const { return first_facet_dof; }
|
|
73
|
+
|
|
74
|
+
IntRange GetFacetDofs (int nr) const
|
|
75
|
+
{
|
|
76
|
+
return IntRange (first_facet_dof[nr], first_facet_dof[nr+1]);
|
|
77
|
+
}
|
|
93
78
|
|
|
94
79
|
virtual bool UsesHighestOrderDiscontinuous() const {return highest_order_dc;};
|
|
95
80
|
|
netgen/include/tensor.hpp
CHANGED
netgen/libngbla.dylib
CHANGED
|
Binary file
|
netgen/libngcomp.dylib
CHANGED
|
Binary file
|
netgen/libngfem.dylib
CHANGED
|
Binary file
|
netgen/libngla.dylib
CHANGED
|
Binary file
|
netgen/libngsbem.dylib
ADDED
|
Binary file
|
netgen/libngsolve.dylib
CHANGED
|
Binary file
|
netgen/libngstd.dylib
CHANGED
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
set(PACKAGE_VERSION "6.2.
|
|
1
|
+
set(PACKAGE_VERSION "6.2.2503")
|
|
2
2
|
find_package(Netgen CONFIG REQUIRED HINTS
|
|
3
3
|
${CMAKE_CURRENT_LIST_DIR}
|
|
4
4
|
${CMAKE_CURRENT_LIST_DIR}/..
|
|
@@ -23,15 +23,15 @@ set(NGSOLVE_PYBIND_INCLUDE_DIR "")
|
|
|
23
23
|
set(NGSOLVE_PYTHON_INCLUDE_DIRS "/Library/Frameworks/Python.framework/Versions/3.11/include/python3.11")
|
|
24
24
|
set(NGSOLVE_PYTHON_LIBRARIES "/Library/Frameworks/Python.framework/Versions/3.11/lib/libpython3.11.dylib")
|
|
25
25
|
set(NGSOLVE_PYTHON_PACKAGES_INSTALL_DIR "")
|
|
26
|
-
set(NGSOLVE_TCL_INCLUDE_PATH "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/
|
|
26
|
+
set(NGSOLVE_TCL_INCLUDE_PATH "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/netgen/_skbuild/macosx-10.15-universal2-3.11/cmake-build/dependencies/src/project_tcl/generic")
|
|
27
27
|
set(NGSOLVE_TCL_LIBRARY "/Library/Frameworks/Python.framework/Versions/3.11/lib/libtclstub8.6.a")
|
|
28
28
|
set(NGSOLVE_TK_DND_LIBRARY "")
|
|
29
|
-
set(NGSOLVE_TK_INCLUDE_PATH "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/
|
|
29
|
+
set(NGSOLVE_TK_INCLUDE_PATH "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/netgen/_skbuild/macosx-10.15-universal2-3.11/cmake-build/dependencies/src/project_tk/generic")
|
|
30
30
|
set(NGSOLVE_TK_LIBRARY "/Library/Frameworks/Python.framework/Versions/3.11/lib/libtkstub8.6.a")
|
|
31
31
|
set(NGSOLVE_X11_X11_LIB "")
|
|
32
32
|
set(NGSOLVE_X11_Xmu_LIB "")
|
|
33
|
-
set(NGSOLVE_ZLIB_INCLUDE_DIRS "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/
|
|
34
|
-
set(NGSOLVE_ZLIB_LIBRARIES "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/
|
|
33
|
+
set(NGSOLVE_ZLIB_INCLUDE_DIRS "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/netgen/_skbuild/macosx-10.15-universal2-3.11/cmake-build/dependencies/zlib/include")
|
|
34
|
+
set(NGSOLVE_ZLIB_LIBRARIES "/Users/gitlab-runner/builds/builds/rL7WHzyj/0/ngsolve/netgen/_skbuild/macosx-10.15-universal2-3.11/cmake-build/dependencies/zlib/lib/libz.a")
|
|
35
35
|
|
|
36
36
|
set(NGSOLVE_INTEL_MIC OFF)
|
|
37
37
|
set(NGSOLVE_USE_CCACHE ON)
|
|
@@ -45,6 +45,16 @@ set_target_properties(ngfem PROPERTIES
|
|
|
45
45
|
list(APPEND _cmake_import_check_targets ngfem )
|
|
46
46
|
list(APPEND _cmake_import_check_files_for_ngfem "${_IMPORT_PREFIX}/netgen/libngfem.dylib" )
|
|
47
47
|
|
|
48
|
+
# Import target "ngsbem" for configuration "Release"
|
|
49
|
+
set_property(TARGET ngsbem APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
|
50
|
+
set_target_properties(ngsbem PROPERTIES
|
|
51
|
+
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/netgen/libngsbem.dylib"
|
|
52
|
+
IMPORTED_SONAME_RELEASE "@rpath/libngsbem.dylib"
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
list(APPEND _cmake_import_check_targets ngsbem )
|
|
56
|
+
list(APPEND _cmake_import_check_files_for_ngsbem "${_IMPORT_PREFIX}/netgen/libngsbem.dylib" )
|
|
57
|
+
|
|
48
58
|
# Import target "ngcomp" for configuration "Release"
|
|
49
59
|
set_property(TARGET ngcomp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
|
50
60
|
set_target_properties(ngcomp PROPERTIES
|
|
@@ -19,7 +19,7 @@ set(CMAKE_IMPORT_FILE_VERSION 1)
|
|
|
19
19
|
set(_cmake_targets_defined "")
|
|
20
20
|
set(_cmake_targets_not_defined "")
|
|
21
21
|
set(_cmake_expected_targets "")
|
|
22
|
-
foreach(_cmake_expected_target IN ITEMS netgen_libs ngs_lapack netgen_python ngstd ngbla ngla ngfem ngcomp ngsolve)
|
|
22
|
+
foreach(_cmake_expected_target IN ITEMS netgen_libs ngs_lapack netgen_python ngstd ngbla ngla ngfem ngsbem ngcomp ngsolve)
|
|
23
23
|
list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
|
|
24
24
|
if(TARGET "${_cmake_expected_target}")
|
|
25
25
|
list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
|
|
@@ -105,6 +105,13 @@ set_target_properties(ngfem PROPERTIES
|
|
|
105
105
|
INTERFACE_LINK_LIBRARIES "ngbla;ngstd"
|
|
106
106
|
)
|
|
107
107
|
|
|
108
|
+
# Create imported target ngsbem
|
|
109
|
+
add_library(ngsbem SHARED IMPORTED)
|
|
110
|
+
|
|
111
|
+
set_target_properties(ngsbem PROPERTIES
|
|
112
|
+
INTERFACE_LINK_LIBRARIES "ngcomp;ngfem;ngla;ngbla;ngstd"
|
|
113
|
+
)
|
|
114
|
+
|
|
108
115
|
# Create imported target ngcomp
|
|
109
116
|
add_library(ngcomp SHARED IMPORTED)
|
|
110
117
|
|
|
@@ -116,7 +123,7 @@ set_target_properties(ngcomp PROPERTIES
|
|
|
116
123
|
add_library(ngsolve SHARED IMPORTED)
|
|
117
124
|
|
|
118
125
|
set_target_properties(ngsolve PROPERTIES
|
|
119
|
-
INTERFACE_LINK_LIBRARIES "netgen_libs;ngsolve;ngcomp;ngfem;ngbla;ngla;ngstd"
|
|
126
|
+
INTERFACE_LINK_LIBRARIES "netgen_libs;ngsolve;ngcomp;ngfem;ngsbem;ngbla;ngla;ngstd"
|
|
120
127
|
)
|
|
121
128
|
|
|
122
129
|
if(CMAKE_VERSION VERSION_LESS 3.0.0)
|
ngsolve/config/config.py
CHANGED
|
@@ -29,15 +29,15 @@ NGSOLVE_INSTALL_DIR_INCLUDE = "netgen/include"
|
|
|
29
29
|
NGSOLVE_INSTALL_DIR_CMAKE = "ngsolve/cmake"
|
|
30
30
|
NGSOLVE_INSTALL_DIR_RES = "share"
|
|
31
31
|
|
|
32
|
-
NGSOLVE_VERSION = "6.2.
|
|
33
|
-
NGSOLVE_VERSION_GIT = "v6.2.
|
|
34
|
-
NGSOLVE_VERSION_PYTHON = "6.2.
|
|
32
|
+
NGSOLVE_VERSION = "6.2.2503"
|
|
33
|
+
NGSOLVE_VERSION_GIT = "v6.2.2503-0-ga44fe5348"
|
|
34
|
+
NGSOLVE_VERSION_PYTHON = "6.2.2503"
|
|
35
35
|
|
|
36
36
|
NGSOLVE_VERSION_MAJOR = "6"
|
|
37
37
|
NGSOLVE_VERSION_MINOR = "2"
|
|
38
|
-
NGSOLVE_VERSION_TWEAK = "
|
|
39
|
-
NGSOLVE_VERSION_PATCH = "
|
|
40
|
-
NGSOLVE_VERSION_HASH = "
|
|
38
|
+
NGSOLVE_VERSION_TWEAK = "0"
|
|
39
|
+
NGSOLVE_VERSION_PATCH = "2503"
|
|
40
|
+
NGSOLVE_VERSION_HASH = "ga44fe5348"
|
|
41
41
|
|
|
42
42
|
CMAKE_CXX_COMPILER = "/Library/Developer/CommandLineTools/usr/bin/c++"
|
|
43
43
|
CMAKE_CUDA_COMPILER = ""
|
ngsolve/ngslib.so
CHANGED
|
Binary file
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ngsolve
|
|
3
|
-
Version: 6.2.
|
|
3
|
+
Version: 6.2.2503
|
|
4
4
|
Summary: NGSolve
|
|
5
5
|
Author: The NGSolve team
|
|
6
6
|
License: LGPL2.1
|
|
7
7
|
License-File: LICENSE
|
|
8
|
-
Requires-Dist: netgen-mesher (==6.2.
|
|
8
|
+
Requires-Dist: netgen-mesher (==6.2.2503)
|
|
9
9
|
|