// File: /workspace/github_c_makefile_star2_O0/mohuangrui[P]ArtraCFD/case_generator.c
// Function: GenerateCaseGeometryFile
static void GenerateCaseGeometryFile(void)
{
    FILE *fp = Fopen("artracfd.geo", "w");
    fprintf(fp, "#------------------------------------------------------------------------------\n");
    fprintf(fp, "#                                                                             -\n");
    fprintf(fp, "#                            Geometry Configuration                           -\n");
    fprintf(fp, "#                                                                             -\n");
    fprintf(fp, "# - Coordinate system: Right-handed Cartesian system. X-Y plane is the screen -\n");
    fprintf(fp, "#   plane; X is horizontal from west to east; Y is vertical from south to     -\n");
    fprintf(fp, "#   north; Z axis is perpendicular to screen and points from front to back.   -\n");
    fprintf(fp, "# - Coordinates and physical quantities should be normalized to dimensionless.-\n");
    fprintf(fp, "# - In each 'begin end' environment, there should NOT be any empty or comment -\n");
    fprintf(fp, "#   lines. Please double check input.                                         -\n");
    fprintf(fp, "#                                                                             -\n");
    fprintf(fp, "#------------------------------------------------------------------------------\n");
    fprintf(fp, "#------------------------------------------------------------------------------\n");
    fprintf(fp, "#\n");
    fprintf(fp, "#                  >> Number of Geometries <<\n");
    fprintf(fp, "#\n");
    fprintf(fp, "#------------------------------------------------------------------------------\n");
    fprintf(fp, "count begin\n");
    fprintf(fp, "1                  # analytical polyhedron (int)\n");
    fprintf(fp, "1                  # triangulated polyhedron (int)\n");
    fprintf(fp, "count end\n");
    fprintf(fp, "#------------------------------------------------------------------------------\n");
    fprintf(fp, "#\n");
    fprintf(fp, "#                   >> Geometry Information <<\n");
    fprintf(fp, "#\n");
    fprintf(fp, "# State begin\n");
    fprintf(fp, "# O, r, V, W, rho, T, cf, area, volume, mid\n");
    fprintf(fp, "# at, ar, ate, g, are, to\n");
    fprintf(fp, "# State end\n");
    fprintf(fp, "# (Ox, Oy, Oz): geometric center; relative frame for transformation\n");
    fprintf(fp, "# r: bounding sphere radius\n");
    fprintf(fp, "# (Vx, Vy, Vz): translational velocity of geometric center\n");
    fprintf(fp, "# (Wx, Wy, Wz): rotational velocity relative to geometric center\n");
    fprintf(fp, "# rho: density; > 1.0e10 if ignore surface force effect\n");
    fprintf(fp, "# T: wall temperature; < 0 if adiabatic; >= 0 if constant\n");
    fprintf(fp, "# cf: roughness; <= 0 if slip; > 0 if no slip\n");
    fprintf(fp, "# area, volume, mid: surface area, volume, material identifier\n");
    fprintf(fp, "# (atx, aty, atz): translational acceleration\n");
    fprintf(fp, "# (arx, ary, arz): rotational acceleration\n");
    fprintf(fp, "# (atex, atey, atez): exerted external translational acceleration\n");
    fprintf(fp, "# (gx, gy, gz): gravitational acceleration\n");
    fprintf(fp, "# (arex, arey, arez): exerted external rotational acceleration\n");
    fprintf(fp, "# to: time to end external ate and are; <= 0 if never end\n");
    fprintf(fp, "# stationary object: V = 0; W = 0; ate = 0; g = 0; are = 0; rho > 1.0e36;\n");
    fprintf(fp, "#\n");
    fprintf(fp, "#------------------------------------------------------------------------------\n");
    fprintf(fp, "#\n");
    fprintf(fp, "#                 >> Analytical Polyhedron Section <<\n");
    fprintf(fp, "#\n");
    fprintf(fp, "#------------------------------------------------------------------------------\n");
    fprintf(fp, "sphere state begin\n");
    fprintf(fp, "0, 0, 0, 0.5, 0, 0, 0, 0, 0, 0, 2700, -1, 1, 0, 0, 0\n");
    fprintf(fp, "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n");
    fprintf(fp, "sphere state end\n");
    fprintf(fp, "#------------------------------------------------------------------------------\n");
    fprintf(fp, "#\n");
    fprintf(fp, "#                 >> Triangulated Polyhedron Section <<\n");
    fprintf(fp, "#\n");
    fprintf(fp, "#Polyhedron representation is consistently employed for describing irregular   \n");
    fprintf(fp, "#objects. For problems with a collapsed dimension, polyhedron is generated via \n");
    fprintf(fp, "#extending the polygon on the collapsed dimension with unit thickness.         \n");
    fprintf(fp, "#------------------------------------------------------------------------------\n");
    fprintf(fp, "polyhedron geometry begin\n");
    fprintf(fp, "artracfd.stl       # geometry file name\n");
    fprintf(fp, "polyhedron geometry end\n");
    fprintf(fp, "polyhedron state begin\n");
    fprintf(fp, "0, 0, 0, 0.5, 0, 0, 0, 0, 0, 0, 2700, -1, 1, 0, 0, 0\n");
    fprintf(fp, "0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n");
    fprintf(fp, "polyhedron state end\n");
    fprintf(fp, "polyhedron transform begin\n");
    fprintf(fp, "1, 1, 1, 0, 0, 0, 0, 0, 0 # scale, rotate, translate\n");
    fprintf(fp, "polyhedron transform end\n");
    fprintf(fp, "#------------------------------------------------------------------------------\n");
    fprintf(fp, "#------------------------------------------------------------------------------\n");
    fprintf(fp, "#/* a good practice: end file with a newline */\n");
    fprintf(fp, "\n");
    fclose(fp);
    GenerateTriangulatedGeometryFile();
    return;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
leaq 0x207c6(%rip), %rdi     # 0x26175
leaq 0x214c6(%rip), %rsi     # 0x26e7c
callq 0xbf90
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdi
leaq 0x1f124(%rip), %rsi     # 0x24aee
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f163(%rip), %rsi     # 0x24b3f
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20794(%rip), %rsi     # 0x26182
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f13f(%rip), %rsi     # 0x24b3f
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f1cf(%rip), %rsi     # 0x24be1
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f20e(%rip), %rsi     # 0x24c32
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f24d(%rip), %rsi     # 0x24c83
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x2078b(%rip), %rsi     # 0x261d3
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f31c(%rip), %rsi     # 0x24d76
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f35b(%rip), %rsi     # 0x24dc7
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f0c1(%rip), %rsi     # 0x24b3f
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f05e(%rip), %rsi     # 0x24aee
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f04c(%rip), %rsi     # 0x24aee
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f364(%rip), %rsi     # 0x24e18
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x2075e(%rip), %rsi     # 0x26224
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f340(%rip), %rsi     # 0x24e18
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f004(%rip), %rsi     # 0x24aee
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20321(%rip), %rsi     # 0x25e1d
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20745(%rip), %rsi     # 0x26253
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20765(%rip), %rsi     # 0x26285
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x203e8(%rip), %rsi     # 0x25f1a
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1efaa(%rip), %rsi     # 0x24aee
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f2c2(%rip), %rsi     # 0x24e18
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20751(%rip), %rsi     # 0x262b9
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f29e(%rip), %rsi     # 0x24e18
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x2075d(%rip), %rsi     # 0x262e9
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x2075a(%rip), %rsi     # 0x262f8
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20775(%rip), %rsi     # 0x26325
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x2077e(%rip), %rsi     # 0x26340
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20779(%rip), %rsi     # 0x2634d
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x207ac(%rip), %rsi     # 0x26392
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x207b7(%rip), %rsi     # 0x263af
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x207e1(%rip), %rsi     # 0x263eb
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20811(%rip), %rsi     # 0x2642d
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20838(%rip), %rsi     # 0x26466
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20861(%rip), %rsi     # 0x264a1
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x2087e(%rip), %rsi     # 0x264d0
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x208ac(%rip), %rsi     # 0x26510
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x208c9(%rip), %rsi     # 0x2653f
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x208e3(%rip), %rsi     # 0x2656b
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20914(%rip), %rsi     # 0x265ae
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x2092e(%rip), %rsi     # 0x265da
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x2095c(%rip), %rsi     # 0x2661a
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20985(%rip), %rsi     # 0x26655
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f136(%rip), %rsi     # 0x24e18
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1edfa(%rip), %rsi     # 0x24aee
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f112(%rip), %rsi     # 0x24e18
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20988(%rip), %rsi     # 0x266a0
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f0ee(%rip), %rsi     # 0x24e18
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1edb2(%rip), %rsi     # 0x24aee
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20989(%rip), %rsi     # 0x266d7
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x2098b(%rip), %rsi     # 0x266eb
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x209af(%rip), %rsi     # 0x26721
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x209cd(%rip), %rsi     # 0x26751
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1ed58(%rip), %rsi     # 0x24aee
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f070(%rip), %rsi     # 0x24e18
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x209a9(%rip), %rsi     # 0x26763
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1f04c(%rip), %rsi     # 0x24e18
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x209be(%rip), %rsi     # 0x2679c
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x209fd(%rip), %rsi     # 0x267ed
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20a3c(%rip), %rsi     # 0x2683e
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1ecda(%rip), %rsi     # 0x24aee
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20a69(%rip), %rsi     # 0x2688f
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20a72(%rip), %rsi     # 0x268aa
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20a89(%rip), %rsi     # 0x268d3
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20a90(%rip), %rsi     # 0x268ec
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x2087d(%rip), %rsi     # 0x266eb
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x208a1(%rip), %rsi     # 0x26721
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20a72(%rip), %rsi     # 0x26904
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20a76(%rip), %rsi     # 0x2691a
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20a80(%rip), %rsi     # 0x26936
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20aa4(%rip), %rsi     # 0x2696c
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1ec14(%rip), %rsi     # 0x24aee
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x1ec02(%rip), %rsi     # 0x24aee
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x20246(%rip), %rsi     # 0x26144
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
leaq 0x22e53(%rip), %rsi     # 0x28d63
movb $0x0, %al
callq 0x2140
movq -0x8(%rbp), %rdi
callq 0x2080
callq 0x5f30
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)