GRIDMAN
grid managment library
|
Methods of the data-type GRIDMAN_INDEX, see gridman.f. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | gridman_index_allocate (INDEX, NINDEX, NELEMENTS, IERR) |
Allocate index object. More... | |
subroutine | gridman_index_deallocate (INDEX, IERR) |
Allocate index object. More... | |
subroutine | gridman_index_check (INDEX, RES, IERR) |
Check index object. More... | |
subroutine | gridman_index_write (INDEX, IOUT, IERR) |
Save index object in a file. More... | |
subroutine | gridman_index_read (INDEX, IIN, IERR) |
Read index object from file. More... | |
subroutine | gridman_index_compare (INDEX1, INDEX2, RES, IERR) |
Compare two index objects. More... | |
subroutine | gridman_index_copy (INDEX2, INDEX1, IERR) |
Create a copy of the index object. More... | |
logical function | gridman_index_repeated_elements (INDEX, IERR) |
Check if the same element index appear more than once. More... | |
subroutine | gridman_index_elmap (ELMAP, NMIN, NMAX, INDEX, IERR) |
Create an aray which maps elements into the table of indices. More... | |
subroutine | gridman_index_create121 (INDEX, N, IERR) |
Create index table for "one-to-one" mapping. More... | |
subroutine | gridman_index_transform (INDEX2, INDEX1, IMAP12, N12, IERR) |
Transform indices of elements - IND(0,:) More... | |
subroutine | gridman_index_merge (INDEX, INDEX1, INDEX2, IERR) |
Merge INDEX2 into INDEX1. More... | |
subroutine gridman_index_allocate | ( | type(gridman_index) | INDEX, |
integer, intent(in) | NINDEX, | ||
integer(gridman_sp), intent(in) | NELEMENTS, | ||
integer, intent(out) | IERR | ||
) |
Allocate index object.
WARNING: INDEX will be overwritten if alreay exists!
index | Resulting index object | |
[in] | nindex | Number of indices |
[in] | nelements | Number of elements |
[out] | ierr | Error code |
Definition at line 28 of file index.f.
References gridman_index_deallocate(), and gridman::gridman_sp.
Referenced by gridman_addsurf2grid_2d(), gridman_addsurf2grid_3d(), gridman_carre2grid(), gridman_grid2d_cut(), gridman_grid2d_triang(), gridman_grid_eliminate_cells(), gridman_grid_eliminate_edges(), gridman_index_copy(), gridman_index_create121(), gridman_index_merge(), gridman_index_read(), gridman_index_transform(), gridman_template2grid(), and gridman_tria2grid().
subroutine gridman_index_deallocate | ( | type(gridman_index) | INDEX, |
integer, intent(out) | IERR | ||
) |
Allocate index object.
index | Index object | |
[out] | ierr | Error code |
Definition at line 98 of file index.f.
References gridman::gridman_dbg, and gridman::gridman_unit.
Referenced by gridman_grid_deallocate(), gridman_grid_eliminate_edges(), gridman_index_allocate(), gridman_index_merge(), and gridman_tria2grid().
subroutine gridman_index_check | ( | type(gridman_index) | INDEX, |
integer, intent(out) | RES, | ||
integer, intent(out) | IERR | ||
) |
Check index object.
index | Index object to be checked | |
[out] | res | Code of result |
[out] | ierr | Error code |
Definition at line 149 of file index.f.
References gridman::gridman_sp.
Referenced by gridman_grid_check(), gridman_index_compare(), gridman_index_copy(), gridman_index_create121(), gridman_index_elmap(), gridman_index_merge(), gridman_index_transform(), and gridman_index_write().
subroutine gridman_index_write | ( | type(gridman_index) | INDEX, |
integer, intent(in) | IOUT, | ||
integer, intent(out) | IERR | ||
) |
Save index object in a file.
index | Index object to be saved | |
[in] | iout | Index of the output unit |
[out] | ierr | Error code |
Definition at line 234 of file index.f.
References gridman_index_check(), gridman::gridman_length, and gridman::gridman_sp.
Referenced by gridman_grid_unitwrite().
subroutine gridman_index_read | ( | type(gridman_index) | INDEX, |
integer, intent(in) | IIN, | ||
integer, intent(out) | IERR | ||
) |
Read index object from file.
index | Resulting index object | |
[in] | iin | Index of the output unit |
[out] | ierr | Error code |
Definition at line 327 of file index.f.
References gridman_index_allocate(), gridman::gridman_length, and gridman::gridman_sp.
Referenced by gridman_grid_unitread().
subroutine gridman_index_compare | ( | type(gridman_index) | INDEX1, |
type(gridman_index) | INDEX2, | ||
integer, intent(out) | RES, | ||
integer, intent(out) | IERR | ||
) |
Compare two index objects.
index1 | 1st index object | |
index2 | 2nd index object | |
[out] | res | Code of result |
[out] | ierr | Error code |
Definition at line 423 of file index.f.
References gridman_index_check(), and gridman::gridman_sp.
Referenced by gridman_grid_compare().
subroutine gridman_index_copy | ( | type(gridman_index) | INDEX2, |
type(gridman_index) | INDEX1, | ||
integer, intent(out) | IERR | ||
) |
Create a copy of the index object.
WARNING: INDEX2 will be overwritten if already exists!
index1 | Original index | |
index2 | Copy to be created | |
[out] | ierr | Error code |
Definition at line 538 of file index.f.
References gridman_index_allocate(), gridman_index_check(), and gridman::gridman_unit.
Referenced by gridman_grid2d_merge(), gridman_grid2d_triang(), gridman_grid_combine(), gridman_grid_copy(), and gridman_grid_eliminate_edges().
logical function gridman_index_repeated_elements | ( | type(gridman_index) | INDEX, |
integer, intent(out) | IERR | ||
) |
Check if the same element index appear more than once.
Return .TRUE. if same element index appears more than once, and .FALSE. otherwise
index | Resulting index object | |
[out] | ierr | Error code |
Definition at line 586 of file index.f.
References gridman::gridman_sp.
Referenced by gridman_index_elmap().
subroutine gridman_index_elmap | ( | integer(gridman_sp), dimension(:), allocatable | ELMAP, |
integer(gridman_sp), intent(out) | NMIN, | ||
integer(gridman_sp), intent(out) | NMAX, | ||
type(gridman_index) | INDEX, | ||
integer, intent(out) | IERR | ||
) |
Create an aray which maps elements into the table of indices.
elmap | Mapping array, ELMAP(NMAX:NMIN) |
ELMAP(I) is the position of element I in INDEXES: that is, indices of this element can be read as I (INDEXES(1:,ELMAP(I)). If ELMAP(I)<1 then index for element I is not defined
WRNING: ELMAP will be re-allocated if already exists
[out] | nmin | Low boundary of ELMAP |
[out] | nmax | Upper boundary of ELMAP |
index | Index object | |
[out] | ierr | Error code |
Definition at line 643 of file index.f.
References gridman_index_check(), gridman_index_repeated_elements(), and gridman::gridman_sp.
subroutine gridman_index_create121 | ( | type(gridman_index) | INDEX, |
integer(gridman_sp), intent(in) | N, | ||
integer, intent(out) | IERR | ||
) |
Create index table for "one-to-one" mapping.
WARNING: INDEX is re-allocated if already exists
index | Resulting index object | |
[in] | n | Number of elements in the resulting index |
[out] | ierr | Error code |
Definition at line 733 of file index.f.
References gridman_index_allocate(), gridman_index_check(), gridman::gridman_sp, and gridman::gridman_unit.
subroutine gridman_index_transform | ( | type(gridman_index) | INDEX2, |
type(gridman_index) | INDEX1, | ||
integer(gridman_sp), dimension(2,n12), intent(in) | IMAP12, | ||
integer(gridman_sp), intent(in) | N12, | ||
integer, intent(out) | IERR | ||
) |
Transform indices of elements - IND(0,:)
In IND(0,:) indices IMAP12(1,:) are converted into IMAP12(2,:). If IND(0,:) is not found in IMAP12(1,:), then the line is not taken into the transformed index.
index2 | Transformed index | |
index1 | Original index | |
[in] | imap12 | Transformation table: IMAP12(1,:) -> IMAP12(2,:) |
[in] | n12 | Length of the transformation table |
[out] | ierr | Error code |
Definition at line 788 of file index.f.
References gridman_index_allocate(), gridman_index_check(), gridman::gridman_sp, and gridman::gridman_unit.
Referenced by gridman_grid2d_cut(), and gridman_grid2d_merge().
subroutine gridman_index_merge | ( | type(gridman_index) | INDEX, |
type(gridman_index) | INDEX1, | ||
type(gridman_index) | INDEX2, | ||
integer, intent(out) | IERR | ||
) |
Merge INDEX2 into INDEX1.
"Merging" means that elements of INDEX1 are taken without changes. Elements of INDEX2 which do not yet appear in INDEX1 added. Only indexes with equal number of columns (NINDEX) can be merged
WARNING: INDEX will be overwritten if alreay exists!
index | Resulting index object | |
index1 | Index object which stay conserved | |
index2 | Index object which is merged into INDEX1 | |
[out] | ierr | Error code |
Definition at line 880 of file index.f.
References gridman_index_allocate(), gridman_index_check(), gridman_index_deallocate(), gridman::gridman_sp, and gridman::gridman_unit.