|
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_field.h"#include "cs_halo.h"#include "cs_halo_perio.h"#include "cs_log.h"#include "cs_mesh.h"#include "cs_ext_neighborhood.h"#include "cs_mesh_quantities.h"#include "cs_prototypes.h"#include "cs_timer.h"#include "cs_gradient.h"#include "cs_gradient_perio.h"
Functions | |
| void | permas (const cs_int_t *iappel, cs_real_t rom[]) |
| void | perinr (const cs_int_t *const imrgra, const cs_int_t *const iwarnp, const cs_real_t *const epsrgp, const cs_real_t *const extrap) |
| void | pering (const cs_int_t *f_id, cs_int_t *tr_dim, cs_real_t dpdx[], cs_real_t dpdy[], cs_real_t dpdz[]) |
| void | cs_gradient_perio_initialize (void) |
| Initialize gradient rotational periodicity computation API. More... | |
| void | cs_gradient_perio_finalize (void) |
| Finalize gradient rotational periodicity computation API. More... | |
| void | cs_gradient_perio_update_mesh (void) |
| Update gradient rotational periodicity computation API in case of mesh modification. More... | |
| void | cs_gradient_perio_init_rij (const cs_field_t *f, int *tr_dim, cs_real_3_t grad[]) |
| Initialize ghost cell values for Reynolds stress tensor gradient. More... | |
| void | cs_gradient_perio_process_rij (const cs_int_t *f_id, cs_real_3_t grad[]) |
| Process grad buffers in case of rotation on Reynolds stress tensor. More... | |
Specific functions for gradient reconstruction of the Reynolds stress tensor in the case of periodicity of rotation.
| void cs_gradient_perio_finalize | ( | void | ) |
Finalize gradient rotational periodicity computation API.
| void cs_gradient_perio_init_rij | ( | const cs_field_t * | f, |
| int * | tr_dim, | ||
| cs_real_3_t | grad[] | ||
| ) |
Initialize ghost cell values for Reynolds stress tensor gradient.
We retrieve the gradient given by perinr (phyvar) for the Reynolds stress tensor in a buffer on ghost cells. then we define dpdx, dpdy and dpdz gradient (1 -> n_cells_with_ghosts).
We can't implicitly take into account rotation of a gradient of a tensor variable because we have to know all components.
We set idimtr to 2 for the Reynolds stress tensor.
We assume that is correct to treat periodicities implicitly for the other variables when reconstructing gradients.
| [in] | f | pointer to field |
| [out] | tr_dim | 2 for tensor (Rij) in case of rotation, 0 otherwise |
| [in,out] | grad | gradient of field |
| void cs_gradient_perio_initialize | ( | void | ) |
Initialize gradient rotational periodicity computation API.
| void cs_gradient_perio_process_rij | ( | const cs_int_t * | f_id, |
| cs_real_3_t | grad[] | ||
| ) |
Process grad buffers in case of rotation on Reynolds stress tensor.
We retrieve the gradient given by cs_gradient_perio_init_rij (phyvar) for the Reynolds stress tensor in a buffer on ghost cells. Then we define grad gradient (1 -> n_cells_with_ghosts).
We can't implicitly take into account rotation of a gradient of a tensor variable because we have to know all components.
We assume that is correct to treat periodicities implicitly for the other variables when reconstructing gradients.
| [in] | f_id | field index |
| [in,out] | grad | gradient of field |
size of _drdxyz and _wdrdxy = n_ghost_cells*6*3
| void cs_gradient_perio_update_mesh | ( | void | ) |
Update gradient rotational periodicity computation API in case of mesh modification.
| void pering | ( | const cs_int_t * | f_id, |
| cs_int_t * | tr_dim, | ||
| cs_real_t | dpdx[], | ||
| cs_real_t | dpdy[], | ||
| cs_real_t | dpdz[] | ||
| ) |
| void perinr | ( | const cs_int_t *const | imrgra, |
| const cs_int_t *const | iwarnp, | ||
| const cs_real_t *const | epsrgp, | ||
| const cs_real_t *const | extrap | ||
| ) |
1.8.7