Internal:Metric Adaptive CDT3D: Difference between revisions

From crtc.cs.odu.edu
Jump to navigation Jump to search
Ctsolakis (talk | contribs)
Ctsolakis (talk | contribs)
 
(153 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Delta Wing  (Scitech 2018) =
<span id="Contents"></span>
= Data =
[[Internal:Adaptive CDT3D Results | Adaptive CDT3D Results ]]


[[File:Delta_wing_50k_parallel_scitech.png| 500px]]
= Integration with SU2 =
* SU2 + refine + CDT3D pipeline [http://www.cs.odu.edu/crtc/SU2/SU2_pipeline.svg]
* SU2 + refine + CDT3D, ONERAM6 invicid [http://www.cs.odu.edu/crtc/SU2/onera_invicid.pdf]


==50k Complexity ==
* SU2 + refine + CDT3D, steady laminar flow low mach number over delta wing
===Starting from a coarse surface mesh ===
** meshes [http://www.cs.odu.edu/crtc/SU2/delta_wing.pdf]
'''TODO  needs update'''
** solution cuts of the vortex [http://www.cs.odu.edu/crtc/SU2/delta_vortex.pdf]
{| class="wikitable" style="text-align: right;"
**  video [http://www.cs.odu.edu/crtc/SU2/delta_wing_005.ogv]
|+ All time data are given in seconds.
! rowspan="2" | # Threads
! rowspan="2" | # Tetrahedra
! rowspan="2" | # Vertices
! rowspan="2" | Intitialize Bg Mesh
! rowspan="2" | Boundary Adaptation (MMGS)
! rowspan="2" | Boundary Recovery
! colspan="6" style="text-align: center;" | Mesh Refinement
! rowspan="2" | Total Time
(without MMGS)
! rowspan="2" | Memory (GB)
|-
! # Iterations
! Par. Deactivation
! Par. Vertex Creation
! Vertex Insertion
! Partition
! Par. Reconnection
|-
| 1
| 357,165
| 62,177
| 1.44   
| 6.32   
| 0.36   
| 20   
| 2.09   
| 11.92 
| 0.09   
| 1.26   
| 57.35 
| 80.97 
| 0.44
|-
| 6
| 361,037
| 62,795
| 1.49   
| 6.23   
| 0.35   
| 21   
| 0.51   
| 2.78   
| 0.11   
| 1.45   
| 14.06 
| 27.12 
| 0.63
|-
| 12
| 363,278                                                                                                                             
| 63,198                                                                                                                               
| 1.41                                                                                                                                 
| 6.27                                                                                                                                 
| 0.33                                                                                                                                 
| 22                                                                                                                                 
| 0.32                                                                                                                                 
| 1.55                                                                                                                                 
| 0.11                                                                                                                                                                                                                                                                   
| 1.62                                                                                                                                 
| 8.24                                                                                                                                 
| 19.99                                                                                                                                 
| 0.86
|-
| 24
| 363,756
| 63,270
| 1.49   
| 6.26   
| 0.33   
| 22   
| 0.2   
| 0.88   
| 0.11       
| 1.6   
| 5.13   
| 16.15 
| 1.31
|}


=== Notes 1===
= Improvements =
* according to Mike's email mesh should be around 100k vertices
[[Internal:Adaptive CDT3D - Smoothing | Metric Adaptive Smoothing ]]
* Metric Input Data available at [https://github.com/UGAWG/parallel-adapt-results/tree/master/delta-wing/fun3d-fv-lp2 https://github.com/UGAWG/parallel-adapt-results ]
* Input surface is the coase mesh available at [https://github.com/UGAWG/solution-adapt-cases/delta-wing/initial-grid/delta01.meshb https://github.com/UGAWG/solution-adapt-cases]
* The experiments performed on a DELL workstation with Linux Red Hat Enterprise, 24 hardware cores Intel® Xeon® CPU E5-2697v2@2.70 GHz, and 757 GB RAM
* Memory is measured at the end of Mesh refinement and thus it may reach a slightly higher value before the point of measurement
* parameters <code> --brec=2 --met=1 --meval=3 --mrecm2=1 --mrec4=1  --nadapt=2 --malign=0 --mpp=2  --ndfs=0 --nthreads=$THREADS --nbuckets=20*$THREADS --nthreadsaf=20*$THREADS --nbucketsaf=20*${THREADS} --blockmul=500000 --nqual=0 --nminpts=30 --ordt=0 --pardeact=1 --mdse=0  </code>
* using commit <code> bb7819619eb9b8831ac1d4515b9605869df72b47</code> or tag <code> Delta-wiki </code>
 
==500k Complexity ==
=== Starting from a 50K Complexity volume mesh ===
Size of intial mesh
 
Vertices : 104,305
 
Tetrahedra: 581,196
{| class="wikitable" style="text-align: right;"
|+ All time data are given in seconds.
! rowspan="2" | # Threads
! rowspan="2" | # Tetrahedra
! rowspan="2" | # Vertices
! rowspan="2" | Intitialize Bg Mesh
! rowspan="2" | Reconstruct Mesh
! colspan="6" style="text-align: center;" | Mesh Refinement
! rowspan="2" | Total Time
! rowspan="2" | Memory (GB)
|-
! # Iterations
! Par. Deactivation
! Par. Vertex Creation
! Vertex Insertion
! Partition
! Par. Reconnection
|-
| 1
| 5,466,298
| 918,571
| 1.17
| 2.02
| 25
| 43.68
| 121.19
| 1.65
| 36.80
| 1,544.07
| 1,751.65
| 1.90
|-
| 6
| 5,510,057
| 925,969
| 1.48
| 2.02
| 25
| 10.86
| 29.01
| 1.51
| 43.20
| 233.74
| 322.88
| 1.84
|-
| 12
| 5,516,846
| 926,995
| 1.16
| 2.02
| 28
| 6.64
| 18.11
| 1.49
| 51.67
| 134.58
| 216.75
| 1.92
|-
| 24
| 5,528,216
| 928,833
| 1.16
| 2.02
| 26
| 3.68
| 9.42
| 1.51
| 47.82
| 69.23
| 135.92
| 2.15
|}
 
This approach offers no boundary adaptation.
 
===Starting for a coarse surface mesh===
''' TODO needs update '''
{| class="wikitable" style="text-align: right;"
|+ All time data are given in seconds.
! rowspan="2" | # Threads
! rowspan="2" | # Tetrahedra
! rowspan="2" | # Vertices
! rowspan="2" | Intitialize Bg Mesh
! rowspan="2" | Boundary Adaptation (MMGS)
! rowspan="2" | Boundary Recovery
! colspan="6" style="text-align: center;" | Mesh Refinement
! rowspan="2" | Total Time
(without MMGS)
! rowspan="2" | Memory (GB)
|-
! # Iterations
! Par. Deactivation
! Par. Vertex Creation
! Vertex Insertion
! Partition
! Par. Reconnection
|-
|-
| 1
| 5,591,132
| 944,921
| 1.18
| 29.83
| 6.64
| 25
| 37.81
| 100.53
| 1.68
| 31.26
| 1312.99
| 1522.47
| 1.96
|-
| 6
| 5,612,549
| 948,750
| 1.19
| 30.72
| 6.50
| 25
| 10.36
| 25.56
| 2.08
| 40.25
| 239.71
| 356.97
| 1.72
|-
| 12
| 5,609,318
| 948,236
| 1.26
| 29.93
| 5.72
| 27
| 6.08
| 14.41
| 1.77
| 44.13
| 132.19
| 236.05
| 1.79
|-
| 24
| 5,625,028
| 950,712
| 1.47
| 29.76
| 6.21
| 26
| 3.19
| 7.67
| 1.68
| 42.16
| 67.32
| 160.01
| 2.09
|}
 
===Notes 2===
* [[Internal:ACDT3D#Comparison_Surface_Adaptation_vs_Mesh_Reconstruction_(reproducibility)| Quality comparison starting from surface vs volume]]
* in some cases boundary recovery reached a point of non-developed code. Rerunning created a different surface mesh and CDT3D was able to continue.
* commit <code> b53ed9b </code>
* parameters <code> --met=1 --meval=3 --mrecm2=1 --mrec4=1  --nadapt=1 --reconstruct=1 --malign=0 --mpp=2  --qstatr=1 --outmesh=${NAME}.meshb --ndfs=0 --nthreads=$THREADS --nbuckets=20*NTHREADS --nthreadsaf=20*NTHREADS --nbucketsaf=20*NTHREADS --blockmul=500000 --nqual=0 --nminpts=30 --ordt=0 --pardeact=1 --mdse=0 --cdfn=0.55</code>
 
==2M Complexity ==
=== Starting from a 50K Complexity volume mesh ===
Size of initial mesh
 
Vertices : 104,305
 
Tetrahedra: 581,196
 
{| class="wikitable" style="text-align: right;"
|+ All time data are given in seconds.
! rowspan="2" | # Threads
! rowspan="2" | # Tetrahedra
! rowspan="2" | # Vertices
! rowspan="2" | Intitialize Bg Mesh
! rowspan="2" | Reconstruct Mesh
! colspan="6" style="text-align: center;" | Mesh Refinement
! rowspan="2" | Total Time
! rowspan="2" | Memory (GB)
|-
! # Iterations
! Par. Deactivation
! Par. Vertex Creation
! Vertex Insertion
! Partition
! Par. Reconnection
|-
|-
| 1
| 21,865,792
| 3,660,818
| 1.22
| 2.02
| 26
| 176.15
| 515.30
| 7.25
| 149.05
| 7,643.51
| 8,495.57
| 6.97
|-
| 6
| 21,953,024
| 3,675,913
| 1.28
| 2.04
| 32
| 53.90
| 124.95
| 7.40
| 231.48
| 1,340.84
| 1,762.97
| 6.49
|-
| 12
| 21,960,752
| 3,677,185
| 1.16
| 2.02
| 32
| 29.69
| 70.13
| 7.01
| 239.09
| 702.43
| 1,052.64
| 6.41
|-
| 24
| 21,966,402
| 3,678,089
| 1.34
| 2.02
| 29
| 15.04
| 38.25
| 6.33
| 214.75
| 332.75
| 611.56
| 6.68
|}
 
=== Starting from a coarse Surface mesh ===
{| class="wikitable" style="text-align: right;"
|+ All time data are given in seconds.
! rowspan="2" | # Threads
! rowspan="2" | # Tetrahedra
! rowspan="2" | # Vertices
! rowspan="2" | Intitialize Bg Mesh
! rowspan="2" | Boundary Adaptation (MMGS)
! rowspan="2" | Boundary Recovery
! colspan="6" style="text-align: center;" | Mesh Refinement
! rowspan="2" | Total Time
(without MMGS)
! rowspan="2" | Memory (GB)
|-
! # Iterations
! Par. Deactivation
! Par. Vertex Creation
! Vertex Insertion
! Partition
! Par. Reconnection
|-
| 1
| 5,591,132
| 944,921
| 1.18
| 29.83
| 6.64
| 25
| 37.81
| 100.53
| 1.68
| 31.26
| 1312.99
| 1522.47
| 1.96
|-
| 6
| 5,612,549
| 948,750
| 1.19
| 30.72
| 6.50
| 25
| 10.36
| 25.56
| 2.08
| 40.25
| 239.71
| 356.97
| 1.72
|-
| 12
| 5,609,318
| 948,236
| 1.26
| 29.93
| 5.72
| 27
| 6.08
| 14.41
| 1.77
| 44.13
| 132.19
| 236.05
| 1.79
|-
| 24
| 5,625,028
| 950,712
| 1.47
| 29.76
| 6.21
| 26
| 3.19
| 7.67
| 1.68
| 42.16
| 67.32
| 160.01
| 2.09
|}


= General Notes =
= General Notes =
* smoothing : [https://onlinelibrary.wiley.com/doi/abs/10.1002/%28SICI%291097-0207%2819971115%2940%3A21%3C3979%3A%3AAID-NME251%3E3.0.CO%3B2-9 Tetrahedral Mesh Improvement Using Swapping and Smoothing, Lori A. Freitag and Carl Ollivier-Gooch ] [http://www.cs.odu.edu/crtc/internal/Christos/Freitag_et_al-1997-International_Journal_for_Numerical_Methods_in_Engineering.pdf PDF]
* [[Internal:ACDT3D_Quality_Criteria | Comparison for quality criteria for ACDT3D]]
* [https://epubs.siam.org/doi/abs/10.1137/0715011 An Efficient Method to Solve the Minmax Problem Directly, C. Charalambous and A. R. Conn ] [http://www.cs.odu.edu/crtc/internal/Christos/Charalambous_An_Efficient_Method_To_Solve_The_Minmax_problem_directly.pdf PDF]
* [[Internal:ACDT3D_(Scitech2018)_stability_data | Stability Data for 500k]]
 
[[#Contents | Back To Top]]
= Stability for 500k case=
== Comparison of Quality Metric using different amount of cores and surface adaptation ==
[[File:Histogram_mean_adapt.png|800px]]
[[File:Histogram_ratio_adapt.png|800px]]
== Comparison of Quality Metric using different amount of cores and mesh reconstruction ==
[[File:Histogram_mean_reconstruct.png|800px]]
[[File:Histogram_ratio_reconstruct.png|800px]]
 
==Comparison Surface Adaptation vs Mesh Reconstruction (reproducibility) ==
 
''' TODO needs update '''
 
[[File:Histogram_mean_compare.png|800px]]
[[File:Histogram_ratio_compare.png|800px]]
 
Surface adaptation offers better edge lengths but mesh reconstruction slightly better mean ratio quality

Latest revision as of 12:42, 22 November 2018

Data

Adaptive CDT3D Results

Integration with SU2

  • SU2 + refine + CDT3D pipeline [1]
  • SU2 + refine + CDT3D, ONERAM6 invicid [2]
  • SU2 + refine + CDT3D, steady laminar flow low mach number over delta wing
    • meshes [3]
    • solution cuts of the vortex [4]
    • video [5]

Improvements

Metric Adaptive Smoothing

General Notes

Back To Top