![]() |
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.