|
programmer's documentation
|
#include "cs_defs.h"#include <stdarg.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>#include <math.h>#include <mpi.h>#include <ple_locator.h>#include "bft_mem.h"#include "bft_error.h"#include "bft_printf.h"#include "cs_base.h"#include "cs_flag_check.h"#include "cs_log.h"#include "cs_map.h"#include "cs_mesh.h"#include "cs_mesh_quantities.h"#include "cs_parall.h"#include "cs_parameters.h"#include "cs_volume_zone.h"
Functions | |
| void | cs_volume_zone_initialize (void) |
| Initialize volume zone structures. More... | |
| void | cs_volume_zone_finalize (void) |
| Free all volume zone structures. More... | |
| int | cs_volume_zone_n_zones (void) |
| Return number of volume zones defined. More... | |
| int | cs_volume_zone_n_zones_time_varying (void) |
| Return number of volume zones which may vary in time. More... | |
| void | cs_volume_zone_build_all (bool mesh_modified) |
| Update association of volume zones with a mesh. More... | |
| int | cs_volume_zone_define (const char *name, const char *criteria, int type_flag) |
| Define a new volume zone using a selection criteria string. More... | |
| int | cs_volume_zone_define_by_func (const char *name, cs_mesh_location_select_t *func, void *input, int type_flag) |
| Define a new mesh location with an associated selection function. More... | |
| const cs_zone_t * | cs_volume_zone_by_id (int id) |
| Return a pointer to a volume zone based on its id. More... | |
| const cs_zone_t * | cs_volume_zone_by_name (const char *name) |
| Return a pointer to a volume zone based on its name if present. More... | |
| const cs_zone_t * | cs_volume_zone_by_name_try (const char *name) |
| Return a pointer to a volume zone based on its name if present. More... | |
| void | cs_volume_zone_set_type (int id, int type_flag) |
| Set type flag for a given volume zone. More... | |
| void | cs_volume_zone_set_time_varying (int id, bool time_varying) |
| Set time varying behavior for a given volume zone. More... | |
| void | cs_volume_zone_set_overlay (int id, bool allow_overlay) |
| Set overlay behavior for a given volume zone. More... | |
| const int * | cs_volume_zone_cell_zone_id (void) |
| Return pointer to zone id associated with each cell. More... | |
| void | cs_volume_zone_log_info (const cs_zone_t *z) |
| Print info relative to a given volume zone to log file. More... | |
| void | cs_volume_zone_log_setup (void) |
| Log setup information relative to defined volume zones. More... | |
| int | cs_volume_zone_n_type_zones (int type_flag) |
| Return number of volume zones associated with a given zone flag. More... | |
| cs_lnum_t | cs_volume_zone_n_type_cells (int type_flag) |
| Return number of volume zone cells associated with a given zone flag. More... | |
| void | cs_volume_zone_select_type_cells (int type_flag, cs_lnum_t cell_ids[]) |
| Select cells associated with volume zones of a given type. More... | |
| void | cs_volume_zone_print_info (void) |
| Print volume zones information to listing file. More... | |
Volume zone handling.
| void cs_volume_zone_build_all | ( | bool | mesh_modified | ) |
Update association of volume zones with a mesh.
For time-varying zones, the associated mesh location is updated.
| [in] | mesh_modified | indicate if mesh has been modified |
| const cs_zone_t* cs_volume_zone_by_id | ( | int | id | ) |
Return a pointer to a volume zone based on its id.
This function requires that a volume zone of the given id is defined.
| [in] | id | zone id |
| const cs_zone_t* cs_volume_zone_by_name | ( | const char * | name | ) |
Return a pointer to a volume zone based on its name if present.
This function requires that a volume zone of the given name is defined.
| [in] | name | volume zone name |
| const cs_zone_t* cs_volume_zone_by_name_try | ( | const char * | name | ) |
Return a pointer to a volume zone based on its name if present.
If no volume zone of the given name is defined, NULL is returned.
| [in] | name | volume zone name |
| const int* cs_volume_zone_cell_zone_id | ( | void | ) |
Return pointer to zone id associated with each cell.
In case of overlayed zones, the highest zone id associated with a given cell is given.
| int cs_volume_zone_define | ( | const char * | name, |
| const char * | criteria, | ||
| int | type_flag | ||
| ) |
Define a new volume zone using a selection criteria string.
| [in] | name | name of location to define |
| [in] | criteria | selection criteria for associated elements |
| [in] | type_flag | mask of zone category values |
| int cs_volume_zone_define_by_func | ( | const char * | name, |
| cs_mesh_location_select_t * | func, | ||
| void * | input, | ||
| int | type_flag | ||
| ) |
Define a new mesh location with an associated selection function.
So as to define a subset of mesh entities of a given type, a pointer to a selection function may be given.
This requires more programming but allows finer control than selection criteria, as the function has access to the complete mesh structure.
| [in] | name | name of location to define |
| [in] | func | pointer to selection function for associated elements |
| [in,out] | input | pointer to optional (untyped) value or structure. |
| [in] | type_flag | mask of zone category values |
| void cs_volume_zone_finalize | ( | void | ) |
Free all volume zone structures.
| void cs_volume_zone_initialize | ( | void | ) |
Initialize volume zone structures.
This defines a default volume zone. This is the first function of the volume zone handling functions which should be called, and it should only be called after cs_mesh_location_initialize.
| void cs_volume_zone_log_info | ( | const cs_zone_t * | z | ) |
Print info relative to a given volume zone to log file.
| [in] | z | pointer to volume zone structure |
| void cs_volume_zone_log_setup | ( | void | ) |
Log setup information relative to defined volume zones.
| cs_lnum_t cs_volume_zone_n_type_cells | ( | int | type_flag | ) |
Return number of volume zone cells associated with a given zone flag.
Note that in the case of overlapping zones, a cell may be accounted for multiple times.
| [in] | type_flag | flag to compare to zone type |
| int cs_volume_zone_n_type_zones | ( | int | type_flag | ) |
Return number of volume zones associated with a given zone flag.
| [in] | type_flag | flag to compare to zone type |
| int cs_volume_zone_n_zones | ( | void | ) |
Return number of volume zones defined.
| int cs_volume_zone_n_zones_time_varying | ( | void | ) |
Return number of volume zones which may vary in time.
| void cs_volume_zone_print_info | ( | void | ) |
Print volume zones information to listing file.
| void cs_volume_zone_select_type_cells | ( | int | type_flag, |
| cs_lnum_t | cell_ids[] | ||
| ) |
Select cells associated with volume zones of a given type.
Note that in the case of overlapping zones, a cell may be accounted for multiple times.
| [in] | type_flag | flag to compare to zone type |
| [out] | cell_ids | ids of selected cells (size: given by cs_volume_zone_n_type_cells) |
| void cs_volume_zone_set_overlay | ( | int | id, |
| bool | allow_overlay | ||
| ) |
Set overlay behavior for a given volume zone.
| [in] | id | volume zone id |
| [in] | allow_overlay | true if the zone may be overlayed by another |
| void cs_volume_zone_set_time_varying | ( | int | id, |
| bool | time_varying | ||
| ) |
Set time varying behavior for a given volume zone.
| [in] | id | volume zone id |
| [in] | time_varying | true if the zone's definition varies in time |
| void cs_volume_zone_set_type | ( | int | id, |
| int | type_flag | ||
| ) |
Set type flag for a given volume zone.
| [in] | id | volume zone id |
| [in] | type_flag | volume zone type flag |
1.8.13