My Project
programmer's documentation
|
#include "cs_defs.h"
#include <assert.h>
#include <errno.h>
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <math.h>
#include <float.h>
#include "bft_error.h"
#include "bft_mem.h"
#include "bft_printf.h"
#include "cs_blas.h"
#include "cs_halo.h"
#include "cs_halo_perio.h"
#include "cs_log.h"
#include "cs_mesh.h"
#include "cs_field.h"
#include "cs_field_pointer.h"
#include "cs_gradient.h"
#include "cs_gradient_perio.h"
#include "cs_ext_neighborhood.h"
#include "cs_mesh_quantities.h"
#include "cs_parameters.h"
#include "cs_prototypes.h"
#include "cs_timer.h"
#include "cs_divergence.h"
Functions | |
void | CS_PROCF (inimav, INIMAV) const |
void | CS_PROCF (divmas, DIVMAS) const |
void | CS_PROCF (divmat, DIVMAT) const |
void | CS_PROCF (projts, PROJTS) const |
void | CS_PROCF (projtv, PROJTV) const |
void | CS_PROCF (divrij, DIVRIJ) const |
void | cs_mass_flux (const cs_mesh_t *m, cs_mesh_quantities_t *fvq, int f_id, int itypfl, int iflmb0, int init, int inc, int imrgra, int nswrgu, int imligu, int iwarnu, double epsrgu, double climgu, const cs_real_t rom[], const cs_real_t romb[], const cs_real_3_t vel[], const cs_real_3_t coefav[], const cs_real_33_t coefbv[], cs_real_t *restrict i_massflux, cs_real_t *restrict b_massflux) |
Add to the mass flux . More... | |
void | cs_tensor_face_flux (const cs_mesh_t *m, cs_mesh_quantities_t *fvq, int f_id, int itypfl, int iflmb0, int init, int inc, int imrgra, int nswrgu, int imligu, int iwarnu, double epsrgu, double climgu, const cs_real_t c_rho[], const cs_real_t b_rho[], const cs_real_6_t c_var[], const cs_real_6_t coefav[], const cs_real_66_t coefbv[], cs_real_3_t *restrict i_massflux, cs_real_3_t *restrict b_massflux) |
Add to a flux. More... | |
void | cs_divergence (const cs_mesh_t *m, int init, const cs_real_t i_massflux[], const cs_real_t b_massflux[], cs_real_t *restrict diverg) |
Add the integrated mass flux on the cells. More... | |
void | cs_tensor_divergence (const cs_mesh_t *m, int init, const cs_real_3_t i_massflux[], const cs_real_3_t b_massflux[], cs_real_3_t *restrict diverg) |
Add the integrated mass flux on the cells for a tensor variable. More... | |
void | cs_ext_force_flux (const cs_mesh_t *m, cs_mesh_quantities_t *fvq, int init, int nswrgu, const cs_real_3_t frcxt[], const cs_real_t cofbfp[], cs_real_t *restrict i_massflux, cs_real_t *restrict b_massflux, const cs_real_t i_visc[], const cs_real_t b_visc[], const cs_real_t viselx[], const cs_real_t visely[], const cs_real_t viselz[]) |
Project the external source terms to the faces in coherence with cs_face_diffusion_scalar for the improved hydrostatic pressure algorithm (iphydr=1). More... | |
void | cs_ext_force_anisotropic_flux (const cs_mesh_t *m, cs_mesh_quantities_t *fvq, int init, int nswrgp, int ircflp, const cs_real_3_t frcxt[], const cs_real_t cofbfp[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_6_t viscel[], const cs_real_2_t weighf[], cs_real_t *restrict i_massflux, cs_real_t *restrict b_massflux) |
Project the external source terms to the faces in coherence with cs_face_anisotropic_diffusion_scalar for the improved hydrostatic pressure algorithm (iphydr=1). More... | |
void cs_divergence | ( | const cs_mesh_t * | m, |
int | init, | ||
const cs_real_t | i_massflux[], | ||
const cs_real_t | b_massflux[], | ||
cs_real_t *restrict | diverg | ||
) |
Add the integrated mass flux on the cells.
[in] | m | pointer to mesh |
[in] | init | indicator
|
[in] | i_massflux | mass flux at interior faces |
[in] | b_massflux | mass flux at boundary faces |
[in,out] | diverg | mass flux divergence |
void cs_ext_force_anisotropic_flux | ( | const cs_mesh_t * | m, |
cs_mesh_quantities_t * | fvq, | ||
int | init, | ||
int | nswrgp, | ||
int | ircflp, | ||
const cs_real_3_t | frcxt[], | ||
const cs_real_t | cofbfp[], | ||
const cs_real_t | i_visc[], | ||
const cs_real_t | b_visc[], | ||
cs_real_6_t | viscel[], | ||
const cs_real_2_t | weighf[], | ||
cs_real_t *restrict | i_massflux, | ||
cs_real_t *restrict | b_massflux | ||
) |
Project the external source terms to the faces in coherence with cs_face_anisotropic_diffusion_scalar for the improved hydrostatic pressure algorithm (iphydr=1).
[in] | m | pointer to mesh |
[in] | fvq | pointer to finite volume quantities |
[in] | init | indicator
|
[in] | nswrgp | number of reconstruction sweeps for the gradients |
[in] | ircflp | indicator
|
[in] | frcxt | body force creating the hydrostatic pressure |
[in] | cofbfp | boundary condition array for the diffusion of the variable (implicit part) |
[in] | i_visc | at interior faces for the r.h.s. |
[in] | b_visc | at border faces for the r.h.s. |
[in] | viscel | symmetric cell tensor |
[in] | weighf | internal face weight between cells i j in case of tensor diffusion |
[in,out] | i_massflux | mass flux at interior faces |
[in,out] | b_massflux | mass flux at boundary faces |
void cs_ext_force_flux | ( | const cs_mesh_t * | m, |
cs_mesh_quantities_t * | fvq, | ||
int | init, | ||
int | nswrgu, | ||
const cs_real_3_t | frcxt[], | ||
const cs_real_t | cofbfp[], | ||
cs_real_t *restrict | i_massflux, | ||
cs_real_t *restrict | b_massflux, | ||
const cs_real_t | i_visc[], | ||
const cs_real_t | b_visc[], | ||
const cs_real_t | viselx[], | ||
const cs_real_t | visely[], | ||
const cs_real_t | viselz[] | ||
) |
Project the external source terms to the faces in coherence with cs_face_diffusion_scalar for the improved hydrostatic pressure algorithm (iphydr=1).
[in] | m | pointer to mesh |
[in] | fvq | pointer to finite volume quantities |
[in] | init | indicator
|
[in] | nswrgu | number of reconstruction sweeps for the gradients |
[in] | frcxt | body force creating the hydrostatic pressure |
[in] | cofbfp | boundary condition array for the diffusion of the variable (implicit part) |
[in,out] | i_massflux | mass flux at interior faces |
[in,out] | b_massflux | mass flux at boundary faces |
[in] | i_visc | at interior faces for the r.h.s. |
[in] | b_visc | at border faces for the r.h.s. |
[in] | viselx | viscosity by cell, dir x |
[in] | visely | viscosity by cell, dir y |
[in] | viselz | viscosity by cell, dir z |
void cs_mass_flux | ( | const cs_mesh_t * | m, |
cs_mesh_quantities_t * | fvq, | ||
int | f_id, | ||
int | itypfl, | ||
int | iflmb0, | ||
int | init, | ||
int | inc, | ||
int | imrgra, | ||
int | nswrgu, | ||
int | imligu, | ||
int | iwarnu, | ||
double | epsrgu, | ||
double | climgu, | ||
const cs_real_t | rom[], | ||
const cs_real_t | romb[], | ||
const cs_real_3_t | vel[], | ||
const cs_real_3_t | coefav[], | ||
const cs_real_33_t | coefbv[], | ||
cs_real_t *restrict | i_massflux, | ||
cs_real_t *restrict | b_massflux | ||
) |
Add to the mass flux .
For the reconstruction, is computed with the following approximated boundary conditions:
For the mass flux at the boundary we have:
The last equation uses some approximations detailed in the theory guide.
[in] | m | pointer to mesh |
[in] | fvq | pointer to finite volume quantities |
[in] | f_id | field id (or -1) |
[in] | itypfl | indicator (take rho into account or not)
|
[in] | iflmb0 | the mass flux is set to 0 on symmetries if = 1 |
[in] | init | the mass flux is initialized to 0 if > 0 |
[in] | inc | indicator
|
[in] | imrgra | indicator
|
[in] | nswrgu | number of sweeps for the reconstruction of the gradients |
[in] | imligu | clipping gradient method
|
[in] | iwarnu | verbosity |
[in] | epsrgu | relative precision for the gradient reconstruction |
[in] | climgu | clipping coefficient for the computation of the gradient |
[in] | rom | cell density |
[in] | romb | density at boundary faces |
[in] | vel | vector variable |
[in] | coefav | boundary condition array for the variable (explicit part - vector array ) |
[in] | coefbv | boundary condition array for the variable (implicit part - 3x3 tensor array) |
[in,out] | i_massflux | mass flux at interior faces |
[in,out] | b_massflux | mass flux at boundary faces |
void CS_PROCF | ( | divmas | , |
DIVMAS | |||
) | const |
void CS_PROCF | ( | divmat | , |
DIVMAT | |||
) | const |
void CS_PROCF | ( | divrij | , |
DIVRIJ | |||
) | const |
void CS_PROCF | ( | inimav | , |
INIMAV | |||
) | const |
void CS_PROCF | ( | projts | , |
PROJTS | |||
) | const |
void CS_PROCF | ( | projtv | , |
PROJTV | |||
) | const |
void cs_tensor_divergence | ( | const cs_mesh_t * | m, |
int | init, | ||
const cs_real_3_t | i_massflux[], | ||
const cs_real_3_t | b_massflux[], | ||
cs_real_3_t *restrict | diverg | ||
) |
Add the integrated mass flux on the cells for a tensor variable.
[in] | m | pointer to mesh |
[in] | init | indicator
|
[in] | i_massflux | mass flux vector at interior faces |
[in] | b_massflux | mass flux vector at boundary faces |
[in,out] | diverg | mass flux divergence vector |
void cs_tensor_face_flux | ( | const cs_mesh_t * | m, |
cs_mesh_quantities_t * | fvq, | ||
int | f_id, | ||
int | itypfl, | ||
int | iflmb0, | ||
int | init, | ||
int | inc, | ||
int | imrgra, | ||
int | nswrgu, | ||
int | imligu, | ||
int | iwarnu, | ||
double | epsrgu, | ||
double | climgu, | ||
const cs_real_t | c_rho[], | ||
const cs_real_t | b_rho[], | ||
const cs_real_6_t | c_var[], | ||
const cs_real_6_t | coefav[], | ||
const cs_real_66_t | coefbv[], | ||
cs_real_3_t *restrict | i_massflux, | ||
cs_real_3_t *restrict | b_massflux | ||
) |
Add to a flux.
[in] | m | pointer to mesh |
[in] | fvq | pointer to finite volume quantities |
[in] | f_id | field id (or -1) |
[in] | itypfl | indicator (take rho into account or not)
|
[in] | iflmb0 | the mass flux is set to 0 on symmetries if = 1 |
[in] | init | the mass flux is initialized to 0 if > 0 |
[in] | inc | indicator
|
[in] | imrgra | indicator
|
[in] | nswrgu | number of sweeps for the reconstruction of the gradients |
[in] | imligu | clipping gradient method
|
[in] | iwarnu | verbosity |
[in] | epsrgu | relative precision for the gradient reconstruction |
[in] | climgu | clipping coefficient for the computation of the gradient |
[in] | c_rho | cell density |
[in] | b_rho | density at boundary faces |
[in] | c_var | variable |
[in] | coefav | boundary condition array for the variable (explicit part - symmetric tensor array) |
[in] | coefbv | boundary condition array for the variable (implicit part - 6x6 symmetric tensor array) |
[in,out] | i_massflux | mass flux at interior faces |
[in,out] | b_massflux | mass flux at boundary faces |