// File: /workspace/github_c_makefile_star2_O1/mohuangrui[P]ArtraCFD/ensight_writer.c
// Function: WriteStructuredDataEnsight
void WriteStructuredDataEnsight(const Time *time, const Space *space, const Model *model)
{
    EnSet enSet = { /* initialize environment */
        .rname = "field",
        .bname = {'\0'},
        .fname = {'\0'},
        .str = {'\0'},
        .fmt = "%s%05d",
        .gtag = {'\0'},
        .vtag = "*****",
        .dtype = "block",
        .part = {PIO, PIO + 1},
        .scaN = 7,
        .sca = {"rho", "u", "v", "w", "p", "T", "did"},
        .vecN = 1,
        .vec = {"Vel"},
    };
    snprintf(enSet.bname, sizeof(EnStr), enSet.fmt, enSet.rname, time->dataC);
    if (0 == time->stepC) { /* initialization step */
        InitializeTransientCaseFile(&enSet);
        WriteGeometryFile(space, &enSet);
    }
    WriteCaseFile(time, &enSet);
    WriteStructuredData(space, model, &enSet);
    return;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x358, %rsp            # imm = 0x358
movq %rdx, 0x48(%rsp)
movq %rsi, %r12
movq %rdi, %r13
leaq 0xf28d(%rip), %rsi      # 0x1e43c
leaq 0x58(%rsp), %r14
movl $0x300, %edx            # imm = 0x300
movq %r14, %rdi
callq 0x2160
leaq 0xa8(%rsp), %rdi
leaq 0x198(%rsp), %rdx
movl 0x38(%r13), %r8d
xorl %ebx, %ebx
movl $0x50, %esi
movq %r14, %rcx
xorl %eax, %eax
callq 0x20b0
cmpl $0x0, 0x8(%r13)
movq %r12, 0x38(%rsp)
jne 0xf51b
movq %r13, 0x20(%rsp)
leaq 0x58(%rsp), %r14
movq %r14, %rdi
callq 0xfa33
leaq 0xf8(%rsp), %r15
leaq 0xf1f7(%rip), %rdx      # 0x1e40e
movl $0x50, %esi
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x20b0
leaq 0xfe3b(%rip), %rsi      # 0x1f06b
movq %r15, %rdi
callq 0x9269
movq %rax, %r14
movl %ebx, 0x4(%rsp)
movl %ebx, 0x10(%rsp)
movq $0x0, 0x8(%rsp)
leaq 0x148(%rsp), %rbx
leaq 0xfa14(%rip), %rsi      # 0x1ec6f
movl $0x50, %edx
movq %rbx, %rdi
callq 0x2160
movl $0x50, %esi
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rcx
callq 0x2200
leaq 0xfa3c(%rip), %rsi      # 0x1ecc0
movl $0x50, %edx
movq %rbx, %rdi
callq 0x2160
movl $0x50, %esi
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rcx
callq 0x2200
leaq 0xfa64(%rip), %rsi      # 0x1ed11
movl $0x50, %edx
movq %rbx, %rdi
callq 0x2160
movl $0x50, %esi
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rcx
callq 0x2200
leaq 0xfa8c(%rip), %rsi      # 0x1ed62
movl $0x50, %edx
movq %rbx, %rdi
callq 0x2160
movl $0x50, %esi
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rcx
callq 0x2200
leaq 0xfab4(%rip), %rsi      # 0x1edb3
movl $0x50, %edx
movq %rbx, %rdi
callq 0x2160
movl $0x50, %esi
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rcx
callq 0x2200
movslq 0x190(%rbx), %r15
movl $0x1, 0x44(%rsp)
cmpl 0x194(%rbx), %r15d
jge 0xf509
movq 0x38(%rsp), %rax
leaq 0x90(%rax), %rcx
movq %rcx, 0x30(%rsp)
addq $0x3f0, %rax            # imm = 0x3F0
movq %rax, 0x28(%rsp)
movq %r14, 0x18(%rsp)
movl $0x50, %edx
leaq 0x148(%rsp), %rbx
movq %rbx, %rdi
leaq 0xfa8f(%rip), %rsi      # 0x1ee04
callq 0x2160
movl $0x50, %esi
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rcx
callq 0x2200
movl $0x4, %esi
movl $0x1, %edx
leaq 0x44(%rsp), %rdi
movq %r14, %rcx
callq 0x2200
movl $0x50, %esi
movq %rbx, %rdi
leaq 0xfcb9(%rip), %rdx      # 0x1f06e
movl %r15d, %ecx
xorl %eax, %eax
callq 0x20b0
movl $0x50, %esi
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rcx
callq 0x2200
movl $0x50, %edx
movq %rbx, %rdi
leaq 0x288(%rsp), %rsi
callq 0x2040
movl $0x50, %esi
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rcx
callq 0x2200
movq %r15, 0x50(%rsp)
leaq (%r15,%r15,2), %rax
movq 0x30(%rsp), %rcx
leaq (%rcx,%rax,8), %r15
movl 0x4(%r15), %eax
subl (%r15), %eax
movl %eax, 0x8(%rsp)
movl 0xc(%r15), %eax
subl 0x8(%r15), %eax
movl %eax, 0xc(%rsp)
movl 0x14(%r15), %eax
subl 0x10(%r15), %eax
movl %eax, 0x10(%rsp)
movl $0x4, %esi
movl $0x3, %edx
leaq 0x8(%rsp), %rdi
movq %r14, %rcx
callq 0x2200
xorl %ebx, %ebx
movl 0x10(%r15), %r14d
cmpl 0x14(%r15), %r14d
jge 0xf4da
movq %rbx, %r12
shlq $0x4, %r12
addq 0x28(%rsp), %r12
movl 0x8(%r15), %ebp
cmpl 0xc(%r15), %ebp
jge 0xf4d1
movl (%r15), %r13d
cmpl 0x4(%r15), %r13d
jge 0xf4cd
movl %r13d, 0x8(%rsp)
movl %ebp, 0xc(%rsp)
movl %r14d, 0x10(%rsp)
movl 0x8(%rsp,%rbx,4), %edi
movsd (%r12), %xmm0
movq 0x38(%rsp), %rax
movsd 0x58(%rax,%rbx,8), %xmm1
movl 0x40(%rax,%rbx,4), %esi
callq 0x7f08
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x4(%rsp)
movl $0x4, %esi
movl $0x1, %edx
leaq 0x4(%rsp), %rdi
movq 0x18(%rsp), %rcx
callq 0x2200
incl %r13d
jmp 0xf473
incl %ebp
jmp 0xf46a
incl %r14d
cmpl 0x14(%r15), %r14d
jl 0xf466
incq %rbx
cmpq $0x3, %rbx
jne 0xf44c
incl 0x44(%rsp)
movq 0x50(%rsp), %r15
incq %r15
movslq 0x2dc(%rsp), %rax
cmpq %rax, %r15
movq 0x18(%rsp), %r14
jl 0xf35e
movq %r14, %rdi
callq 0x2080
movq 0x38(%rsp), %r12
movq 0x20(%rsp), %r13
leaq 0x58(%rsp), %r15
movq %r13, %rdi
movq %r15, %rsi
callq 0xfc5f
movl $0x0, 0x8(%rsp)
movq (%r12), %rax
movq %rax, 0x50(%rsp)
cmpl $0x0, 0x288(%r15)
jle 0xf7da
movq %r12, %rbx
leaq 0x90(%r12), %rax
movq %rax, 0x20(%rsp)
xorl %ecx, %ecx
movq %rcx, 0x18(%rsp)
leaq (%rcx,%rcx,4), %rax
leaq 0xf8(%rsp), %r15
leaq (%r15,%rax,2), %r8
addq $0x1ec, %r8             # imm = 0x1EC
movl $0x50, %esi
movq %r15, %rdi
leaq 0xee75(%rip), %rdx      # 0x1e3fc
leaq 0xa8(%rsp), %rcx
xorl %eax, %eax
callq 0x20b0
movq %r15, %rdi
leaq 0xfacb(%rip), %rsi      # 0x1f06b
callq 0x9269
movq %rax, %r12
movl $0x50, %edx
leaq 0x148(%rsp), %r15
movq %r15, %rdi
leaq 0xf65f(%rip), %rsi      # 0x1ec1e
callq 0x2160
movl $0x50, %esi
movl $0x1, %edx
movq %r15, %rdi
movq %r12, %r14
movq %r12, %rcx
callq 0x2200
movslq 0x2d8(%rsp), %r13
movl $0x1, 0x4(%rsp)
cmpl 0x2dc(%rsp), %r13d
jge 0xf7b9
movl 0x18(%rsp), %eax
movq %rax, 0x28(%rsp)
movl $0x50, %edx
leaq 0x148(%rsp), %r15
movq %r15, %rdi
leaq 0xf7ea(%rip), %rsi      # 0x1ee04
callq 0x2160
movl $0x50, %esi
movl $0x1, %edx
movq %r15, %rdi
movq %r14, %rcx
callq 0x2200
movl $0x4, %esi
movl $0x1, %edx
leaq 0x4(%rsp), %rdi
movq %r14, %rcx
callq 0x2200
movl $0x50, %edx
movq %r15, %rdi
leaq 0x288(%rsp), %rsi
callq 0x2040
movl $0x50, %esi
movl $0x1, %edx
movq %r15, %rdi
movq %r14, %rcx
callq 0x2200
movq %r13, 0x30(%rsp)
leaq (,%r13,2), %rax
addq %r13, %rax
movq 0x20(%rsp), %rcx
movl 0x10(%rcx,%rax,8), %r12d
cmpl 0x14(%rcx,%rax,8), %r12d
jge 0xf79c
movq 0x20(%rsp), %rcx
leaq (%rcx,%rax,8), %rbp
movl 0x8(%rbp), %r13d
cmpl 0xc(%rbp), %r13d
jge 0xf78f
movl (%rbp), %r15d
cmpl 0x4(%rbp), %r15d
jge 0xf787
movl 0x34(%rbx), %r8d
movl 0x38(%rbx), %ecx
movl %r12d, %edi
movl %r13d, %esi
movl %r15d, %edx
callq 0x7ea3
cmpl $0x6, 0x18(%rsp)
ja 0xf75f
cltq
movq %rax, %rcx
shlq $0x7, %rcx
leaq (%rcx,%rax,8), %rcx
movq 0x50(%rsp), %rdx
leaq (%rdx,%rcx), %rax
leaq (%rdx,%rcx), %rdi
addq $0x10, %rdi
leaq 0xed1c(%rip), %rdx      # 0x1e420
movq 0x28(%rsp), %rcx
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
xorps %xmm0, %xmm0
cvtsd2ss (%rdi), %xmm0
jmp 0xf759
movq 0x48(%rsp), %rax
movsd 0x40(%rax), %xmm0
callq 0x7ceb
jmp 0xf755
movsd 0x20(%rax), %xmm0
jmp 0xf73f
movsd 0x28(%rax), %xmm0
jmp 0xf73f
movsd 0x18(%rax), %xmm0
divsd 0x10(%rax), %xmm0
jmp 0xf755
movq 0x48(%rsp), %rax
movsd 0x50(%rax), %xmm0
callq 0x7de5
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x8(%rsp)
movl $0x4, %esi
movl $0x1, %edx
leaq 0x8(%rsp), %rdi
movq %r14, %rcx
callq 0x2200
incl %r15d
jmp 0xf6b5
xorps %xmm0, %xmm0
cvtsi2ssl (%rax), %xmm0
jmp 0xf759
incl %r13d
jmp 0xf6a7
incl %r12d
cmpl 0x14(%rbp), %r12d
jl 0xf6a3
incl 0x4(%rsp)
movq 0x30(%rsp), %r13
incq %r13
movslq 0x2dc(%rsp), %rax
cmpq %rax, %r13
jl 0xf603
movq %r14, %rdi
callq 0x2080
movq 0x18(%rsp), %rcx
incq %rcx
movslq 0x2e0(%rsp), %rax
cmpq %rax, %rcx
jl 0xf55c
cmpl $0x0, 0x348(%rsp)
jle 0xfa21
movq 0x38(%rsp), %rax
addq $0x90, %rax
movq %rax, 0x30(%rsp)
xorl %ecx, %ecx
movq %rcx, 0x20(%rsp)
leaq (%rcx,%rcx,4), %rax
leaq 0xf8(%rsp), %rbx
leaq (%rbx,%rax,2), %r8
addq $0x254, %r8             # imm = 0x254
movl $0x50, %esi
movq %rbx, %rdi
leaq 0xebd7(%rip), %rdx      # 0x1e3fc
leaq 0xa8(%rsp), %rcx
xorl %eax, %eax
callq 0x20b0
movq %rbx, %rdi
leaq 0xf82d(%rip), %rsi      # 0x1f06b
callq 0x9269
movq %rax, %r14
movl $0x50, %edx
leaq 0x148(%rsp), %rbx
movq %rbx, %rdi
leaq 0xf370(%rip), %rsi      # 0x1ebcd
callq 0x2160
movl $0x50, %esi
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rcx
callq 0x2200
movslq 0x2d8(%rsp), %r15
movl $0x1, 0x4(%rsp)
cmpl 0x2dc(%rsp), %r15d
movq %r14, 0x28(%rsp)
jge 0xfa00
movl $0x50, %edx
leaq 0x148(%rsp), %rbx
movq %rbx, %rdi
leaq 0xf553(%rip), %rsi      # 0x1ee04
callq 0x2160
movl $0x1, %r12d
movl $0x50, %esi
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rcx
callq 0x2200
movl $0x4, %esi
movl $0x1, %edx
leaq 0x4(%rsp), %rdi
movq %r14, %rcx
callq 0x2200
movl $0x50, %edx
movq %rbx, %rdi
leaq 0x288(%rsp), %rsi
callq 0x2040
movl $0x50, %esi
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rcx
callq 0x2200
movq %r15, 0x48(%rsp)
leaq (%r15,%r15,2), %rax
movq 0x30(%rsp), %rcx
leaq (%rcx,%rax,8), %r14
movq %r12, 0x18(%rsp)
movl 0x10(%r14), %ebp
cmpl 0x14(%r14), %ebp
jge 0xf9cc
movl 0x8(%r14), %r13d
cmpl 0xc(%r14), %r13d
jge 0xf9c5
movl (%r14), %r15d
cmpl 0x4(%r14), %r15d
movq 0x38(%rsp), %r12
movq 0x50(%rsp), %rbx
jge 0xf9bd
movl 0x34(%r12), %r8d
movl 0x38(%r12), %ecx
movl %ebp, %edi
movl %r13d, %esi
movl %r15d, %edx
callq 0x7ea3
cltq
movq %rax, %rcx
shlq $0x7, %rcx
leaq (%rcx,%rax,8), %rax
leaq (%rbx,%rax), %rcx
movq 0x18(%rsp), %rdx
movsd 0x10(%rcx,%rdx,8), %xmm0
divsd 0x10(%rbx,%rax), %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x8(%rsp)
movl $0x4, %esi
movl $0x1, %edx
leaq 0x8(%rsp), %rdi
movq 0x28(%rsp), %rcx
callq 0x2200
incl %r15d
cmpl 0x4(%r14), %r15d
jl 0xf958
incl %r13d
jmp 0xf93b
incl %ebp
jmp 0xf92d
movq 0x18(%rsp), %r12
incq %r12
cmpq $0x4, %r12
jne 0xf924
incl 0x4(%rsp)
movq 0x48(%rsp), %r15
incq %r15
movslq 0x2dc(%rsp), %rax
cmpq %rax, %r15
movq 0x28(%rsp), %r14
jl 0xf89a
movq %r14, %rdi
callq 0x2080
movq 0x20(%rsp), %rcx
incq %rcx
movslq 0x348(%rsp), %rax
cmpq %rax, %rcx
jl 0xf7fa
addq $0x358, %rsp            # imm = 0x358
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq