#include "cs_defs.h"Go to the source code of this file.
Functions | |
| int | cs_mesh_cartesian_get_number_of_meshes (void) |
| Return number of structured meshes to build. | |
| cs_mesh_cartesian_params_t * | cs_mesh_cartesian_by_id (const int id) |
| Return pointer to cartesian mesh parameters structure. | |
| cs_mesh_cartesian_params_t * | cs_mesh_cartesian_by_name_try (const char *name) |
| Get function for structured mesh based on its name. | |
| cs_mesh_cartesian_params_t * | cs_mesh_cartesian_by_name (const char *name) |
| Get function for structured mesh based on its name. | |
| cs_mesh_cartesian_params_t * | cs_mesh_cartesian_create (const char *name) |
| Create cartesian mesh structure. | |
| int | cs_mesh_cartesian_define_simple (const char *name, int ncells[3], cs_real_t xyz[6]) |
| Define a simple cartesian mesh with a constant step in all directions. | |
| void | cs_mesh_cartesian_define_dir_user (cs_mesh_cartesian_params_t *mp, int idir, int ncells, cs_real_t vtx_coord[]) |
| Define directions parameters based on a user input. | |
| void | cs_mesh_cartesian_define_dir_geom_by_part (cs_mesh_cartesian_params_t *mp, int idir, int n_parts, const cs_real_t part_coords[], const cs_lnum_t n_part_cells[], const cs_real_t amp_factors[]) |
| Define direction parameters based on a piecewise definition. Each part follows a geometric (or uniform) sequence. To get the uniform sequence, set the amplification factor to 1 in the wanted part. | |
| void | cs_mesh_cartesian_define_from_csv (const char *name, const char *csv_file_name) |
| Define a simple cartesian mesh based on a CSV file. CSV file needs to contain : (1) First line which is empty or contains a header (2) Second line containing number of vertices per direction: format is 'nx;ny;nz' (3) Third line is empty or contains a header (4) Fourth line and onwards contains vertices coordinates for each direction. Format is "X1[i];X2[i];X3[i]" for index i. If current vertex index is beyond max value for a given direction, an empty value is expected. For example, if for index 'j' the first direction is empty, format is : ';X2[j];X3[j]'. | |
| void | cs_mesh_cartesian_define_dir_params (cs_mesh_cartesian_params_t *mp, int idim, cs_mesh_cartesian_law_t law, int ncells, cs_real_t smin, cs_real_t smax, cs_real_t progression) |
| Define parameters for a given direction. | |
| int | cs_mesh_cartesian_need_build (void) |
| Indicate if a cartesian mesh is to be built. | |
| const char * | cs_mesh_cartesian_get_name (int id) |
| Get name of structured mesh. | |
| int | cs_mesh_cartesian_get_gc_id_shift (int id) |
| Get group class id shift of cartesian mesh. | |
| void | cs_mesh_cartesian_set_gc_id_shift (int id, int shift) |
| Set group class id shift of cartesian mesh. | |
| cs_gnum_t | cs_mesh_cartesian_get_n_g_cells (int id) |
| Get global number of cells of a cartesian mesh. | |
| cs_gnum_t | cs_mesh_cartesian_get_n_g_faces (int id) |
| Get global number of faces of a cartesian mesh. | |
| cs_gnum_t | cs_mesh_cartesian_get_n_g_vtx (int id) |
| Get global number of vertices of a cartesian mesh. | |
| int | cs_mesh_cartesian_get_ncells (int id, int idim) |
| Get number of cells in a given direction. | |
| void | cs_mesh_cartesian_block_connectivity (int id, cs_mesh_t *m, cs_mesh_builder_t *mb, long echo) |
| Build unstructured connectivity needed for partitionning. | |
| void | cs_mesh_cartesian_finalize_definition (void) |
| Compute all global values for meshes. | |
| void | cs_mesh_cartesian_params_destroy (void) |
| Destroy cartesian mesh parameters. | |
| void | cs_mesh_cartesian_set_max_number_of_blocks (int n_blocks) |
| Set maximum number of cartesian blocks (by default is set to None) | |
| void cs_mesh_cartesian_block_connectivity | ( | int | id, |
| cs_mesh_t * | m, | ||
| cs_mesh_builder_t * | mb, | ||
| long | echo ) |
Build unstructured connectivity needed for partitionning.
| [in] | id | Id of the cartesian mesh |
| [in] | m | pointer to cs_mesh_t structure |
| [in] | mb | pointer to cs_mesh_builder_t structure |
| [in] | echo | verbosity flag |
| cs_mesh_cartesian_params_t * cs_mesh_cartesian_by_id | ( | const int | id | ) |
Return pointer to cartesian mesh parameters structure.
| [in] | id | Id of the cartesian mesh |
| cs_mesh_cartesian_params_t * cs_mesh_cartesian_by_name | ( | const char * | name | ) |
Get function for structured mesh based on its name.
| [in] | name | Name of mesh |
| cs_mesh_cartesian_params_t * cs_mesh_cartesian_by_name_try | ( | const char * | name | ) |
Get function for structured mesh based on its name.
| [in] | name | Name of mesh |
| cs_mesh_cartesian_params_t * cs_mesh_cartesian_create | ( | const char * | name | ) |
Create cartesian mesh structure.
| [in] | name | Name of mesh to create |
| void cs_mesh_cartesian_define_dir_geom_by_part | ( | cs_mesh_cartesian_params_t * | mp, |
| int | idir, | ||
| int | n_parts, | ||
| const cs_real_t | part_coords[], | ||
| const cs_lnum_t | n_part_cells[], | ||
| const cs_real_t | amp_factors[] ) |
Define direction parameters based on a piecewise definition. Each part follows a geometric (or uniform) sequence. To get the uniform sequence, set the amplification factor to 1 in the wanted part.
A direction is split in several parts. Each part contains a number of cells, its starting and ending position (stored in a compact way) inside part_coords, the amplification factor (f) between the first and last cell size of each part. Notice that if f = 1, this leads to a uniform refinement. If f > 1, (resp f < 1) this leads to a growing (resp. decreasing) geometric progression of the cell size when moving along the direction of increasing coordinates.
| [in] | mp | Pointer to mesh parameters |
| [in] | idir | Direction index. 0->X, 1->Y, 2->Z |
| [in] | n_parts | Number of parts to define the direction |
| [in] | part_coords | Position delimiting each part (size = n_parts + 1) |
| [in] | n_part_cells | Number of cells in each part (size = n_parts) |
| [in] | amp_factors | Amplification factor in each part (size = n_parts) |
| void cs_mesh_cartesian_define_dir_params | ( | cs_mesh_cartesian_params_t * | mp, |
| int | idim, | ||
| cs_mesh_cartesian_law_t | law, | ||
| int | ncells, | ||
| cs_real_t | smin, | ||
| cs_real_t | smax, | ||
| cs_real_t | progression ) |
Define parameters for a given direction.
| [in] | mp | Pointer to mesh parameters |
| [in] | idim | Geometrical direction: 0->X, 1->Y, 2->Z |
| [in] | law | 1D discretization law: constant, geometric or parabolic |
| [in] | ncells | Number of cells for this direction |
| [in] | smin | Min coordinate value for this direction |
| [in] | smax | Max coordinate value for this direction |
| [in] | progression | Progression value, only used for geometric or parabolic laws. |
| void cs_mesh_cartesian_define_dir_user | ( | cs_mesh_cartesian_params_t * | mp, |
| int | idir, | ||
| int | ncells, | ||
| cs_real_t | vtx_coord[] ) |
Define directions parameters based on a user input.
| [in] | mp | Pointer to mesh parameters |
| [in] | idir | Direction index. 0->X, 1->Y, 2->Z |
| [in] | ncells | Number of cells for the direction |
| [in] | vtx_coord | Array of size ncells+1 containing 1D coordinate values for vertices on the given direction |
| void cs_mesh_cartesian_define_from_csv | ( | const char * | name, |
| const char * | csv_file_name ) |
Define a simple cartesian mesh based on a CSV file. CSV file needs to contain : (1) First line which is empty or contains a header (2) Second line containing number of vertices per direction: format is 'nx;ny;nz' (3) Third line is empty or contains a header (4) Fourth line and onwards contains vertices coordinates for each direction. Format is "X1[i];X2[i];X3[i]" for index i. If current vertex index is beyond max value for a given direction, an empty value is expected. For example, if for index 'j' the first direction is empty, format is : ';X2[j];X3[j]'.
| [in] | name | Name of new mesh |
| [in] | csv_file_name | name of CSV file containing mesh information. |
| int cs_mesh_cartesian_define_simple | ( | const char * | name, |
| int | ncells[3], | ||
| cs_real_t | xyz[6] ) |
Define a simple cartesian mesh with a constant step in all directions.
| [in] | name | Name of mesh to create |
| [in] | ncells | Array of size 3 containing number of cells in each direction |
| [in] | xyz | Array of size 6 containing min values, followed by max values for the three directions. |
| void cs_mesh_cartesian_finalize_definition | ( | void | ) |
Compute all global values for meshes.
| int cs_mesh_cartesian_get_gc_id_shift | ( | int | id | ) |
Get group class id shift of cartesian mesh.
| [in] | id | Id of the cartesian mesh |
| cs_gnum_t cs_mesh_cartesian_get_n_g_cells | ( | int | id | ) |
Get global number of cells of a cartesian mesh.
| [in] | id | Id of the cartesian mesh |
| cs_gnum_t cs_mesh_cartesian_get_n_g_faces | ( | int | id | ) |
Get global number of faces of a cartesian mesh.
| [in] | id | Id of the cartesian mesh |
| cs_gnum_t cs_mesh_cartesian_get_n_g_vtx | ( | int | id | ) |
Get global number of vertices of a cartesian mesh.
| [in] | id | Id of the cartesian mesh |
| const char * cs_mesh_cartesian_get_name | ( | int | id | ) |
Get name of structured mesh.
| [in] | id | Id of the cartesian mesh |
| int cs_mesh_cartesian_get_ncells | ( | int | id, |
| int | idim ) |
Get number of cells in a given direction.
| [in] | id | Id of the cartesian mesh |
| [in] | idim | Index of direction: 0->X, 1->Y, 2->Z |
| int cs_mesh_cartesian_get_number_of_meshes | ( | void | ) |
Return number of structured meshes to build.
| int cs_mesh_cartesian_need_build | ( | void | ) |
Indicate if a cartesian mesh is to be built.
| void cs_mesh_cartesian_params_destroy | ( | void | ) |
Destroy cartesian mesh parameters.
| void cs_mesh_cartesian_set_gc_id_shift | ( | int | id, |
| int | shift ) |
Set group class id shift of cartesian mesh.
| [in] | id | Id of the cartesian mesh |
| [in] | shift | Value of shift index |
| void cs_mesh_cartesian_set_max_number_of_blocks | ( | int | n_blocks | ) |
Set maximum number of cartesian blocks (by default is set to None)
| [in] | n_blocks | maximum number of cartesian blocks which can be created |