Difference between revisions of "CNF Example Meshes"

From crtc.cs.odu.edu
Jump to: navigation, search
(phase_space_000)
(phase_space_000)
Line 535: Line 535:
 
<gallery mode="packed" heights=350px>
 
<gallery mode="packed" heights=350px>
 
File:phase_space_000,d=0.25,uniform.png
 
File:phase_space_000,d=0.25,uniform.png
File:phase_space_000,d=2,wl=0.004,me=2.png
+
File:phase_space_000-d_2-g-s-f-w_0.2-m_2.5-M_20-l.png
 
</gallery>
 
</gallery>
[[File:phase_space_000-d_2-g-s-f-w_0.2-m_2.5-M_20-l.png]]
 
  
 
Commands to generate meshes:
 
Commands to generate meshes:
Line 548: Line 547:
 
'''Adaptive:''' [ Output Mesh]
 
'''Adaptive:''' [ Output Mesh]
 
<pre>
 
<pre>
docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/phase_space_000/phase_space_000.nrrd --delta 2 --cnf-adaptive --weight-limit 0.004 --min-edge 2
+
docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/phase_space_000/phase_space_000.nrrd --delta 2 --cnf-adaptive --weight-limit 0.02 --min-edge 2 --max-edge 20
 
</pre>
 
</pre>
  

Revision as of 22:17, 22 July 2020

3D Example Meshes

The directory containing the 3D input data is located in the 3D folder of CNF_Data.

Summer 2020

GPDGK16

GPDGK16_uH_img

  • Input Image
  • Input distribution size: 1,000 cells
  • Adaptive Meshes which deal with the input as an image:
    • (PODM) delta = 2, min edge = 0.85, weight limit = 0.12, max edge = 0.2 * diagonal: 1,208 tetrahedra, Output Mesh
    • (PODM) delta = 1, min edge = 0.2, weight limit = 0.1, max edge = 0.2 * diagonal: tetrahedra 8,690, Output Mesh
  • Meshes which deal with the input as a CAD geometry:
    • (Constrained Mesher) quality = 2, min edge = 0.5, weight limit = 0.2, max edge = 0.2 * diagonal: 641 tetrahedra, Output Mesh
    • (CDT3D): 535 tetrahedra, Output Mesh
    • (CDT3D): 1032 tetrahedra, Output Mesh
    • (CDT3D): 1205 tetrahedra, Output Mesh

Adaptive ((PODM) delta = 2, min edge = 0.85, weight limit = 0.12, max edge = 0.2 * diagonal):

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/GPDGK16/GPDGK16_uH_img.nrrd --cnf-adaptive --delta 2 --min-edge = 0.85 --weight-limit 0.12 --output ./GPDGK16_uH_img-d_2-e_0.85-w_0.12-maxEdge_0.2diagonal.vtk

Adaptive ((PODM) delta = 1, min edge = 0.2, weight limit = 0.1, max edge = 0.2 * diagonal):

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/GPDGK16/GPDGK16_uH_img.nrrd --cnf-adaptive --delta 1 --min-edge = 0.2 --weight-limit 0.1 --output ./GPDGK16_uH_img-d_1-e_0.2-w_0.1-maxEdge_0.2diagonal.vtk

GPDGK16_uH_img_nxi=211

  • [ Input Image]
  • Input distribution size: 21,100 cells
  • Number of bins: Xi=211 t=20 Q^2=5
  • Adaptive Meshes which deal with the input as an image:
    • (PODM) delta = 2, min edge = 0.85, weight limit = 0.12: 11964 tetrahedra
    • (PODM) delta = 1, min edge = 0.2, weight limit = 0.1: 124608 tetrahedra

Fall 2019

CFF_14052019

GPDGK16Numerical_140519

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive (min edge = default): 277,701 tetrahedra
  • Adaptive (min edge = 1): 92,216 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/GPDGK16Numerical_140519.nrrd --cnf-uniform

Adaptive (min edge = default): Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/GPDGK16Numerical_140519.nrrd --cnf-adaptive

Adaptive (min edge = 1): Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/GPDGK16Numerical_140519.nrrd --cnf-adaptive --min-edge 1

GPDMMS13_140519

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 270,453 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/GPDMMS13_140519.nrrd --cnf-uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/GPDMMS13_140519.nrrd --cnf-adaptive --weight-limit 0.05

GPDVGG99_140519

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 266,731 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/GPDVGG99_140519.nrrd --cnf-uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/GPDVGG99_140519.nrrd --cnf-adaptive --weight-limit 0.05

NT_140519

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive (min edge = default): 257,041 tetrahedra
  • Adaptive (min edge = 1): 140,527 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/NT_140519.nrrd --cnf-uniform

Adaptive (min edge = default): Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/NT_140519.nrrd --cnf-adaptive --weight-limit 0.07

Adaptive (min edge = 1): Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/NT_140519.nrrd --cnf-adaptive --weight-limit 0.07 --min-edge 1

OBS_ALU_140519

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 262,055 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/OBS_ALU_140519.nrrd --cnf-uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/OBS_ALU_140519.nrrd --cnf-adaptive --weight-limit 0.13

OBS_CS_140519

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 25,476 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/OBS_CS_140519.nrrd --cnf-uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/OBS_CS_140519.nrrd --cnf-adaptive --weight-limit 0.01

CFF_DATA

cff_E.data_IM

  • Input Image
  • Input distribution size: 8,000,000 cells
  • Uniform: 745,291 tetrahedra
  • Adaptive: 362,804 tetrahedra
  • Adaptive: 362,804 tetrahedra (other side of the same adaptive case)

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_E.data_IM.nrrd --cnf-uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_E.data_IM.nrrd --cnf-adaptive --weight-limit 0.01

cff_E.data_REAL

  • Input Image
  • Input distribution size: 8,000,000 cells
  • Uniform: 745,291 tetrahedra
  • Adaptive: 318,128 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_E.data_REAL.nrrd --cnf-uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_E.data_REAL.nrrd --cnf-adaptive

cff_H.data_IM

  • Input Image
  • Input distribution size: 8,000,000 cells
  • Uniform: 745,291 tetrahedra
  • Adaptive: 293,560 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_H.data_IM.nrrd --cnf-uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_H.data_IM.nrrd --cnf-adaptive --weight-limit 0.05

cff_H.data_REAL

  • Input Image
  • Input distribution size: 8,000,000 cells
  • Uniform: 745,291 tetrahedra
  • Adaptive: 375,705 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_H.data_REAL.nrrd --cnf-uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_H.data_REAL.nrrd --cnf-adaptive

cff_Ht.data_IM

  • Input Image
  • Input distribution size: 8,000,000 cells
  • Uniform: 745,291 tetrahedra
  • Adaptive: 341,159 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_Ht.data_IM.nrrd --cnf-uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_Ht.data_IM.nrrd --cnf-adaptive

cff_Ht.data_REAL

  • Input Image
  • Input distribution size: 8,000,000 cells
  • Uniform: 745,291 tetrahedra
  • Adaptive: 398,937 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_Ht.data_REAL.nrrd --cnf-uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_Ht.data_REAL.nrrd --cnf-adaptive

DATA_04252019

CFF_E_im

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 240,150 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/CFF_E_im.nrrd --cnf-uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/CFF_E_im.nrrd --cnf-adaptive --weight-limit 0.04

CFF_E_re

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 261,918 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/CFF_E_re.nrrd --cnf-uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/CFF_E_re.nrrd --cnf-adaptive --weight-limit 0.08

CFF_H_im

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 266,306 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/CFF_H_im.nrrd --cnf-uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/CFF_H_im.nrrd --cnf-adaptive --weight-limit 0.06

CFF_H_re

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 251,186 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/CFF_H_re.nrrd --cnf-uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/CFF_H_re.nrrd --cnf-adaptive --weight-limit 0.13

GPD_H_down

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 307,082 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/GPD_H_down.nrrd --cnf-uniform --output ./GPD_H_down,d=1,uniform.vtk

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/GPD_H_down.nrrd --cnf-adaptive --output ./GPD_H_down,d=5,wl=0.1,me=1.vtk

GPD_H_up

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 768,033 tetrahedra
  • Adaptive: 301,979 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/GPD_H_up.nrrd --cnf-uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/GPD_H_up.nrrd --cnf-adaptive

OBS_ALU

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform with background-value = 0: 301,772 tetrahedra
  • Adaptive with background-value = 0: 282,102 tetrahedra
  • Uniform with background-value = default: 768,033 tetrahedra
  • Adaptive with background-value = default: 286,978 tetrahedra

Commands to generate meshes:

Uniform with background-value = 0: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/OBS_ALU.nrrd --cnf-uniform --background-value 0

Adaptive with background-value = 0: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/OBS_ALU.nrrd --cnf-adaptive --background-value 0 --weight-limit 0.07

Uniform with background-value = default: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/OBS_ALU.nrrd --cnf-uniform

Adaptive with background-value = default: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/OBS_ALU.nrrd --cnf-adaptive --weight-limit 0.07

Note: In this case, we want to exclude the entries with value 0 (lower part, see figure) since they are not of interest. Using the flag --background-value 0, the entries are excluded from mesh generation. This allows reducing the number of cells by 70% for the uniform case and 30% for the adaptive.

phase_space_000

phase_space_000

  • Input Image
  • Input distribution size: 15,625 cells
  • Uniform: 17,961 tetrahedra
  • Adaptive: 11,494 tetrahedra

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/phase_space_000/phase_space_000.nrrd --delta 0.25 --cnf-uniform

Adaptive: [ Output Mesh]

docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/phase_space_000/phase_space_000.nrrd --delta 2 --cnf-adaptive --weight-limit 0.02 --min-edge 2 --max-edge 20

2D Example Meshes

The directory containing the 2D input data is located in the 2D folder of CNF_Data.

Fall 2019

Synthetic Gaussian Data

  • Input Image
  • Input distribution size: 1,000,000 cells
  • Uniform: 30,949 triangles
  • Adaptive: 3,788 triangles

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate2d  --input ./CNF_Data/2D/Gaussian2.vtk  --output Gaussian_me_10_uniform.vtk --uniform --min-edge=10

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate2d  --input ./CNF_Data/2D/Gaussian2.vtk  --output Gaussian_me_10_wl_1e-1.vtk --weight-limit=0.05 --min-edge=10

GPDGK16Numerical_140519

The 2D case created by extracting a 2D slice at X=50 out of the 3D distribution (see 3D case below) GPDGK16Numerical_140519

  • Input Image
  • Input distribution size: 10,000 cells
  • Uniform: 7,587 triangles
  • Adaptive (min edge = 2): 623 triangles
  • Adaptive (min edge = 0.5): 1,409 triangles

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate2d  --input ./CNF_Data/2D/GPDGK16Numerical_140519_X50.vtk --output GPDGK16Numerical_140519_me_2_uniform.vtk --min-edge=2 --uniform

Adaptive (min edge = 2): Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate2d  --input ./CNF_Data/2D/GPDGK16Numerical_140519_X50.vtk --output GPDGK16Numerical_140519_me_2_wl_1e-1.vtk --min-edge=2 --weight-limit=0.1


Adaptive (min edge = 0.5): Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate2d  --input ./CNF_Data/2D/GPDGK16Numerical_140519_X50.vtk --output GPDGK16Numerical_140519_me_0.5_wl_1e-1.vtk --min-edge=0.5 --weight-limit=0.1

Note: By using min-edge less than 1 we are essentially generating triangles with an edge smaller than the input pixels. Using values much smaller than 1 is not expected to help the discretization since we are essentially packing more element into a pixel which has a constant value.

NT_140519

The 2D image was created by extracting a 2D slice at X=50 out of the 3D distribution (see 3D case below) NT_140519

  • Input Image
  • Input distribution size: 10,000 cells
  • Uniform: 7,587 triangles
  • Adaptive: 1,038 triangles

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate2d  --input ./CNF_Data/2D/NT_140519_50_X.vtk  --output NT_140519_X50_me_2_uniform.vtk --min-edge=2 --uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate2d  --input ./CNF_Data/2D/NT_140519_50_X.vtk  --output NT_140519_X50_me_2_wl_1e-1.vtk --min-edge=2 --weight-limit=0.1

OBS_ALU_Y50

The 2D image was created by extracting a 2D slice at Y=50 out of the 3D distribution (see 3D case below) OBS_ALU

  • Input Image
  • Input distribution size: 10,000 cells
  • Uniform: 7,587 triangles
  • Adaptive: 1,018 triangles

Commands to generate meshes:

Uniform: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate2d  --input ./CNF_Data/2D/OBS_ALU_Y50.vtk --output OBS_ALU_Y50_me_2_uniform.vtk --min-edge=2 --uniform

Adaptive: Output Mesh

docker run -v $(pwd):/data/ crtc_i2m tessellate2d  --input ./CNF_Data/2D/OBS_ALU_Y50.vtk --output OBS_ALU_Y50_me_2_wl_1e-1.vtk --min-edge=2 --weight-limit=0.1