Colored Block LU-SGS time integration method for unstructured grid. More...
#include <stdio.h>#include <omp.h>#include "coloredblusgs.h"#include "flux.h"#include "inverse.h"
Go to the source code of this file.
Functions | |
| void | ns_parallel_pre_blusgs (int neles, int nfvars, int nface, double factor, double *fnorm_vol, double *dt, double *diag, double *fjmat) |
| void | rans_parallel_pre_blusgs (int neles, int nvars, int nfvars, int nface, double factor, double betast, double *fnorm_vol, double *uptsb, double *dt, double *tdiag, double *tjmat, double *dsrc) |
| void | ns_parallel_block_sweep (int n0, int ne, int neles, int nfvars, int nface, int *nei_ele, int *icolor, int *lcolor, double *fnorm_vol, double *rhsb, double *dub, double *diag, double *fjmat) |
| void | rans_parallel_block_sweep (int n0, int ne, int neles, int nvars, int nfvars, int nface, int *nei_ele, int *icolor, int *lcolor, double *fnorm_vol, double *rhsb, double *dub, double *tdiag, double *tjmat) |
| void | parallel_update (int neles, int nvars, double *uptsb, double *dub, double *subres) |
Colored Block LU-SGS time integration method for unstructured grid.
======================================================================================================================
Block LU-SGS time integration method with Multi-coloring algorithm.
Multi-thread computation is enabled using <omp.h> header file.
In contrast to LU-SGS method, Block LU-SGS method uses block operator instead of spectral radius.
rans_parallel_pre_blusgs function right after the ns_parallel_pre_blusgs function. block_sweep function instead of block_lower_sweep or block_upper_sweep in blusgs.c. n0 and ne arguments must be input in appropriate order.Definition in file coloredblusgs.c.
| void ns_parallel_block_sweep | ( | int | n0, |
| int | ne, | ||
| int | neles, | ||
| int | nfvars, | ||
| int | nface, | ||
| int * | nei_ele, | ||
| int * | icolor, | ||
| int * | lcolor, | ||
| double * | fnorm_vol, | ||
| double * | rhsb, | ||
| double * | dub, | ||
| double * | diag, | ||
| double * | fjmat | ||
| ) |
Lower/Upper sweep of Block LU-SGS with multi-coloring algorithm.
This function is used for Euler or Navier-Stokes equations, which has the same flux shape.
solution array is stored in dub array.
fjmat is NOT identical with ns_serial_pre_blusgs function. Definition at line 155 of file coloredblusgs.c.

| void ns_parallel_pre_blusgs | ( | int | neles, |
| int | nfvars, | ||
| int | nface, | ||
| double | factor, | ||
| double * | fnorm_vol, | ||
| double * | dt, | ||
| double * | diag, | ||
| double * | fjmat | ||
| ) |
This function computes diagonal matrices of the implicit operator using multi-thread computing.
In Block LU-SGS method, implicit operator is approximated with block operator. Diagonal matrices is composed of block operator matrix, which size is n-by-n. n is the number of conservative variables in Navier-Stokes equations.
Definition at line 38 of file coloredblusgs.c.

| void parallel_update | ( | int | neles, |
| int | nvars, | ||
| double * | uptsb, | ||
| double * | dub, | ||
| double * | subres | ||
| ) |
solution array is updated by adding \(\Delta Q\).
Definition at line 275 of file coloredblusgs.c.

| void rans_parallel_block_sweep | ( | int | n0, |
| int | ne, | ||
| int | neles, | ||
| int | nvars, | ||
| int | nfvars, | ||
| int | nface, | ||
| int * | nei_ele, | ||
| int * | icolor, | ||
| int * | lcolor, | ||
| double * | fnorm_vol, | ||
| double * | rhsb, | ||
| double * | dub, | ||
| double * | tdiag, | ||
| double * | tjmat | ||
| ) |
Lower/Upper sweep of Block LU-SGS with multi-coloring algorithm.
This function is used for RANS equations. solution array is stored in dub array.
tjmat is NOT identical with rans_parallel_pre_blusgs function. Definition at line 216 of file coloredblusgs.c.

| void rans_parallel_pre_blusgs | ( | int | neles, |
| int | nvars, | ||
| int | nfvars, | ||
| int | nface, | ||
| double | factor, | ||
| double | betast, | ||
| double * | fnorm_vol, | ||
| double * | uptsb, | ||
| double * | dt, | ||
| double * | tdiag, | ||
| double * | tjmat, | ||
| double * | dsrc | ||
| ) |
This function computes diagonal matrices of the implicit operator of RANS equations. In Block LU-SGS method, implicit operator is approximated with block operator. Diagonal matrices is composed of block operator matrix, which size is n-by-n. n is the number of turbulent variables in RANS equations.
Definition at line 88 of file coloredblusgs.c.
