// File: /workspace/github_c_makefile_star2_O2/ZmengXu[P]boxMesh/boxMesh.C
// Function: writeBoundary(int, int)
void writeBoundary(int nFaces, int nExternalFaces)
{
    ofstream currentFile("constant/polyMesh/boundary");

    currentFile << "/*--------------------------------*- C++ -*----------------------------------*\\\n";
    currentFile << "| =========                 |                                                 |\n";
    currentFile << "| \\\\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |\n";
    currentFile << "|  \\\\    /   O peration     | Version:  2.3.0                                 |\n";
    currentFile << "|   \\\\  /    A nd           | Web:      www.OpenFOAM.org                      |\n";
    currentFile << "|    \\\\/     M anipulation  |                                                 |\n";
    currentFile << "\\*---------------------------------------------------------------------------*/\n";
    currentFile << "FoamFile\n";
    currentFile << "{\n";
    currentFile << "    version     2.0;\n";
    currentFile << "    format      ascii;\n";
    currentFile << "    class       polyBoundaryMesh;\n";
    currentFile << "    location    \"constant/polyMesh\";\n";
    currentFile << "    object      boundary;\n";
    currentFile << "}\n";
    currentFile << "// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //\n";
    currentFile << "\n";
    currentFile << "1\n";
    currentFile << "(\n";
    currentFile << "    defaultFaces\n";
    currentFile << "    {\n";
    currentFile << "        type            empty;\n";
    currentFile << "        inGroups        1(empty);\n";

    ostringstream convert;
    convert << "        nFaces          " << nExternalFaces        << ";\n";
    convert << "        startFace       " << nFaces-nExternalFaces << ";\n";
    currentFile << convert.str();

    currentFile << "    }\n";
    currentFile << ")\n";
    currentFile << "\n";
    currentFile << "// ************************************************************************* //\n";
    currentFile.close();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x398, %rsp            # imm = 0x398
movl %esi, %r14d
movl %edi, %ebx
leaq 0x3bcc(%rip), %rsi      # 0x6004
leaq -0x238(%rbp), %r15
pushq $0x10
popq %rdx
movq %r15, %rdi
callq 0x2170
leaq 0x3bce(%rip), %rsi      # 0x601f
movq %r15, %rdi
callq 0x2140
leaq 0x3c10(%rip), %rsi      # 0x6070
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3c4e(%rip), %rsi      # 0x60c1
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3c8c(%rip), %rsi      # 0x6112
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3cca(%rip), %rsi      # 0x6163
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3d08(%rip), %rsi      # 0x61b4
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3d46(%rip), %rsi      # 0x6205
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3d84(%rip), %rsi      # 0x6256
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3e77(%rip), %rsi      # 0x635c
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3d68(%rip), %rsi      # 0x6260
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3d6b(%rip), %rsi      # 0x6276
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3d70(%rip), %rsi      # 0x628e
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3d80(%rip), %rsi      # 0x62b1
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3d93(%rip), %rsi      # 0x62d7
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3e81(%rip), %rsi      # 0x63d8
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3d88(%rip), %rsi      # 0x62f2
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3eff(%rip), %rsi      # 0x647c
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3db3(%rip), %rsi      # 0x6343
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3ed8(%rip), %rsi      # 0x647b
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3d90(%rip), %rsi      # 0x6346
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3d8f(%rip), %rsi      # 0x6358
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3d83(%rip), %rsi      # 0x635f
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3d90(%rip), %rsi      # 0x637f
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq -0x3b0(%rbp), %rdi
callq 0x2190
leaq 0x3d94(%rip), %rsi      # 0x63a2
leaq -0x3b0(%rbp), %rdi
callq 0x2140
movq %rax, %rdi
movl %r14d, %esi
callq 0x2280
leaq 0x3ca8(%rip), %rsi      # 0x62d4
movq %rax, %rdi
callq 0x2140
leaq 0x3d80(%rip), %rsi      # 0x63bb
leaq -0x3b0(%rbp), %rdi
callq 0x2140
subl %r14d, %ebx
movq %rax, %rdi
movl %ebx, %esi
callq 0x2280
leaq 0x3c79(%rip), %rsi      # 0x62d4
movq %rax, %rdi
callq 0x2140
leaq -0x3a8(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x2220
leaq -0x238(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x2120
leaq -0x38(%rbp), %rdi
callq 0x20a0
leaq 0x3d41(%rip), %rsi      # 0x63d4
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3d35(%rip), %rsi      # 0x63db
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3dc3(%rip), %rsi      # 0x647c
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq 0x3d12(%rip), %rsi      # 0x63de
leaq -0x238(%rbp), %rdi
callq 0x2140
leaq -0x238(%rbp), %rdi
callq 0x21a0
leaq -0x3b0(%rbp), %rdi
callq 0x2040
leaq -0x238(%rbp), %rdi
callq 0x21d0
addq $0x398, %rsp            # imm = 0x398
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x20a0
jmp 0x271f
jmp 0x271c
jmp 0x272d
movq %rax, %rbx
leaq -0x3b0(%rbp), %rdi
callq 0x2040
jmp 0x2730
movq %rax, %rbx
leaq -0x238(%rbp), %rdi
callq 0x21d0
movq %rbx, %rdi
callq 0x2290