// File: /workspace/github_c_makefile_star2_O2/mohuangrui[P]ArtraCFD/paraview_writer.c
// Function: WriteStructuredDataParaview
void WriteStructuredDataParaview(const Time *time, const Space *space, const Model *model)
{
    PvSet pvSet = { /* initialize environment */
        .rname = "field",
        .bname = {'\0'},
        .fname = {'\0'},
        .fext = ".vts",
        .fmt = "%s%05d",
        .intType = "Int32",
        .floatType = "Float32",
        .byteOrder = "LittleEndian",
        .scaN = 10,
        .sca = {"rho", "u", "v", "w", "p", "T", "did", "fid", "lid", "gst"},
        .vecN = 1,
        .vec = {"Vel"},
    };
    snprintf(pvSet.bname, sizeof(PvStr), pvSet.fmt, pvSet.rname, time->dataC);
    if (0 == time->stepC) { /* initialization step */
        InitializeTransientCaseFile(&pvSet);
    }
    WriteCaseFile(time, &pvSet);
    WriteStructuredData(space, model, &pvSet);
    return;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x318, %rsp            # imm = 0x318
movq %rdx, 0x18(%rsp)
movq %rsi, %rbx
movq %rdi, %r15
leaq 0xa0e9(%rip), %rsi      # 0x1dc10
leaq 0x20(%rsp), %r12
movl $0x2f8, %edx            # imm = 0x2F8
movq %r12, %rdi
callq 0x2170
leaq 0x70(%rsp), %r14
leaq 0x160(%rsp), %rdx
movl 0x38(%r15), %r8d
pushq $0x50
popq %rsi
movq %r14, %rdi
movq %r12, %rcx
xorl %eax, %eax
callq 0x20b0
cmpl $0x0, 0x8(%r15)
jne 0x13b6b
leaq 0x20(%rsp), %rdi
callq 0x140fb
leaq 0x20(%rsp), %rsi
movq %r15, %rdi
callq 0x141b3
leaq 0xc0(%rsp), %r15
leaq 0x110(%rsp), %r8
leaq 0xa025(%rip), %rdx      # 0x1dbb4
pushq $0x50
popq %rsi
movq %r15, %rdi
movq %r14, %rcx
xorl %eax, %eax
callq 0x20b0
leaq 0x7072(%rip), %rsi      # 0x1ac18
movq %r15, %rdi
callq 0x8820
movq %rax, %r13
movq (%rbx), %r14
movl 0x90(%rbx), %ebp
notl %ebp
addl 0x94(%rbx), %ebp
movl 0x98(%rbx), %r15d
notl %r15d
addl 0x9c(%rbx), %r15d
movl 0xa0(%rbx), %r12d
notl %r12d
addl 0xa4(%rbx), %r12d
leaq 0xa90d(%rip), %rdi      # 0x1e4f8
pushq $0x16
popq %rsi
pushq $0x1
popq %rdx
movq %rax, %rcx
callq 0x2210
leaq 0x250(%rsp), %rdx
leaq 0xa9e1(%rip), %rsi      # 0x1e5e9
movq %r13, %rdi
xorl %eax, %eax
callq 0x2160
leaq 0xaa0f(%rip), %rsi      # 0x1e628
movq %r13, %rdi
xorl %edx, %edx
movl %ebp, %ecx
xorl %r8d, %r8d
movl %r15d, %r9d
xorl %eax, %eax
pushq %r12
pushq $0x0
callq 0x2160
popq %rcx
popq %rdx
leaq 0xaa22(%rip), %rsi      # 0x1e65c
movq %r13, %rdi
xorl %edx, %edx
movl %ebp, %ecx
xorl %r8d, %r8d
movl %r15d, %r9d
xorl %eax, %eax
pushq %r12
pushq $0x0
callq 0x2160
popq %rcx
popq %rdx
leaq 0xaa29(%rip), %rdi      # 0x1e684
pushq $0x12
popq %rsi
pushq $0x1
popq %rdx
movq %r13, 0x8(%rsp)
movq %r13, %rcx
callq 0x2210
xorpd %xmm0, %xmm0
movsd %xmm0, (%rsp)
xorl %r12d, %r12d
movslq 0x2a0(%rsp), %rax
cmpq %rax, %r12
jge 0x13e0b
imulq $0xa, %r12, %rcx
leaq 0x2a4(%rsp), %rax
addq %rax, %rcx
movq 0x8(%rsp), %r15
movq %r15, %rdi
leaq 0xa9ee(%rip), %rsi      # 0x1e697
leaq 0x200(%rsp), %rdx
xorl %eax, %eax
callq 0x2160
leaq 0xaa10(%rip), %rdi      # 0x1e6cf
pushq $0xa
popq %rsi
pushq $0x1
popq %rdx
movq %r15, %rcx
callq 0x2210
movl 0xa0(%rbx), %r15d
movq %r12, %r13
movl %r12d, %eax
movq %rax, 0x10(%rsp)
cmpl 0xa4(%rbx), %r15d
jge 0x13de9
movl 0x98(%rbx), %ebp
cmpl 0x9c(%rbx), %ebp
jge 0x13de1
movl 0x90(%rbx), %r12d
cmpl 0x94(%rbx), %r12d
jge 0x13dda
movl 0x34(%rbx), %r8d
movl 0x38(%rbx), %ecx
movl %r15d, %edi
movl %ebp, %esi
movl %r12d, %edx
callq 0x75ec
cmpl $0x9, %r13d
ja 0x13dba
cltq
imulq $0x88, %rax, %rcx
leaq (%r14,%rcx), %rax
leaq (%r14,%rcx), %rdi
addq $0x10, %rdi
leaq 0x9e9c(%rip), %rdx      # 0x1dbe8
movq 0x10(%rsp), %rcx
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movsd (%rdi), %xmm0
jmp 0x13db5
movq 0x18(%rsp), %rax
movsd 0x40(%rax), %xmm0
callq 0x7437
jmp 0x13db5
cvtsi2sdl 0xc(%rax), %xmm0
jmp 0x13db5
movsd 0x20(%rax), %xmm0
jmp 0x13d92
movsd 0x28(%rax), %xmm0
jmp 0x13d92
cvtsi2sdl 0x4(%rax), %xmm0
jmp 0x13db5
movsd 0x18(%rax), %xmm0
divsd 0x10(%rax), %xmm0
jmp 0x13db5
movq 0x18(%rsp), %rax
movsd 0x50(%rax), %xmm0
callq 0x752b
jmp 0x13db5
cvtsi2sdl (%rax), %xmm0
jmp 0x13db5
cvtsi2sdl 0x8(%rax), %xmm0
movsd %xmm0, (%rsp)
movq 0x8(%rsp), %rdi
leaq 0xa984(%rip), %rsi      # 0x1e74a
movsd (%rsp), %xmm0
movb $0x1, %al
callq 0x2160
incl %r12d
jmp 0x13d05
incl %ebp
jmp 0x13cf2
incl %r15d
jmp 0x13cdf
leaq 0xa8ea(%rip), %rdi      # 0x1e6da
pushq $0x16
popq %rsi
pushq $0x1
popq %rdx
movq 0x8(%rsp), %rcx
callq 0x2210
movq %r13, %r12
incq %r12
jmp 0x13c7a
leaq 0xa92e(%rip), %r15      # 0x1e740
xorl %ecx, %ecx
movslq 0x308(%rsp), %rax
cmpq %rax, %rcx
jge 0x13f25
movq %rcx, (%rsp)
imulq $0xa, %rcx, %rcx
leaq 0x30c(%rsp), %rax
addq %rax, %rcx
movq 0x8(%rsp), %r12
movq %r12, %rdi
leaq 0xa8aa(%rip), %rsi      # 0x1e6f1
leaq 0x200(%rsp), %rdx
xorl %eax, %eax
callq 0x2160
leaq 0xa872(%rip), %rdi      # 0x1e6cf
pushq $0xa
popq %rsi
pushq $0x1
popq %rdx
movq %r12, %rcx
callq 0x2210
movl 0xa0(%rbx), %r12d
cmpl 0xa4(%rbx), %r12d
jge 0x13f02
movl 0x98(%rbx), %r13d
cmpl 0x9c(%rbx), %r13d
jge 0x13efa
movl 0x90(%rbx), %ebp
cmpl 0x94(%rbx), %ebp
jge 0x13ef5
movl 0x34(%rbx), %r8d
movl 0x38(%rbx), %ecx
movl %r12d, %edi
movl %r13d, %esi
movl %ebp, %edx
callq 0x75ec
cltq
imulq $0x88, %rax, %rax
movsd 0x10(%r14,%rax), %xmm3
movsd 0x18(%r14,%rax), %xmm0
divsd %xmm3, %xmm0
movsd 0x20(%r14,%rax), %xmm1
divsd %xmm3, %xmm1
movsd 0x28(%r14,%rax), %xmm2
divsd %xmm3, %xmm2
movq 0x8(%rsp), %rdi
movq %r15, %rsi
movb $0x3, %al
callq 0x2160
incl %ebp
jmp 0x13e95
incl %r13d
jmp 0x13e86
incl %r12d
jmp 0x13e72
leaq 0xa7d1(%rip), %rdi      # 0x1e6da
pushq $0x16
popq %rsi
pushq $0x1
popq %rdx
movq 0x8(%rsp), %rcx
callq 0x2210
movq (%rsp), %rcx
incq %rcx
jmp 0x13e14
leaq 0xa824(%rip), %rdi      # 0x1e750
pushq $0x13
popq %rsi
pushq $0x1
popq %r15
movq %r15, %rdx
movq 0x8(%rsp), %r14
movq %r14, %rcx
callq 0x2210
leaq 0xa81a(%rip), %rdi      # 0x1e764
pushq $0x11
popq %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x2210
leaq 0xa817(%rip), %rdi      # 0x1e776
pushq $0x12
popq %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x2210
leaq 0xa815(%rip), %rdi      # 0x1e789
pushq $0xf
popq %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x2210
leaq 0xa810(%rip), %rsi      # 0x1e799
movq %r14, %rdi
leaq 0x200(%rsp), %rdx
xorl %eax, %eax
callq 0x2160
leaq 0xa72d(%rip), %rdi      # 0x1e6cf
pushq $0xa
popq %rsi
movq %r15, %rdx
movq %r14, %rcx
callq 0x2210
movl 0xa0(%rbx), %ebp
leaq 0xa783(%rip), %r15      # 0x1e740
cmpl 0xa4(%rbx), %ebp
jge 0x14070
movl 0x98(%rbx), %r12d
cmpl 0x9c(%rbx), %r12d
jge 0x14069
movl 0x90(%rbx), %r13d
cmpl 0x94(%rbx), %r13d
jge 0x14061
movsd 0x3f0(%rbx), %xmm0
movsd 0x58(%rbx), %xmm1
movl 0x40(%rbx), %esi
movl %r13d, %edi
callq 0x7651
movsd %xmm0, (%rsp)
movsd 0x400(%rbx), %xmm0
movsd 0x60(%rbx), %xmm1
movl 0x44(%rbx), %esi
movl %r12d, %edi
callq 0x7651
movsd %xmm0, 0x10(%rsp)
movsd 0x410(%rbx), %xmm0
movsd 0x68(%rbx), %xmm1
movl 0x48(%rbx), %esi
movl %ebp, %edi
callq 0x7651
movaps %xmm0, %xmm2
movq 0x8(%rsp), %rdi
movq %r15, %rsi
movsd (%rsp), %xmm0
movsd 0x10(%rsp), %xmm1
movb $0x3, %al
callq 0x2160
incl %r13d
jmp 0x13fe4
incl %r12d
jmp 0x13fd0
incl %ebp
jmp 0x13fbd
leaq 0xa663(%rip), %rdi      # 0x1e6da
pushq $0x16
popq %rsi
pushq $0x1
popq %rbx
movq %rbx, %rdx
movq 0x8(%rsp), %r14
movq %r14, %rcx
callq 0x2210
leaq 0xa758(%rip), %rdi      # 0x1e7ec
pushq $0x10
popq %rsi
movq %rbx, %rdx
movq %r14, %rcx
callq 0x2210
leaq 0xa754(%rip), %rdi      # 0x1e7fd
pushq $0xd
popq %rsi
movq %rbx, %rdx
movq %r14, %rcx
callq 0x2210
leaq 0xa74d(%rip), %rdi      # 0x1e80b
pushq $0x14
popq %rsi
movq %rbx, %rdx
movq %r14, %rcx
callq 0x2210
leaq 0xa498(%rip), %rdi      # 0x1e56b
pushq $0xb
popq %rsi
movq %rbx, %rdx
movq %r14, %rcx
callq 0x2210
movq %r14, %rdi
callq 0x2080
addq $0x318, %rsp            # imm = 0x318
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq