CNF Example Meshes
Contents
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
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
Fall 2019
CFF_14052019
GPDGK16Numerical_140519
- Input Image
- Input distribution size: 1,000,000 cells
- Uniform: 768,033 tetrahedra
- Adaptive (min edge = 1): 273,716 tetrahedra
- Adaptive (min edge = 2): 67,935 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 --output ./GPDGK16Numerical_140519,d=1,uniform.vtk
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 --output ./GPDGK16Numerical_140519,d=5,wl=0.1,me=1.vtk
Adaptive (min edge = 2): Output Mesh
docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_14052019/GPDGK16Numerical_140519.nrrd --cnf-adaptive --min-edge 2 --output ./GPDGK16Numerical_140519,d=5,wl=0.1,me=2.vtk
GPDMMS13_140519
- Input Image
- Input distribution size: 1,000,000 cells
- Uniform: 768,033 tetrahedra
- Adaptive: 264,762 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 --output ./GPDMMS13_140519,d=1,uniform.vtk
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 --output ./GPDMMS13_140519,d=5,wl=0.05,me=1.vtk
GPDVGG99_140519
- Input Image
- Input distribution size: 1,000,000 cells
- Uniform: 768,033 tetrahedra
- Adaptive: 261,485 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 --output ./GPDVGG99_140519,d=1,uniform.vtk
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 --output ./GPDVGG99_140519,d=5,wl=0.05,me=1.vtk
NT_140519
- Input Image
- Input distribution size: 1,000,000 cells
- Uniform: 768,033 tetrahedra
- Adaptive (min edge = 1): 253,965 tetrahedra
- Adaptive (min edge = 2): 120,168 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 --output ./NT_140519,d=1,uniform.vtk
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 --output ./NT_140519,d=5,wl=0.07,me=1.vtk
Adaptive (min edge = 2): 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 2 --output ./NT_140519,d=5,wl=0.07,me=2.vtk
OBS_ALU_140519
- Input Image
- Input distribution size: 1,000,000 cells
- Uniform: 768,033 tetrahedra
- Adaptive: 259,269 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 --output ./OBS_ALU_140519,d=1,uniform.vtk
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 --output ./OBS_ALU_140519,d=5,wl=0.13,me=1.vtk
OBS_CS_140519
- Input Image
- Input distribution size: 1,000,000 cells
- Uniform: 768,033 tetrahedra
- Adaptive: 25,168 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 --output ./OBS_CS_140519,d=1,uniform.vtk
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 --output ./OBS_CS_140519,d=5,wl=0.01,me=1.vtk
CFF_DATA
cff_E.data_IM
- Input Image
- Input distribution size: 8,000,000 cells
- Uniform: 745,291 tetrahedra
- Adaptive: 358,637 tetrahedra
- Adaptive: 358,637 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 --output ./cff_E.data_IM,d=2,uniform.vtk
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 --output ./cff_E.data_IM,d=10,wl=0.01,me=2.vtk
cff_E.data_REAL
- Input Image
- Input distribution size: 8,000,000 cells
- Uniform: 745,291 tetrahedra
- Adaptive: 314,990 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 --output ./cff_E.data_REAL,d=2,uniform.vtk
Adaptive: Output Mesh
docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_E.data_REAL.nrrd --cnf-adaptive --output ./cff_E.data_REAL,d=10,wl=0.1,me=2.vtk
cff_H.data_IM
- Input Image
- Input distribution size: 8,000,000 cells
- Uniform: 745,291 tetrahedra
- Adaptive: 289,855 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 --output ./cff_H.data_IM,d=2,uniform.vtk
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 --output ./cff_H.data_IM,d=10,wl=0.05,me=2.vtk
cff_H.data_REAL
- Input Image
- Input distribution size: 8,000,000 cells
- Uniform: 745,291 tetrahedra
- Adaptive: 372,016 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 --output ./cff_H.data_REAL,d=2,uniform.vtk
Adaptive: Output Mesh
docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_H.data_REAL.nrrd --cnf-adaptive --output ./cff_H.data_REAL,d=10,wl=0.1,me=2.vtk
cff_Ht.data_IM
- Input Image
- Input distribution size: 8,000,000 cells
- Uniform: 745,291 tetrahedra
- Adaptive: 337,772 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 --output ./cff_Ht.data_IM,d=2,uniform.vtk
Adaptive: Output Mesh
docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_Ht.data_IM.nrrd --cnf-adaptive --output ./cff_Ht.data_IM,d=10,wl=0.1,me=2.vtk
cff_Ht.data_REAL
- Input Image
- Input distribution size: 8,000,000 cells
- Uniform: 745,291 tetrahedra
- Adaptive: 394,632 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 --output ./cff_Ht.data_REAL,d=2,uniform.vtk
Adaptive: Output Mesh
docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/CFF_DATA/cff_Ht.data_REAL.nrrd --cnf-adaptive --output ./cff_Ht.data_REAL,d=10,wl=0.1,me=2.vtk
DATA_04252019
CFF_E_im
- Input Image
- Input distribution size: 1,000,000 cells
- Uniform: 768,033 tetrahedra
- Adaptive: 236,512 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 --output ./CFF_E_im,d=1,uniform.vtk
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 --output ./CFF_E_im,d=5,wl=0.04,me=1.vtk
CFF_E_re
- Input Image
- Input distribution size: 1,000,000 cells
- Uniform: 768,033 tetrahedra
- Adaptive: 260,349 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 --output ./CFF_E_re,d=1,uniform.vtk
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 --output ./CFF_E_re,d=5,wl=0.08,me=1.vtk
CFF_H_im
- Input Image
- Input distribution size: 1,000,000 cells
- Uniform: 768,033 tetrahedra
- Adaptive: 263,040 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 --output ./CFF_H_im,d=1,uniform.vtk
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 --output ./CFF_H_im,d=5,wl=0.06,me=1.vtk
CFF_H_re
- Input Image
- Input distribution size: 1,000,000 cells
- Uniform: 768,033 tetrahedra
- Adaptive: 249,257 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 --output ./CFF_H_re,d=1,uniform.vtk
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 --output ./CFF_H_re,d=5,wl=0.13,me=1.vtk
GPD_H_down
- Input Image
- Input distribution size: 1,000,000 cells
- Uniform: 768,033 tetrahedra
- Adaptive: 300,117 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: 295,671 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 --output ./GPD_H_up,d=1,uniform.vtk
Adaptive:Output Mesh
docker run -v $(pwd):/data/ crtc_i2m tessellate3d --input ./CNF_Data/3D/DATA_04252019/GPD_H_up.nrrd --cnf-adaptive --output ./GPD_H_up,d=5,wl=0.1,me=1.vtk
OBS_ALU
- Input Image
- Input distribution size: 1,000,000 cells
- Uniform with background-value = 0: 301,772 tetrahedra
- Adaptive with background-value = 0: 279,721 tetrahedra
- Uniform with background-value = default: 768,033 tetrahedra
- Adaptive with background-value = default: 284,256 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 --output ./OBS_ALU,d=1,bv=0,uniform.vtk
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 --output ./OBS_ALU,d=5,bv=0,wl=0.07,me=1.vtk
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 --output ./OBS_ALU,d=1,uniform.vtk
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 --output ./OBS_ALU,d=5,wl=0.07,me=1.vtk
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: 10,593 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 --output ./phase_space_000,d=0.25,uniform.vtk
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.004 --min-edge 2 --output ./phase_space_000,d=2,wl=0.004,me=2.vtk
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