![]() |
Octopus
|
Data Types | |
type | centroids_t |
Encapsulate centroid points and their indexing across a domain-decomposed mesh. More... | |
Functions/Subroutines | |
subroutine | centroids_init (this, mesh, positions, check_duplicates) |
Initialise a centroids_t instance. More... | |
subroutine | centroids_init_from_file (this, mesh, fname, check_duplicates) |
Initialise a centroids_t instance from grid points in file. More... | |
pure integer function | centroids_get_n_centroids (this) |
Number of centroids in local domain. More... | |
pure integer function | centroids_get_n_centroids_global (this) |
Total number of centroids in system. More... | |
pure integer(int64) function | centroids_global_centroid_to_global_mesh_index (this, ic) |
Given centroid index ic , return the global mesh index ipg . More... | |
pure integer(int64) function, dimension(:), allocatable | centroids_global_centroid_to_global_mesh_indices (this) |
Return global mesh indices for all centroids in this domain. More... | |
pure integer function | centroids_get_local_mesh_index (this, ic) |
Get the mesh index ip of centroid ic in this domain. More... | |
pure integer function, dimension(:), allocatable | centroids_get_local_mesh_indices (this) |
Return mesh indices ip for all centroids in this domain. More... | |
pure integer function | centroids_local_index_to_global_index (this, ic) |
Get the global centroid index, given centroid ic this domain. More... | |
pure integer function, dimension(:), allocatable | centroids_local_index_to_global_indices (this) |
Return global centroid indices for all centroids in this domain. More... | |
pure real(real64) function, dimension(this%ndim) | centroids_get_local_position (this, mesh, ic) |
Get the position of the centroid ic . More... | |
pure real(real64) function, dimension(:, :), allocatable | centroids_get_all_positions (this) |
Return a copy of all centroid positions. More... | |
subroutine | centroids_output_all_indices (this, namespace, grp, fname) |
Output all centroid indices, across all domains. More... | |
subroutine, public | centroids_read_all_indices (grp, fname, n_centroids_global, icg_to_ipg) |
Read all centroid indices from a file written using centroids_output_all_indices. More... | |
subroutine | centroids_end (this) |
Type-bound routine to manually deallocate a centroids instance. More... | |
subroutine | centroids_finalize (this) |
Finalize a centroids instance. More... | |
subroutine | convert_coordinates_to_global_indices (this, mesh) |
Convert coordinates to the mesh global index. More... | |
subroutine | convert_global_indices_to_coordinates (this, mesh) |
Convert mesh global index to coordinates. More... | |
subroutine | exact_centroids_init_index_maps (this, mesh, check_duplicates) |
Initialise index maps with centroid points that are commensurate with the grid. More... | |
subroutine | remove_duplicates_int64 (indices) |
Remove duplicates from an array of integers. More... | |
|
private |
Initialise a centroids_t instance.
Centroid positions must correspond to grid points.
[out] | this | Centroid instance |
[in] | mesh | Mesh or grid instance |
[in] | positions | All centroid cartesian positions |
[in] | check_duplicates | Check for duplicate grid indices, |
Definition at line 201 of file centroids.F90.
|
private |
Initialise a centroids_t instance from grid points in file.
[out] | this | Centroid instance |
[in] | mesh | Mesh or grid instance |
[in] | fname | file name, prefixed with directory |
[in] | check_duplicates | Check for duplicate grid indices, |
Definition at line 222 of file centroids.F90.
|
private |
Number of centroids in local domain.
Definition at line 242 of file centroids.F90.
|
private |
Total number of centroids in system.
Definition at line 252 of file centroids.F90.
|
private |
Given centroid index ic
, return the global mesh index ipg
.
icg_to_ipg
, but this would require mesh to be an argument of the function. Definition at line 271 of file centroids.F90.
|
private |
Return global mesh indices for all centroids in this domain.
Definition at line 284 of file centroids.F90.
|
private |
Get the mesh index ip
of centroid ic
in this domain.
Definition at line 300 of file centroids.F90.
|
private |
Return mesh indices ip
for all centroids in this domain.
Definition at line 311 of file centroids.F90.
|
private |
Get the global centroid index, given centroid ic
this domain.
Definition at line 321 of file centroids.F90.
|
private |
Return global centroid indices for all centroids in this domain.
Definition at line 332 of file centroids.F90.
|
private |
Get the position of the centroid ic
.
Definition at line 342 of file centroids.F90.
|
private |
Return a copy of all centroid positions.
Definition at line 355 of file centroids.F90.
|
private |
Output all centroid indices, across all domains.
[in] | this | Centroid instance |
[in] | grp | MPI group performing write |
[in] | fname | File name |
Definition at line 365 of file centroids.F90.
subroutine, public centroids_oct_m::centroids_read_all_indices | ( | type(mpi_grp_t), intent(in) | grp, |
character(len=*), intent(in) | fname, | ||
integer, intent(out) | n_centroids_global, | ||
integer(int64), dimension(:), intent(out), allocatable | icg_to_ipg | ||
) |
Read all centroid indices from a file written using centroids_output_all_indices.
[in] | grp | MPI group performing read |
[in] | fname | file name, prefixed with directory |
[out] | n_centroids_global | Total number of centroids |
[out] | icg_to_ipg | Map of global centroid indices |
Definition at line 395 of file centroids.F90.
|
private |
Type-bound routine to manually deallocate a centroids instance.
[in,out] | this | Centroid instance |
Definition at line 430 of file centroids.F90.
|
private |
Finalize a centroids instance.
[in,out] | this | Centroid instance |
Definition at line 446 of file centroids.F90.
|
private |
Convert coordinates to the mesh global index.
[in] | mesh | Mesh or grid instance |
Definition at line 459 of file centroids.F90.
|
private |
Convert mesh global index to coordinates.
[in] | mesh | Mesh or grid instance |
Definition at line 486 of file centroids.F90.
|
private |
Initialise index maps with centroid points that are commensurate with the grid.
This routine computes:
icg
to centroid index in domain associated with process
ic
in domain process
, to mesh index ip
in the same domainprocess
[in] | mesh | Mesh or grid instance |
[in] | check_duplicates | Check for duplicate grid indices, |
Definition at line 514 of file centroids.F90.
|
private |
Remove duplicates from an array of integers.
[in,out] | indices | In: Set of indices |
Definition at line 575 of file centroids.F90.