Christopher Lackner
a5ba7075e4
explicitly specify projection boundaries
2022-04-11 13:04:38 +02:00
Christopher Lackner
f95e039c22
fix boundarylayer growth type
2022-04-11 13:04:21 +02:00
Christopher Lackner
32cb8d546e
Restrict growth vector only taking boundary of domain into account
...
Else it will restrict too much
2022-04-08 14:01:01 +02:00
mhochsteger@cerbsim.com
88f74fd6f2
boundarylayer - limit height
2022-03-31 21:12:43 +02:00
Christopher Lackner
d36b3d8b4e
[occ] inner point of surface -> surface mesh
2022-03-30 12:47:07 +02:00
luz paz
4033fac1b3
Fix various typos
...
Found via `codespell -q 3 -S ./external_dependencies/pybind11 -L alledges,allright,ane,anormal,ans,apoints,ba,boxs,cancle,childs,co-ordinate,co-ordinates,daty,enty,filld,hel,identifyable,ist,linz,lod,ned,nd,selt,statics,suround,thev,thist,thisy,timere,upto,wel`
2022-03-25 18:22:05 -04:00
Matthias Hochsteger
dcda14e6e7
fix occ identifications
2022-03-24 16:54:40 +01:00
Matthias Hochsteger
08f2835d8a
DLL_HEADER
2022-03-23 16:44:49 +01:00
Joachim Schoeberl
aa206c7bae
debug output with less priority
2022-03-18 08:21:03 +01:00
Joachim Schoeberl
7791840a4a
little mpi cleanup, meshing+distribution in one call
2022-03-15 09:13:09 +01:00
Christopher Lackner
842780feec
if only 1 locahl tree is set use the global one on all layers
2022-03-14 14:20:31 +01:00
mhochsteger@cerbsim.com
154302605f
separate localh trees for different layers
...
currenlty used in OCC geometries generated with
shape = netgen.occ.Compound(list_of_shapes, separate_layers=True)
2022-03-10 19:04:46 +01:00
Christopher Lackner
eea8054af6
add flag grow edges to python export of BoundaryLayers
2022-03-10 12:07:07 +01:00
mhochsteger@cerbsim.com
b76ea76219
restructure BoundaryLayer code
2022-03-09 13:15:48 +01:00
mhochsteger@cerbsim.com
1e6ab35f4d
Fix return value of ProjectPointGI
2022-03-07 21:08:04 +01:00
mhochsteger@cerbsim.com
262fec4601
CombineImprove2D - project only for edge points
2022-03-07 20:59:24 +01:00
mhochsteger@cerbsim.com
0a99c169b6
fix missing return value
2022-03-07 20:59:24 +01:00
Christopher Lackner
21b263a0ba
[occ] fix boundarylayer + curve
2022-03-07 17:25:41 +01:00
mhochsteger@cerbsim.com
8dd4c0c9e3
boundarylayer - calculate edge tangents on the fly
2022-03-07 17:24:36 +01:00
mhochsteger@cerbsim.com
97b9dae812
preserve Geometry after generating boundary layer
2022-03-07 16:04:21 +01:00
Matthias Hochsteger
8b8900e21d
Merge branch 'boundarylayer_updates' into 'master'
...
Boundarylayer updates
See merge request jschoeberl/netgen!488
2022-03-07 12:53:51 +00:00
Christopher Lackner
2ffd3b6589
fix edge interpolation of growthvectors in boundarylayer
...
(now without geometry)
2022-03-07 12:17:05 +01:00
mhochsteger@cerbsim.com
8e861d1773
generic implementation of InterpolateSurfaceGrowthVectors
2022-03-04 16:32:15 +01:00
mhochsteger@cerbsim.com
f0b10d696e
preserve volume elements in DivideMesh()
2022-03-04 15:46:29 +01:00
mhochsteger@cerbsim.com
d2348a7651
optimize occ surfaces individually again, update test results
2022-03-02 15:42:44 +01:00
Matthias Hochsteger
c6c8f52878
Merge branch 'fix_parallel_optimize2d' into 'master'
...
Fix parallel optimize2d
See merge request jschoeberl/netgen!487
2022-03-02 14:11:21 +00:00
mhochsteger@cerbsim.com
43382d4be8
fix parallel surface optimization with occ
2022-03-02 14:58:39 +01:00
mhochsteger@cerbsim.com
4e8fe77098
fix some warnings
2022-03-02 14:14:38 +01:00
Christopher Lackner
9730a383fd
geo vertices as pointelements not locked points
2022-03-02 11:34:02 +01:00
mhochsteger@cerbsim.com
36440970fb
boundarylayer - some more fixes on growth vector interpolation
2022-03-01 21:21:09 +01:00
Christopher Lackner
e8c9d8e1fc
really interpolate only tangential part...
2022-03-01 14:56:01 +01:00
Christopher Lackner
13a0b78e26
interpolate only tangential part of growth vector
2022-03-01 14:34:18 +01:00
Christopher Lackner
016b1692e2
fix point type of geo vertices (FIXEDPOINT) -> locked points
2022-03-01 13:23:06 +01:00
mhochsteger@cerbsim.com
bcedbfd189
Interpolate growth vectors only with OCC geometry
2022-02-28 21:34:18 +01:00
Christopher Lackner
3a86103392
interpolate tangential part of growth vector along edge
2022-02-28 17:41:18 +01:00
mhochsteger@cerbsim.com
dabb3b9dbf
Interpolate growth vectors on surfaces
...
also:
- clean up delaunay2d code (Use Point<2>, remove comments)
- implement CalcWeights() used to interpolate data from boundary points
to surface points
2022-02-28 17:41:18 +01:00
Christopher Lackner
2d70263cda
boundarylayers - don't project on not-in-surface-direction
2022-02-25 12:08:24 +01:00
Christopher Lackner
d6770fda0c
allow quad dominated meshing of faces
2022-02-25 10:50:51 +01:00
mhochsteger@cerbsim.com
0379b737eb
copy hglob, hmin, maxhdomain in Mesh::operator=
2022-02-25 10:00:41 +01:00
mhochsteger@cerbsim.com
7f5b288c51
fix GenerateBoundaryLayer for new OCC meshes with single segments (not one segment per adjacent face)
2022-02-24 19:28:34 +01:00
mhochsteger@cerbsim.com
231c6870d9
respect localh in CombineImprove()
2022-02-23 21:23:41 +01:00
mhochsteger@cerbsim.com
922a0c5c86
fix 2d edge swapping
2022-02-23 21:23:37 +01:00
Joachim Schöberl
afa018049b
Merge branch 'use_filesystem_path' into 'master'
...
use std::filesystem::path
See merge request jschoeberl/netgen!480
2022-02-23 13:34:23 +00:00
Christopher Lackner
ea7e980c8d
[occ] ZRefinement
2022-02-23 12:22:19 +01:00
mhochsteger@cerbsim.com
cf59f297a7
use std::filesystem::path
2022-02-23 11:56:00 +01:00
Joachim Schoeberl
1a44d665bb
returns mesh-data as Array (rather than std::vector)
2022-02-21 13:06:00 +01:00
mhochsteger@cerbsim.com
775b97f6b3
utility functions for webgui
2022-02-18 20:11:58 +01:00
mhochsteger@cerbsim.com
daa2c69714
fix parsing cd3names
2022-02-16 19:52:49 +01:00
mhochsteger@cerbsim.com
15efa3a8b7
DLL_HEADER for LocalH
2022-02-15 20:39:24 +01:00
Joachim Schöberl
cf8a6639a3
Merge branch 'fix_parallel_surfaceopt' into 'master'
...
fix parallel surface optimization
See merge request jschoeberl/netgen!476
2022-02-15 19:18:22 +00:00
mhochsteger@cerbsim.com
a68cd9f89a
fix parallel surface optimization
...
update test results
2022-02-15 19:09:53 +01:00
Christopher Lackner
4ebaefd10a
add meshing parameter giveuptolopenquads
2022-02-15 09:38:20 +01:00
Christopher Lackner
c856f9ae6e
Merge branch 'master' into free_pyramids
2022-02-15 09:15:11 +01:00
Christopher Lackner
e2040ae953
[occ] also keep color in merge if already set from shape
2022-02-14 18:24:02 +01:00
Christopher Lackner
3ee29a1ace
[occ] overwrite shape property name only if not already set in merge
2022-02-14 18:07:00 +01:00
Joachim Schoeberl
6b28275b88
double conversion on C++ side
2022-02-13 19:02:51 +01:00
Joachim Schoeberl
ff8708d76b
preallocate memory
2022-02-13 17:29:53 +01:00
Joachim Schoeberl
5d624e3078
reading via meshio
2022-02-13 16:31:55 +01:00
Christopher Lackner
e86585c715
allow free pyramids
2022-02-09 19:27:24 +01:00
mhochsteger@cerbsim.com
7a10afc720
clean up cd3names in mesh dtor
2022-02-09 09:41:05 +01:00
Christopher Lackner
3ab8808fa3
do not restrict mesh size on identified edges
2022-01-19 15:05:41 +01:00
mhochsteger@cerbsim.com
fd258a611f
bugfix in FillCloseSurface
...
- don't add prisms/hexes outside of current domain
- invert them when necessary
2022-01-19 15:05:25 +01:00
mhochsteger@cerbsim.com
5f202fd4ea
clear geom data in OCCGeometry::BuildFMap() (fixes broken meshing after Heal())
2022-01-17 10:02:11 +01:00
mhochsteger@cerbsim.com
439415bffe
fix OCC meshing with nglib
2022-01-14 11:47:22 +01:00
mhochsteger@cerbsim.com
2a77e9635a
Use 10000 edge divide factor again for OCC
2022-01-14 11:47:08 +01:00
mhochsteger@cerbsim.com
00e6d1d077
occ - fix bug in edge identification
2021-12-20 10:42:26 +01:00
mhochsteger@cerbsim.com
d467621edd
change interface for identifications
2021-12-16 20:54:19 +01:00
mhochsteger@cerbsim.com
b7448ce2c1
fix PropagateIdentifications after Glue
2021-12-16 18:35:43 +01:00
mhochsteger@cerbsim.com
bf261d533f
keep direction of identifications
2021-12-16 10:04:33 +01:00
mhochsteger@cerbsim.com
de813df0c2
add prisms for between closesurface identifications explicitly (no attached faces/edges needed as in prism mesh rules)
...
not active yet (still buggy for CSG)
2021-12-16 10:04:17 +01:00
mhochsteger@cerbsim.com
329364e8e2
occ - set domin/domout for edges in 2d meshes
2021-12-07 14:52:06 +01:00
mhochsteger@cerbsim.com
b8b802de6b
allow implicit convertion int->identifications type
2021-12-06 10:59:09 +01:00
mhochsteger@cerbsim.com
f5b7e27e5d
save FaceDescriptors in mesh file
2021-12-03 14:54:39 +01:00
mhochsteger@cerbsim.com
c0d6f1588d
occ - closesurface identification (prisms)
2021-11-30 20:26:26 +01:00
mhochsteger@cerbsim.com
1818ffd152
occ - fix meshing in parameter space, fix edge curve parameters
2021-11-29 16:04:26 +01:00
mhochsteger@cerbsim.com
06031e665a
set default bcname to valid string pointer, some occ tests
2021-11-29 11:13:40 +01:00
mhochsteger@cerbsim.com
9537ccdb7a
occ - allow closed edges in identified faces
2021-11-28 19:59:14 +01:00
Matthias Hochsteger
16b88e8e67
OCC Mesher Cleanup
2021-11-28 15:14:41 +00:00
Christopher Lackner
3c4fe43fcc
Fix loading of short mesh file names
2021-11-18 08:48:09 +01:00
mhochsteger@cerbsim.com
e0afa0a916
Use TextOutArchive to store OCCGeometry in mesh files
2021-11-11 10:04:39 +01:00
mhochsteger@cerbsim.com
17458889aa
Change interface of LoadFromMeshFile
...
Fetch the first (geometry identification) token only once (and not on each try to load a different type)
2021-11-10 18:37:24 +01:00
Joachim Schoeberl
478aaf7788
little polish
2021-11-07 00:16:57 +01:00
Joachim Schoeberl
50398c18c4
simplify edge/face-id types (just an int)
2021-11-06 15:52:35 +01:00
Joachim Schoeberl
bd564931f8
strings in FaceDescriptor (instead of ptrs)
2021-11-06 12:22:44 +01:00
Matthias Hochsteger
dc57935468
include gzsteram.h only where needed
2021-10-21 10:25:40 +02:00
Joachim Schoeberl
0b7d8d5a9b
fix Mirror for second-order meshes
2021-10-17 18:59:49 +02:00
Joachim Schoeberl
c20480c662
too fast with segment mapping
2021-10-15 22:10:57 +02:00
Joachim Schoeberl
95301e11ba
mesh.SecondOrder : fix Segment mapping
2021-10-15 18:52:20 +02:00
Joachim Schoeberl
f38d258d15
Mirror mesh: invert surface elements, update num vertices
2021-10-15 09:00:26 +02:00
Joachim Schoeberl
6aa2d07f9e
fix warning
2021-10-11 14:56:53 +02:00
Michael Neunteufel
ea9c0cf524
enable meshing parameters for OptimizeMesh2d
2021-10-08 09:50:53 +02:00
Matthias Hochsteger
41d9fbf258
DLL_HEADER in Element2d
2021-10-07 02:30:23 -07:00
Christopher Lackner
b4bf1172bc
fix length of occ dim2 boundaries
2021-10-04 15:52:56 +02:00
Christopher Lackner
e6a6ab89e6
write transparency in mesh file and also read it if avail
...
The indexing is a little weird but consistent to before so leave it
like this
2021-10-04 09:27:33 +02:00
Christopher Lackner
ec96feb7f4
occ colors also in netgen gui, also allow transparency
2021-10-03 12:58:33 +02:00
Christopher Lackner
bd29763b16
Add std::any to py::object caster for archive registered types
2021-09-28 22:34:11 +02:00
mhochsteger@cerbsim.com
6dfc78ca42
fix GetElementOfPoint (again)
...
- clearer code structure with helper functions FindElementXd
- fix broken search in 2d meshes (bug from last commit)
2021-09-23 18:38:48 +02:00
mhochsteger@cerbsim.com
00855acfec
fix GetSurfaceElementOfPoint
...
only call GetElementOfPoint, if there are volume elements (otherwise we get an endless loop of mutual function calls here...)
2021-09-23 09:15:04 +02:00
Christopher Lackner
6bbaa6bc69
fix GetSurfaceElementOfPoint with indices
2021-09-22 17:52:04 +02:00
mhochsteger@cerbsim.com
286f63f002
Restructure code in GetElementOfPoint
2021-09-22 17:06:20 +02:00
Joachim Schoeberl
375eb541e9
remove test-output
2021-09-21 14:39:35 +02:00
Joachim Schoeberl
781ea7103e
FaceDescriptor array to Python
2021-09-10 12:42:41 +02:00
Joachim Schoeberl
9b3578740f
a hex has 12 edges, doesn't it?
2021-09-09 11:49:48 +02:00
Christopher Lackner
9d48602a2a
Add NetgenGeometry.RestrictH function
2021-09-08 22:12:45 +02:00
Joachim Schoeberl
b2afad9aec
output control
2021-09-07 07:36:21 +02:00
Joachim Schoeberl
e9fc5f12a1
check overlapping boundaries for sub-domains
2021-09-01 21:05:12 +02:00
Matthias Hochsteger
1774db10ff
fix OpenFOAM export (untested)
2021-08-23 14:40:36 +02:00
Joachim Schoeberl
9d2a436749
changing mesh-dimension from 3 to 2 moves names
2021-08-15 13:13:11 +02:00
Michael Neunteufel
c0d9f3d95b
Meshpnt surfacemesh
2021-07-25 07:47:25 +00:00
Matthias Hochsteger
82a67b27b9
Merge branch 'parallel_meshing' into test
2021-07-19 14:59:20 +02:00
Matthias Hochsteger
48198d232d
Revert "Revert "Merge branch 'parallel_meshing' into 'master'""
...
This reverts commit 65c5e2d244
.
2021-07-19 14:59:12 +02:00
Matthias Hochsteger
cf3963a357
cleanup
2021-07-19 12:08:29 +02:00
Matthias Hochsteger
8687b540c6
rever PrepareForBlockFillLocalH stuff, copy only relevant part of LocalH tree
2021-07-16 18:49:05 +02:00
Matthias Hochsteger
e5e8882d07
fix identifications, copy whole LocalH tree
2021-07-16 17:18:41 +02:00
Matthias Hochsteger
8e2cd17436
build identifications, set geometry
2021-07-16 11:30:11 +02:00
Matthias Hochsteger
d997ac0bbe
copy localh tree (but skip parts outside of bounding box)
2021-07-13 17:19:03 +02:00
Matthias Hochsteger
a89cf0089a
Scaling of bounding box (instead of increasing size in all directions)
2021-07-06 17:09:22 +02:00
Matthias Hochsteger
65c5e2d244
Revert "Merge branch 'parallel_meshing' into 'master'"
...
This reverts commit d20a297cf1
, reversing
changes made to fd50131a5b
.
2021-06-29 19:38:19 +02:00
Matthias Hochsteger
1c526a5c9e
Fix edges after building boundary layer
2021-06-29 17:50:45 +02:00
Matthias Hochsteger
8baccf0a08
some fixes, new test results
2021-06-28 17:48:21 +02:00
Matthias Hochsteger
55ab122f35
Merge remote-tracking branch 'origin/master' into parallel_meshing
2021-06-28 12:10:08 +02:00
Joachim Schoeberl
31d5ce8be9
packed archiving
2021-06-27 12:32:51 +02:00
Joachim Schoeberl
54db7941d0
tuning mesh(un)pickling
2021-06-26 12:14:17 +02:00
Matthias Hochsteger
34629749d6
Merge remote-tracking branch 'origin/master' into parallel_meshing
2021-06-25 17:32:16 +02:00
Joachim Schoeberl
b65d3c188f
another optional table in Topology
2021-06-24 07:39:09 +02:00
Joachim Schoeberl
971d6bb465
little tuning of mesh pickling
2021-06-24 07:39:09 +02:00
Matthias Hochsteger
8be5b7d810
Merge remote-tracking branch 'origin/master' into parallel_meshing
2021-06-22 11:46:36 +02:00
Matthias Hochsteger
872dddbcd7
remove old meshing functions
2021-06-22 11:45:25 +02:00
Matthias Hochsteger
17b5f1c7a4
preserve locked points in all domains
2021-06-22 11:45:01 +02:00
Matthias Hochsteger
c7e9a822cc
Don't divide/merge mesh when having only one domain
2021-06-22 11:33:16 +02:00
Matthias Hochsteger
2b8a2356a0
use unique_ptr in MeshingData
2021-06-22 11:16:28 +02:00
Joachim Schoeberl
f24b962df7
fix width per refernce
2021-06-21 15:25:25 +02:00
Joachim Schoeberl
2488bd37ef
remove output, fix warning
2021-06-21 15:13:08 +02:00
Joachim Schoeberl
780e72bf81
copyable 2d rules
2021-06-21 08:36:14 +02:00
Joachim Schoeberl
30d708f487
thread-safe CSG crosspoints and edges
2021-06-21 05:22:00 +02:00
Matthias Hochsteger
6237f5542f
Build LocalH tree for each domain separately, if not already present before volume meshing
2021-06-16 15:49:23 +02:00
Matthias Hochsteger
5ec753452e
fix
2021-06-16 15:36:14 +02:00
Matthias Hochsteger
d0edaa57bb
prepare LocalH tree before blockfill sequentially
2021-06-16 15:05:58 +02:00
Matthias Hochsteger
7e344c2247
restructure MeshVolume
2021-06-16 14:04:06 +02:00
Matthias Hochsteger
62edae9b40
some timers
2021-06-16 10:49:31 +02:00
Matthias Hochsteger
8d51db278f
debugging header for utility functions
2021-06-16 10:48:38 +02:00
Matthias Hochsteger
958bbb1ae0
Set flags correctly when loading Element from Archive
2021-06-14 11:58:46 +02:00
Matthias Hochsteger
a51f8ed307
fix meshing empty meshes
2021-06-14 10:39:57 +02:00
Matthias Hochsteger
b83d73e919
fix meshing of close surfaces (use identifications of master mesh)
2021-06-14 10:39:57 +02:00
Matthias Hochsteger
1cf3d2a21c
always merge domains in separate meshes (consistent output)
2021-06-14 10:39:57 +02:00
Matthias Hochsteger
97623db219
Mesh 3d domains in parallel
...
To get consistent results, copy the LocalH tree in BlockFillLocalH
2021-06-14 10:39:57 +02:00
Matthias Hochsteger
5e3505b897
faster SwapImprove after delaunay
...
also new test results
2021-06-14 10:39:57 +02:00
Matthias Hochsteger
0b7f4fecbc
timers
2021-06-14 10:39:57 +02:00
Matthias Hochsteger
9b5aa90d38
skip deleted elements when creating tables
...
-> no need to call Compress() everytime the mesh changes
2021-06-14 10:39:57 +02:00
Matthias Hochsteger
b2af4c1069
set flags properly for new Elements
2021-06-14 10:39:57 +02:00
Joachim Schoeberl
1b5aa71ad6
fix parallel mesh pickling
2021-06-14 10:34:39 +02:00
Joachim Schoeberl
6c73222f20
more ParallelFor in Topology
2021-06-10 21:52:22 +02:00
Joachim Schöberl
d922d3abdd
Merge branch 'small_improvements' into 'master'
...
Small improvements
See merge request jschoeberl/netgen!390
2021-06-10 10:43:13 +00:00
Matthias Hochsteger
2a17451c96
consistent criterion for conformance optimization in SwapImprove
...
Only small effect on output Meshes
2021-06-10 11:04:41 +02:00
Matthias Hochsteger
8df49eee2a
Reduce sizeof(MeshPoint) from 48 to 40 bytes
2021-06-10 10:15:55 +02:00
Matthias Hochsteger
3f93ccd3bd
remove static array in ruler3 (prepare for parallel meshing)
2021-06-10 09:56:42 +02:00
Matthias Hochsteger
80d648c005
parallel evaluation of localh in ImproveMesh()
2021-06-10 09:55:30 +02:00
Matthias Hochsteger
b677ef5e22
Fix RangeException (prepare for local optimizations, with partially filled elementsonpoint table)
2021-06-10 09:53:42 +02:00
Matthias Hochsteger
6cdfefcc82
Use CreateTable for coloring table
2021-06-10 09:51:56 +02:00
Matthias Hochsteger
c734a27621
TABLE -> Table in PointFunction
2021-06-10 09:45:14 +02:00
Matthias Hochsteger
873de8149c
thread-safe delaunay
2021-06-10 09:42:04 +02:00
Matthias Hochsteger
eee7a6d211
initialize childs in GradingBox also in default ctor
2021-06-10 09:39:23 +02:00
Joachim Schoeberl
abb2e43ccb
optimize parallel load
2021-06-08 19:08:14 +02:00
Joachim Schoeberl
c0534c5e0a
partition array also in sequential version
2021-06-08 14:33:32 +02:00
Joachim Schoeberl
d7452c34f9
sequential dummy
2021-06-08 14:09:12 +02:00
Joachim Schoeberl
aa3f778d06
separat metis-partitioning call, pickling partition number of mesh elements
2021-06-08 13:48:27 +02:00
Matthias Hochsteger
ca6d6e8ca7
revert mistakenly commited code
2021-06-04 20:04:10 +02:00
Matthias Hochsteger
bb43f669e6
Don't skip deleted elements when building point2element table
2021-06-04 19:57:21 +02:00
Matthias Hochsteger
ba148e8b3b
cleanup, more parallel
2021-06-04 16:23:18 +02:00
Matthias Hochsteger
9ddf2424e2
rewrite of DelaunayRemoveTwoTriaTets (much faster now)
2021-06-04 16:03:50 +02:00
Matthias Hochsteger
a2cc102849
delaunay - stay consistent with code on master
2021-06-04 13:32:34 +02:00
Matthias Hochsteger
6c37ce33b0
CreatePoint2ElementTable with optional points bitarray
2021-06-04 13:32:30 +02:00
Matthias Hochsteger
7623289c27
Timer to AdFront3::Inside
2021-06-04 11:33:39 +02:00
Matthias Hochsteger
17af3d0091
Timers, cleanup in delaunay
2021-06-04 11:33:39 +02:00
Matthias Hochsteger
39acabe406
split delaunay postprocessing code into smaller funtions
2021-06-04 11:33:34 +02:00
Matthias Hochsteger
639bbb2c0a
.vol.bin format (using archiver)
2021-05-31 10:29:45 +02:00
Matthias Hochsteger
0aa63880c4
smaller tasks
2021-05-31 08:23:46 +02:00
Matthias Hochsteger
2c72c20c87
smaller tasks
2021-05-31 08:23:42 +02:00
Matthias Hochsteger
1045f68b97
TableCreator -> CreateSortedTable()
2021-05-31 08:23:35 +02:00
Matthias Hochsteger
073cbec108
remember search starting point in inside/outside marking after delaunay
2021-05-31 08:23:22 +02:00
Matthias Hochsteger
19176daa09
more timers in delaunay
2021-05-31 08:23:16 +02:00
Matthias Hochsteger
e721d250f8
use tuple -> std::tuple
2021-05-31 08:23:09 +02:00
Joachim Schoeberl
9389ecdf62
rename to GenerateStructuredMesh for not intending to override
2021-05-30 19:41:23 +02:00
Joachim Schöberl
14570f2bfb
Merge branch 'fix_badness_in_combineimprove2d' into 'master'
...
Use sum of badnesses and not average value in CombineImprove in 2D
See merge request jschoeberl/netgen!384
2021-05-14 16:15:03 +00:00
Matthias Hochsteger
f7a08df155
Use sum of badnesses and not average value in CombineImprove in 2D
2021-05-14 17:55:09 +02:00
Matthias Hochsteger
d1ee6efc14
parallel Cluster update
2021-05-12 10:56:34 +02:00
Matthias Hochsteger
db494f4239
more Timers in Mesh
2021-05-12 10:56:21 +02:00
Matthias Hochsteger
5bba076c9e
UpdateTopology - use TasksPerThread(4) -> faster table update
2021-05-12 09:42:38 +02:00
Matthias Hochsteger
99e001fc4c
TABLE -> Table
2021-05-11 18:21:40 +02:00
Matthias Hochsteger
c8406d3b10
replace NgArray and TABLE with Array and Table
2021-05-10 16:30:40 +02:00
Matthias Hochsteger
4b53c63fba
helper functions for table creation
2021-05-10 12:03:20 +02:00
Joachim Schoeberl
955eaa682c
edges/faces on per default
2021-05-06 22:22:14 +02:00
Joachim Schoeberl
5af2413481
disable edge/faces tables for Mesh class
2021-05-06 21:46:56 +02:00
Matthias Hochsteger
786013c857
add dependency for rules file
2021-04-30 18:33:55 +02:00
Matthias Hochsteger
2eb888a8bf
generate .cpp for meshing rules automatically during the build process
2021-04-29 14:30:44 +02:00
Matthias Hochsteger
4592123f68
Merge remote-tracking branch 'origin/master' into rules_files_not_matching_cpp
2021-04-28 11:21:15 +02:00
Joachim Schoeberl
9033de843b
uniform refinement for quads
2021-04-18 17:53:26 +02:00
Matthias Hochsteger
190e22b06d
Find surface element of point: fix local coordinates for TRIG
...
TRIG and TRIG6 are handled differently, see nginterface_v2.cpp:1114
2021-04-09 14:14:04 +02:00
Joachim Schoeberl
d803150b87
red refinement, parent faces (thx Guosheng)
2021-04-09 08:06:30 +02:00
Joachim Schoeberl
096b419f6e
parent edges for red refinement (thx Guosheng)
2021-03-31 07:50:24 +02:00
Matthias Hochsteger
44c10f663a
Boundarylayer 2d interface
2021-03-30 16:55:03 +02:00
Christopher Lackner
15380a2618
Revert "more stable boundarylayer, also cut prisms at outside"
...
This reverts commit d2dc84b02c
.
2021-03-29 18:05:09 +02:00
Joachim Schöberl
f63734e4a0
Merge branch 'archive_localh' into 'master'
...
DoArchive for LocalH
See merge request jschoeberl/netgen!375
2021-03-29 12:46:18 +00:00
Christopher Lackner
d2dc84b02c
more stable boundarylayer, also cut prisms at outside
2021-03-29 14:02:00 +02:00
Christopher Lackner
001eaa32b6
DoArchive for LocalH
2021-03-29 13:55:23 +02:00
Christopher Lackner
c27fa6899b
Merge remote-tracking branch 'massimil/mleoni/indexIntegerType'
2021-03-29 11:55:10 +02:00
Matthias Hochsteger
88fd0a9cd3
2d boundary layer - some cleanup, average growth vectors along straight lines
2021-03-26 09:13:11 +01:00
Christopher Lackner
a612444e77
FindElementOfPoint<1> for 2d meshes for curved segments
2021-03-23 15:08:20 +01:00
Massimiliano Leoni
a40544ddc5
Changed integer type of Element::index and Element2d::index
2021-03-23 12:11:32 +01:00
Matthias Hochsteger
bcd86a18fd
FindSurfaceElementOfPoint - use barycentric coordinates of already found volume element
...
Increases robustness for finding curved surface elements
2021-03-17 17:36:41 +01:00
Matthias Hochsteger
69bc02a74d
Increase bounding box for curved elements by 20% in element search tree
2021-03-17 17:35:30 +01:00
Matthias Hochsteger
98770dbf94
2d boundary layers
2021-03-16 18:22:14 +01:00
Matthias Hochsteger
c77da32463
skip fixed points when checking for mixed mesh
2021-03-16 18:09:07 +01:00
Matthias Hochsteger
3397e3bb9d
Merge branch 'fix_swapimprove' into 'master'
...
Fix SwapImprove
See merge request jschoeberl/netgen!370
2021-03-02 11:08:13 +00:00
Christopher Lackner
f11cb4fcfb
boundarylayers - inner corners at end of layer now possible too
2021-03-02 11:47:40 +01:00
Matthias Hochsteger
d7d12ac53d
Don't swap very bad elements in SwapImprove
...
Changes meshing -> new test results
2021-03-01 10:08:00 +01:00
Matthias Hochsteger
f8aa3d3159
util function NotTooBad() in mesh optimization
2021-03-01 09:33:47 +01:00
Matthias Hochsteger
f5432718c1
Fix ImproveMesh
2021-02-26 12:20:51 +01:00
Joachim Schoeberl
298cbc2523
less printing for face hierarchy
2021-02-22 08:30:00 +01:00
Joachim Schoeberl
5cc42f040d
fixing face refinement (by Guosheng)
2021-02-19 18:20:22 +01:00
Joachim Schoeberl
28c4b78410
mesh bisection with onlyonce option. otherwise, tet-bisection performs three bisection steps to obtain h/2
2021-02-19 15:06:20 +01:00
Joachim Schoeberl
a354bf9e51
bisect face classification by permutation of 5
2021-02-19 10:04:45 +01:00
Joachim Schoeberl
4592bf90a8
subdivided faces are now working (boundary looks good)
2021-02-19 02:12:58 +01:00
Joachim Schoeberl
fede8b4d25
intermediate faces
2021-02-19 01:28:19 +01:00
Joachim Schoeberl
d1c9b4b24f
no 'and' in C++ (but ok for gcc and clang ?)
2021-02-18 09:28:09 +01:00
Joachim Schoeberl
c7666ae99f
classify bisect face (thx Guosheng)
2021-02-18 08:43:22 +01:00
Joachim Schoeberl
e9e3d52b45
parent faces
2021-02-17 23:32:15 +01:00
Joachim Schoeberl
87e472b6fc
start face-hierarchy in Netgen
2021-02-17 14:54:14 +01:00
Joachim Schoeberl
2e69b39339
cleanup parent_edges
2021-02-10 19:40:38 +01:00
Joachim Schöberl
39063eb961
Merge branch 'mpi_zdes' into 'master'
...
0d Elements + MPI
See merge request jschoeberl/netgen!367
2021-02-10 13:35:06 +00:00
Joachim Schöberl
dd455a7a62
Merge branch 'fix_mpi_curve' into 'master'
...
fix OCC curving with MPI
See merge request jschoeberl/netgen!366
2021-02-10 11:22:35 +00:00
Joachim Schoeberl
b03528e944
third parent edge
2021-02-09 21:14:26 +01:00
Lukas
0256ce1efc
also send 0d elements when distributing mesh
2021-02-08 12:05:27 +01:00
Lukas
d1bc4fc6ca
fix OCC curving with MPI
2021-02-08 11:36:48 +01:00
Joachim Schoeberl
145007b46a
use the right INT
2021-02-08 10:48:41 +01:00
Joachim Schoeberl
fd878079cb
edge hierarchy in mesh - Topology class, needs mesh.EnableTable('parentedges')
2021-02-08 09:41:23 +01:00
Matthias Hochsteger
6d30186279
allow cd2names in 2d meshes
2021-02-05 17:40:43 +01:00
Christopher Lackner
9e080ee9e0
add boundarylayer closure on pyramids outside
2021-02-05 12:16:41 +01:00
Christopher Lackner
1d9281f412
localh as shared_ptr in mesh
2021-02-05 12:10:22 +01:00
Matthias Hochsteger
221d3f5a9a
delete pointelements after parallel mesh send (TODO: send pointelements!)
2021-02-02 18:59:32 +01:00
Matthias Hochsteger
4619525280
allow empty names in mesh file
2021-02-02 18:58:54 +01:00
Michael
5023856432
improve curving trigs with u,v coordinates by better initial guess
2021-02-01 15:29:17 +01:00
Christopher Lackner
18dc32c51a
Add RestrictHLine function in Python
2021-01-26 15:33:21 +01:00
Christopher Lackner
d1d3253408
throw if optimize2d is called without geometry
2021-01-26 11:23:46 +01:00
Matthias Hochsteger
94ecf8de92
Fix private linking of Python
...
The CMake export of Interface libraries also exports PRIVATE build
settings, which leads to build errors with non-existing include paths and .lib files for binary distributions.
Use the work-around mentioned here to circumvent this behavior:
https://gitlab.kitware.com/cmake/cmake/-/issues/15415#note_849405
2020-12-18 11:05:10 +01:00
Christoph Wintersteiger
657360818d
rewrite loop to avoid index correction
2020-12-02 17:51:47 +01:00
Matthias Hochsteger
1c6051371e
updateSignal for Mesh class
2020-11-27 16:40:17 +01:00
Joachim Schöberl
d0776bd726
Merge branch 'memory_tracing' into 'master'
...
Memory tracing
See merge request jschoeberl/netgen!350
2020-11-25 18:20:29 +00:00
Matthias Hochsteger
fbeb6137eb
Fix SwapImprove2
...
Don't allow swaps if an adjacent element was deleted in the current
optimization pass. Also update test restults.
2020-11-25 17:55:44 +01:00
Matthias Hochsteger
916eb09f1e
Merge remote-tracking branch 'origin/master' into memory_tracing
2020-11-24 15:31:00 +01:00
Christopher Lackner
2287c5c0c9
boundarylayers - fix inverted tets
2020-11-24 11:58:26 +01:00
Christopher Lackner
7e78056ade
Boundarylayer grows pyramids if created on interior bnd
2020-11-23 23:48:49 +01:00
Christopher Lackner
a69cdc9000
mem tracing compile time option, simplify by MemoryTracer as member
2020-11-21 15:49:07 +01:00
Christopher Lackner
a394ffedef
Merge branch 'master' into memory_tracing
2020-11-19 23:05:33 +01:00
Christopher Lackner
e7b9baa93b
remove another reference of resized array
2020-11-19 22:53:14 +01:00
Christopher Lackner
3440a43e99
don't use (maybe invalidated) reference after array resize
2020-11-19 22:36:30 +01:00
Matthias Hochsteger
b00c56a012
mem tracing - set name for tempmesh in delaunay
2020-11-19 14:58:16 +01:00
Matthias Hochsteger
1a93fb3fa5
first attempt on memory tracing
2020-11-18 20:20:35 +01:00
Christopher Lackner
609cbbcadf
rewrite create boundarylayer function (now more efficient and stable
...
and easier)
2020-11-17 18:43:39 +01:00
Christopher Lackner
0d48924392
Merge branch 'use_segmentindex' into boundarylayers
2020-11-17 15:25:19 +01:00
Christopher Lackner
ee430a6e1e
use segmentindex as index for mesh.segments array
2020-11-17 15:24:44 +01:00
Christopher Lackner
7beb82af04
Merge branch 'master' into boundarylayers
2020-11-11 12:09:59 +01:00
Joachim Schöberl
f97601bca2
Merge branch 'hpref_surface_geom' into 'master'
...
add hp refinement possibility for surface geometry
See merge request jschoeberl/netgen!344
2020-11-06 11:21:19 +00:00
Joachim Schöberl
7351067722
Merge branch 'map_segment_si' into 'master'
...
map segment si as well, not only surface element index
See merge request jschoeberl/netgen!346
2020-11-06 11:20:06 +00:00
Matthias Hochsteger
6199c7f66b
csg2d interface
2020-11-05 14:59:58 +01:00
Christopher Lackner
37ae505d5a
map segment si as well, not only surface element index
2020-11-03 17:32:07 +01:00
Christopher Lackner
3dec7c447e
map segment si as well, not only surface element index
2020-11-03 17:29:58 +01:00
Christopher Lackner
9578e4a41d
add project to boundary in boundarylayer and correctly treat inverse boundaries
2020-11-03 12:28:13 +01:00
Joachim Schöberl
b855b419da
Merge branch 'save_load_bbbnd' into 'master'
...
Save load bbbnd
See merge request jschoeberl/netgen!345
2020-11-02 09:43:04 +00:00
Michael
10c0fd350a
save/load pointelements
2020-10-30 15:28:00 +01:00
Michael
31c72299c4
add hp refinement possibility for surface geometry
2020-10-30 14:10:52 +01:00
Joachim Schöberl
f51ad8eed5
Merge branch 'fix_bisect_quad' into 'master'
...
add GeomInfo for bisecting quads
See merge request jschoeberl/netgen!343
2020-10-27 10:38:38 +00:00
Michael
4a1d3cdcb2
save/load mesh bbbnd
2020-10-27 07:57:17 +01:00
Michael
a3391519f0
add GeomInfo for bisecting quads
2020-10-27 07:54:26 +01:00
Joachim Schöberl
cddfb4a0b5
fixing delaunay2d point search, non-parallel for small meshes
2020-10-26 11:20:12 +01:00
Joachim Schöberl
de83f0ca14
Delaunay2d also for small sub-domains
2020-10-25 16:31:47 +01:00
Joachim Schöberl
11557838a4
tuning of Delaunay2d: FindInnerPoints, use of edgeHT
2020-10-25 09:52:33 +01:00
Joachim Schöberl
50dddbedae
Merge branch 'remove_error_intersecting_layers' into 'master'
...
remove warning output if intersect. triangles in different layers
See merge request jschoeberl/netgen!342
2020-10-23 17:53:33 +00:00
Joachim Schöberl
bfbef51996
remove bitarray in delaunay2d, just one hashtable position
2020-10-23 19:40:47 +02:00
Christopher Lackner
7f6996aa5d
remove warning output if intersect. triangles in different layers
2020-10-23 12:05:30 +02:00
Matthias Hochsteger
a2a2da13dc
debug messages in hp refinement
2020-10-19 19:30:30 +02:00
Matthias Hochsteger
389280fc0c
debug output
2020-10-19 16:55:49 +02:00
Matthias Hochsteger
8ba6bad6fd
Delaunay for 2d mesh generation
...
Squashed commit of the following:
commit 84f36ffeb409f5fddb389c75ee48b4872b516ae9
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Fri Oct 16 18:27:15 2020 +0200
revert change in spline partitioning
commit d4aef23a22a9beb26c4453267c99dd7533174ced
Merge: 15a467aa 97dfecd0
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Fri Oct 16 17:59:00 2020 +0200
Merge branch 'master' into delaunay2d
commit 15a467aa7f7cb09f9ea3d984905fe3da69f0b238
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Fri Oct 16 17:44:31 2020 +0200
delaunay2d - fix trig orientation
commit be223412ad972722a51b64a5bccf7ca2bec566c8
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Fri Oct 16 17:29:46 2020 +0200
fix delaunay swapping
commit 48b95ae2ee1cbabcfae79dfd1cb7af1fd69d77f3
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Fri Oct 16 17:27:51 2020 +0200
testout only with debug settings
commit d82b7a7cecb6f65f42b79b666fc58d0116dc0365
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Fri Oct 16 16:37:10 2020 +0200
delaunay only for large domains
commit 1f51eaca1ff7a3777e4f32ba9e35e48d496a2854
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Fri Oct 16 16:21:33 2020 +0200
compress points in delaunay
commit 20a223f36f3912a208db80c717d9dd87851ba43f
Merge: 2446b746 4c15146d
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Fri Oct 16 14:31:14 2020 +0200
Merge branch 'master' into delaunay2d
commit 2446b74687ee56633a86e748e85343919edbd5ad
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Fri Oct 16 14:22:01 2020 +0200
optimize CalcPartition() and PartitionBoundary()
commit 3baa58833348a72f16853530a5d17e73424186df
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Fri Oct 16 12:24:17 2020 +0200
MeshingParameters - delaunay2d option (default is off)
commit e79b113dde9b9c4c5b92239817c6058ca468c319
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Thu Oct 15 16:12:45 2020 +0200
fix windows build error
commit 92c7b9c1ed4016458980bbc21c61dae07f4444c7
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Thu Oct 15 17:51:44 2020 +0200
delaunay bugfix
commit 6880194107819cfb2d23206e7e0f48ff5aa3fc10
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Thu Oct 15 17:51:05 2020 +0200
csg2d - fix bug with splines
commit 1d9baa299d49e1f6fa16f4368885601ed01c5de7
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Wed Oct 14 18:40:23 2020 +0200
CSG2d - faster AddIntersections (search tree per loop)
commit 2679ef0dee10cdf486441af47ca4c081aa7eb50b
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Wed Oct 14 17:13:17 2020 +0200
bounding box for Loop
commit 894c6345b737693e32cbda368e56f56764e11085
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Wed Oct 14 12:48:51 2020 +0200
remove debug check, output in blockfill
commit 2b0a0892c41e746b12e5e852cdb138acd3d2c4e3
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Wed Oct 14 12:40:53 2020 +0200
compress mesh after delaunay
commit 1de33c87eee3199d4d9b18544f66e53329b47a2f
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Wed Oct 14 12:37:07 2020 +0200
revert change in improve2d
commit 41a60e89533e94b93b92202ac17852d3aee9acbb
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Wed Oct 14 12:25:07 2020 +0200
cleanup delaunay2d
commit c16aae324969cd5a90748953019933690d013337
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Wed Oct 14 11:39:56 2020 +0200
sunburst chart - tooltip formatting
commit 4d61e1fdeab302ba357904f22f951361935791f0
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Wed Oct 14 11:03:37 2020 +0200
delaunay seems to work
commit 8bd43f54d1efd6862f1b403cdb6c8ce9b5f7b3c6
Merge: 90ac7adb 25efdadd
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Tue Oct 13 12:08:01 2020 +0200
Merge remote-tracking branch 'gitlab/master' into delaunay2d
commit 90ac7adb562cf2402345c5dfb4281bd097b5d62d
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Tue Oct 13 12:04:49 2020 +0200
fix Loop::operator=
commit 1eb4f2de3b6576f503a073011a208fa8f609524e
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Tue Oct 13 12:04:13 2020 +0200
more statistics in sunburst chart
commit db8b97ffbbc7db2a3413c4f8a5528eebe3488d57
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Tue Oct 13 11:17:28 2020 +0200
more work on delaunay2d
commit eaa675f2351252b5fde423f241b10e231d1eb97e
Merge: 0eb9f9bd 8f837cb9
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Mon Oct 12 12:51:31 2020 +0200
Merge remote-tracking branch 'gitlab/delaunay2d' into delaunay2d
commit 0eb9f9bd1c31a0e3c3c796c9280b1c1d007ace26
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Mon Oct 12 12:50:10 2020 +0200
further csg2d optimization
commit 8f837cb9a281acca7c33159985da3b6992fe638f
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Tue Oct 6 19:02:31 2020 +0200
csg2d - optimize Loop::operator=
commit 7bb4f16b886b20902b0d3563716055fc1734d47e
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Tue Oct 6 10:28:20 2020 +0200
csg2d performance (search tree, inside tests)
commit 2c9ebce04d7989223327a1875e1b65bf180c95f5
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Fri Oct 2 16:33:24 2020 +0200
[WIP] delaunay2d
commit 749df2311a3ac1976faaa9f0b60846709a2087b9
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Thu Oct 1 11:36:03 2020 +0200
something
commit cda9fffde33a86b71467debb86848fdb9cfbf80c
Author: Matthias Hochsteger <mhochsteger@cerbsim.com>
Date: Wed Sep 30 12:06:53 2020 +0200
delaunay2d - fix size of starting trig
2020-10-16 18:34:13 +02:00
Matthias Hochsteger
f55e3e6eb4
move DelaunayTree to adtree.hpp
2020-10-14 12:00:37 +02:00
Christopher Lackner
70347a6d3c
tuple implicitly convertible to Pnt and Vec
2020-09-29 18:57:56 +02:00
Joachim Schöberl
b124b7bd06
keep global vertex enumeration on coarse grid
2020-09-21 07:49:56 +02:00
Christopher Lackner
218c4a531b
fix uninizialized area and maybe deleted value being appended
...
pout3d may be deleted when array resizes, so copy it
2020-09-07 15:19:53 +02:00
Christopher Lackner
e3f95528e0
throw if IdentifyBoundaries mapped point is outside of mesh
2020-09-03 11:06:34 +02:00
Matthias Hochsteger
2f18c2b1f7
Mesh::Mirror()
2020-09-01 20:50:03 +02:00
Joachim Schöberl
0fe20c9dee
set ParallelTop functions
2020-08-29 20:56:29 +02:00
Joachim Schöberl
0b74e3cbdc
identify edges/faces without sub-group
2020-08-29 18:24:13 +02:00
Joachim Schöberl
aac584a5aa
identify vertices without sub-group
2020-08-29 18:24:13 +02:00
Joachim Schöberl
c8b8b3ddd3
modernize paralleltop
2020-08-29 11:05:02 +02:00
Joachim Schöberl
f8dd4be8d6
modernize ParallelTopology
2020-08-29 09:36:46 +02:00
Joachim Schöberl
fcee13be59
modernize paralleltop
2020-08-28 21:28:18 +02:00
Joachim Schöberl
122a933965
parallel enumerate after refinement
2020-08-28 08:57:30 +02:00
Joachim Schöberl
9968037361
move semantics to table, PNums to LineSegments
2020-08-28 08:47:33 +02:00
Joachim Schöberl
78d0479993
can convert to mpi4py - communicator
2020-08-25 18:18:45 +02:00
Joachim Schöberl
895280a244
littel parallel polishing
2020-08-21 16:29:33 +02:00
Matthias Hochsteger
e2768981f1
implicit conversion from py::tuple to Point<2>
2020-08-20 18:28:03 +02:00