![]() |
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) |
Initialise a centroids_t instance. 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_finalize (this) |
Finalize a centroids instance. More... | |
subroutine | exact_centroids_init_index_maps (this, mesh) |
Initialise index maps with centroid points that are commensurate with the grid. 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 |
Definition at line 187 of file centroids.F90.
|
private |
Number of centroids in local domain.
Definition at line 205 of file centroids.F90.
|
private |
Total number of centroids in system.
Definition at line 215 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 234 of file centroids.F90.
|
private |
Return global mesh indices for all centroids in this domain.
Definition at line 247 of file centroids.F90.
|
private |
Get the mesh index ip
of centroid ic
in this domain.
Definition at line 263 of file centroids.F90.
|
private |
Return mesh indices ip
for all centroids in this domain.
Definition at line 274 of file centroids.F90.
|
private |
Get the global centroid index, given centroid ic
this domain.
Definition at line 284 of file centroids.F90.
|
private |
Return global centroid indices for all centroids in this domain.
Definition at line 295 of file centroids.F90.
|
private |
Get the position of the centroid ic
.
Definition at line 305 of file centroids.F90.
|
private |
Return a copy of all centroid positions.
Definition at line 318 of file centroids.F90.
|
private |
Finalize a centroids instance.
[in,out] | this | Centroid instance |
Definition at line 328 of file centroids.F90.
|
private |
Initialise index maps with centroid points that are commensurate with the grid.
This routine breaks single responsibility, but it makes sense to reuse the the various indices as they are computed. This routine computes:
ipg
process
icg
to centroid index in domain process
ic
in domain process
, to mesh index ip
in the same domain [in] | mesh | Mesh or grid instance |
Definition at line 349 of file centroids.F90.