Domain

Domain#

UML diagram of CuSystem, Grid, System, World.

@startuml
!theme vibrant
package Legend {
  class Class
  class Visibility {
    +public method()
    -private field
    #protected field
  }
  Class -[hidden]-> Dependency
  Visibility o-- Aggregation : Aggregation
  Visibility --> Dependency : Dependency
}
class "Grid" as C_0008621096355354352768
class C_0008621096355354352768 {
+cellInGrid(int idx) const : bool
+cellInGrid(int3 coo) const : bool
+coord2index(int3 coo) const : int
+index2coord(int idx) const : int3
+ncells() const : int
+origin() const : int3
+overlaps(Grid) const : bool
+setOrigin(int3) : void
+setSize(int3) : void
+size() const : int3
+wrap(int3 coo) const : int3
__
-origin_ : int3
-size_ : int3
}
class "World" as C_0018151272839730735401
class C_0018151272839730735401 {
+cellVolume() const : real
+cellsize() const : real3
+checkPbcCompatibility(const Grid mastergrid, const int3 pbcRepetitions) const : void
+checkPbcRepetitions(const int3 pbcRepetitions) const : void
+inMastergrid(Grid) const : bool
+mastergrid() const : Grid
+pbcRepetitions() const : const int3
+time() const : real
+timesolver() const : TimeSolver &
__
#cellsize_ : real3
#mastergrid_ : Grid
#pbcRepetitions_ : int3
#timesolver_ : std::unique_ptr<TimeSolver>
}
class "System" as C_0014032891358763643253
class C_0014032891358763643253 {
+operator=(const System &) = deleted : System &
+operator=(System &&) = deleted : System &
..
+cellPosition(int3) const : real3
+cellsInGeo() const : int
+cellsize() const : real3
+center() const : real3
+checkIdxInRegions(int idx) const : void
+cu() const : CuSystem
+extent() const : std::array<real,6>
+geometry() const : const GpuBuffer<bool> &
+grid() const : Grid
+origin() const : real3
+regions() const : const GpuBuffer<unsigned int> &
+world() const : const World *
__
-cellsInGeo_ : int
-geometry_ : GpuBuffer<bool>
-grid_ : Grid
-regions_ : GpuBuffer<unsigned int>
+uniqueRegions : std::vector<unsigned int>
-world_ : const World *
}
class "CuSystem" as C_0000452500986261838268
class C_0000452500986261838268 {
+getRegionIdx(int3 coo) const : unsigned int
+getRegionIdx(int idx) const : unsigned int
+inGeometry(int3 coo) const : bool
+inGeometry(int idx) const : bool
+inRegion(unsigned int regionIdx, int3 coo) const : bool
+inRegion(unsigned int regionIdx, int idx) const : bool
+inSameRegion(unsigned int idx1, unsigned int idx2) const : bool
__
+cellsize : const real3
+geometry : const bool *
+grid : const Grid
+regions : const unsigned int *
}
C_0018151272839730735401 o-- C_0008621096355354352768 : #mastergrid_
C_0014032891358763643253 --> C_0018151272839730735401 : -world_
C_0014032891358763643253 o-- C_0008621096355354352768 : -grid_
C_0014032891358763643253 <.. C_0000452500986261838268 : +<<friend>>
C_0000452500986261838268 ..> C_0014032891358763643253
C_0000452500986261838268 o-- C_0008621096355354352768 : +grid

'Generated with clang-uml, version 0.6.2
'LLVM version clang version 19.1.7 (https://github.com/conda-forge/clangdev-feedstock 3c5e7de432e909e225d8040e72a44724afb0c446)
@enduml