Materials Utilities
[Utilities]
Classes |
struct | utt_material_data |
struct | utt_material_query_params |
struct | utt_material_query_result |
| Result of the utr_material_query . NOTE: if parameter is required, it have to be set to UTC_MAT_QUERY_RESULT_REQUIRED before executing utr_material_query !. By default all parameters are set to UTC_MAT_QUERY_RESULT_NOT_NEEDED. More...
|
Defines |
#define | UTC_MAT_QUERY_RESULT_NOT_NEEDED -1.0 |
| Used to indicate not needed parameters in utt_material_query_result .
|
#define | UTC_MAT_QUERY_RESULT_REQUIRED -3.0 |
| Used to indicate required parameters in utt_material_query_result .
|
Enumerations |
enum | utt_query_type { QUERY_NODE,
QUERY_POINT
} |
enum | utt_is_fluid { NOT_FLUID = 0,
FLUID = 1
} |
enum | ute_mat_groupID_flag { UTE_GROUP_ID_NOT_ASSIGNED = -1,
UTE_GROUP_ID_DEFAULT_BLOCK = 1
} |
| For the purpose of backward-compatibility and support of auto-assigning to groups, a few additional flags are provided.
More...
|
enum | ute_mat_read_result { UTE_SUCCESS = EXIT_SUCCESS,
UTE_FAIL = -1,
UTE_REF_TEMP_MUST_BE_GEQ_ZERO = -2,
UTE_NOT_NEED_MATERIAL_DATABASE = 1
} |
Functions |
ute_mat_read_result | utr_mat_read (const char *Work_dir, const char *Filename, FILE *Interactive_output) |
void | utr_mat_init_query_result (utt_material_query_result *result) |
int | utr_material_query (const utt_material_query_params *Params, utt_material_query_result *Result) |
| Main function for queering for material data.
|
int | utr_mat_get_matID (int groupID) |
| To get material number associated with given element group number.
|
int | utr_mat_get_n_materials () |
| To get total number of materials in current database.
|
int | utr_mat_get_materials_IDs (int *materialIDs) |
| utr_mat_get_materials_IDs To get array of all known materialIDs
|
void | utr_mat_clear_material (utt_material_data *mat) |
| To permanently delete stored material and free resources.
|
void | utr_mat_clear_all () |
| To permanently delete all stored materials.
|
const utt_material_data * | utr_mat_get_material (const int groupID) |
| To gain access to raw material data. NOTE: this is NOT the same as calling utr_material_query !
|
const utt_material_data * | utr_mat_get_material_by_matID (int matID) |
| To gain access to raw material data. NOTE: this is NOT the same as calling utr_material_query !
|
Variables |
const char * | utc_mat_database_filename |
Detailed Description
The materials in ModFEM are defined as stucture of different material properties . The materials submodule of the utilities module is responsible for reading the material file(s) and providing access to the exisiting database . The default and preferred way of accessing the materials is to make use of material query function with groupID as a parameter.
The correct way of using the material database is as follows:
At program initialisation: 1. Read the material file(s) at least once.
group_to_materials_assignment: ( { material_number = 10; groups = (15,11); }, { material_number = 5; groups = ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ); });
During computations: 2. Get the groupID of the element you are analysing. 3. Create structure with params of the material query.
Examples of the material query usage can be found in heat module , ns_supg module and ns_supg-heat-vof supermodule .
NOTE: The materials submodule provides also direct access to the raw material data , but it is intended to be an additional feature for special purposes, and using this other way is much more cumbersome during computations.
Define Documentation
#define UTC_MAT_QUERY_RESULT_NOT_NEEDED -1.0 |
#define UTC_MAT_QUERY_RESULT_REQUIRED -3.0 |
Enumeration Type Documentation
For the purpose of backward-compatibility and support of auto-assigning to groups, a few additional flags are provided.
- Enumerator:
UTE_GROUP_ID_NOT_ASSIGNED |
to indicate, that given group ID is not connected with any material or block
|
UTE_GROUP_ID_DEFAULT_BLOCK |
to indicate auto-assignment for so-called "default block" which is created when no blocks have been defined
|
- Enumerator:
UTE_SUCCESS |
|
UTE_FAIL |
|
UTE_REF_TEMP_MUST_BE_GEQ_ZERO |
|
UTE_NOT_NEED_MATERIAL_DATABASE |
|
- Enumerator:
QUERY_NODE |
if query concerns exact mesh node (vertex) of element
|
QUERY_POINT |
if query concerns any arbitrary selected point within given element
|
Function Documentation
void utr_mat_clear_all |
( |
|
) |
|
To permanently delete all stored materials.
- Returns:
- void
To permanently delete stored material and free resources.
- Returns:
- void
To gain access to raw material data. NOTE: this is NOT the same as calling utr_material_query !
- Parameters:
-
- Returns:
- const utt_material_data*
To gain access to raw material data. NOTE: this is NOT the same as calling utr_material_query !
- Parameters:
-
- Returns:
- const utt_material_data*
int utr_mat_get_materials_IDs |
( |
int * |
materialIDs |
) |
|
utr_mat_get_materials_IDs To get array of all known materialIDs
- Parameters:
-
- Returns:
- number of written material IDs into array
- Parameters:
-
- Returns:
- number of written material IDs into array
- Parameters:
-
int utr_mat_get_matID |
( |
int |
groupID |
) |
|
To get material number associated with given element group number.
- Parameters:
-
- Returns:
- int material number (ID)
int utr_mat_get_n_materials |
( |
|
) |
|
To get total number of materials in current database.
- Returns:
- int
ute_mat_read_result utr_mat_read |
( |
const char * |
Work_dir, |
|
|
const char * |
Filename, |
|
|
FILE * |
Interactive_output | |
|
) |
| | |
Main function for queering for material data.
- Parameters:
-
- Returns:
- success code
Variable Documentation
Filename of the default built-in material database linked with executable. The default location of this file is the directory of the executable. If given problem require to provide additional materials, then the material file given in problem file should be modyfied.