Quantities

Quantities#

UML diagram of CuField, CuParameter, CuVectorParameter, DynamicParameter, Field, FieldQuantity, FieldQuantityEvaluator, InterParameter, NormalizedVariable, Parameter, ScalarQuantity, ScalarQuantityEvaluator, Variable, VectorParameter.

@startuml
!theme vibrant
package Legend {
  class Class
  abstract class Abstract
  class Template <T>
  class Visibility {
    +public method()
    -private field
    -private method()
    #protected field
    #protected method()
  }
  Class -[hidden]-> Extension
  Abstract -[hidden]-> Extension
  Template -[hidden]-> Extension
  Visibility <|-- Extension : Extension
  Visibility o-- Aggregation : Aggregation
  Visibility --> Dependency : Dependency
  Visibility ..> WeakDependency : Weak dependency
}
abstract "FieldQuantity" as C_0014123741854927318795
abstract C_0014123741854927318795 {
+addToField(Field &) const : void
+assuredZero() const : bool
+average() const : std::vector<real>
{abstract} +eval() const = 0 : Field
+getRGB() const : Field
+grid() const : Grid
+name() const : std::string
{abstract} +ncomp() const = 0 : int
{abstract} +system() const = 0 : std::shared_ptr<const System>
+unit() const : std::string
+world() const : const World *
__
}
class "Field" as C_0001251917005474930534
class C_0001251917005474930534 {
+operator=(Field && other) : Field &
+operator=(const Field & other) : Field &
..
+operator+=(const Field & other) : Field &
+operator+=(const FieldQuantity & other) : Field &
+operator-=(const Field & other) : Field &
+operator-=(const FieldQuantity & other) : Field &
+operator=(const FieldQuantity & other) : Field &
..
-allocate() : void
+clear() : void
+cu() const : CuField
+device_ptr(int comp) const : real *
+empty() const : bool
+eval() const : Field
-free() : void
+getData(real * buffer) const : void
+getData() const : std::vector<real>
+makeZero() : void
+ncomp() const : int
+setData(const real * buffer) : void
+setData(const std::vector<real> & buffer) : void
+setUniformComponent(int comp, real value) : void
+setUniformComponentInRegion(unsigned int regionIdx, int comp, real value) : void
+setUniformValue(real value) : void
+setUniformValue(real3 value) : void
+setUniformValueInRegion(unsigned int regionIdx, real value) : void
+setUniformValueInRegion(unsigned int regionIdx, real3 value) : void
+setZeroOutsideGeometry() : void
+system() const : std::shared_ptr<const System>
-updateDevicePointersBuffer() : void
__
-bufferPtrs_ : GpuBuffer<real *>
-buffers_ : std::vector<GpuBuffer<real>>
-ncomp_ : int
-system_ : std::shared_ptr<const System>
}
class "CuField" as C_0014716582864147230115
class C_0014716582864147230115 {
+cellInGeometry(int) const : bool
+cellInGeometry(int3) const : bool
+cellInGrid(int) const : bool
+cellInGrid(int3) const : bool
+cellInRegion(unsigned int, int) const : bool
+cellInRegion(unsigned int, int3) const : bool
+setValueInCell(int idx, int comp, real value) : void
+setVectorInCell(int idx, real3 vec) : void
+valueAt(int idx, int comp = 0) const : real
+valueAt(int3 coo, int comp = 0) const : real
+vectorAt(int idx) const : real3
+vectorAt(int3 coo) const : real3
+vectorAt(int idx, int3 comps) const : real3
+vectorAt(int3 coo, int3 comps) const : real3
__
+ncomp : const int
-ptrs : real **
+system : const CuSystem
}
class "DynamicParameter<T>" as C_0010947437502478217399
class C_0010947437502478217399 {
+operator=(const DynamicParameter<T> &) : DynamicParameter<T> &
+operator=(const DynamicParameter<T> &&) noexcept : DynamicParameter<T> &
..
+addTimeDependentTerm(const std::function<T (real)> & term) : void
+addTimeDependentTerm(const std::function<T (real)> & term, const Field & mask) : void
#evalTimeDependentTerms(real t, Field & p) const : void
+isDynamic() const noexcept : bool
+isUniform() const : bool
+removeAllTimeDependentTerms() : void
__
#dynamicField_ : std::unique_ptr<Field>
#time_dep_terms : std::vector<std::pair<std::function<T (real)>,Field>>
}
class "Parameter" as C_0012847937467449336415
class C_0012847937467449336415 {
+assuredZero() const : bool
+cu() const : CuParameter
+eval() const : Field
+getUniformValue() const : real
+isUniform() const : bool
+name() const : std::string
+ncomp() const : int
+set(real value) : void
+set(const Field & values) : void
+setInRegion(const unsigned int region_idx, real value) : void
+system() const : std::shared_ptr<const System>
+unit() const : std::string
__
-name_ : std::string
-staticField_ : Field *
-system_ : std::shared_ptr<const System>
-uniformValue_ : real
-unit_ : std::string
}
class "CuParameter" as C_0010303864607174875856
class C_0010303864607174875856 {
+harmonicMean(int idx1, int idx2) const : real
+isUniform() const : bool
+valueAt(int idx) const : real
+valueAt(int3 coo) const : real
__
-dynamicValuesPtr : real *
+system : const CuSystem
+uniformValue : const real
-valuesPtr : real *
}
class "VectorParameter" as C_0011517759694512635304
class C_0011517759694512635304 {
+assuredZero() const : bool
+cu() const : CuVectorParameter
+eval() const : Field
+getUniformValue() const : real3
+isUniform() const : bool
+name() const : std::string
+ncomp() const : int
+set(real3 value) : void
+set(const Field & values) : void
+setInRegion(const unsigned int region_idx, real3 value) : void
+system() const : std::shared_ptr<const System>
+unit() const : std::string
__
-name_ : std::string
-staticField_ : Field *
-system_ : std::shared_ptr<const System>
-uniformValue_ : real3
-unit_ : std::string
}
class "CuVectorParameter" as C_0017292176472034302132
class C_0017292176472034302132 {
+isUniform() const : bool
+valueAt(int idx, int comp = 0) const : real
+valueAt(int3 coo, int comp = 0) const : real
+vectorAt(int idx) const : real3
+vectorAt(int3 coo) const : real3
__
+system : const CuSystem
+uniformValue : const real3
-xDynamicValuesPtr : real *
-xValuesPtr : real *
-yDynamicValuesPtr : real *
-yValuesPtr : real *
-zDynamicValuesPtr : real *
-zValuesPtr : real *
}
class "InterParameter" as C_0008511848810492809723
class C_0008511848810492809723 {
+assuredZero() const : bool
+cu() const : CuInterParameter
+eval() const : const std::vector<real>
+getBetween(unsigned int i, unsigned int j) const : real
+getUniformValue() const : real
+isUniform() const : bool
+name() const : std::string
+ncomp() const : int
+numberOfRegions() const : int
+set(real value) : void
+setBetween(unsigned int i, unsigned int j, real value) : void
-setBuffer(real value) : void
+uniqueRegions() const : const std::vector<unsigned int>
+unit() const : std::string
__
-name_ : std::string
-system_ : std::shared_ptr<const System>
-uniformValue_ : real
-unit_ : std::string
-valuesBuffer_ : GpuBuffer<real>
-valuesLimit_ : size_t
}
class "Variable" as C_0001446823530680837276
class C_0001446823530680837276 {
+operator=(const Field & f) const : void
+operator=(real val) const : void
+operator=(real3 val) const : void
..
+eval() const : Field
+field() const : const Field &
+name() const : std::string
+ncomp() const : int
+set(const Field &) const : void
+set(real) const : void
+set(real3) const : void
+setInRegion(const unsigned int, real) const : void
+setInRegion(const unsigned int, real3) const : void
+system() const : std::shared_ptr<const System>
+unit() const : std::string
__
#field_ : Field *
-name_ : std::string
-unit_ : std::string
}
class "NormalizedVariable" as C_0012491383298540885044
class C_0012491383298540885044 {
+set(const Field &) const : void
+set(real) const : void
+set(real3) const : void
+setInRegion(const unsigned int, real) const : void
+setInRegion(const unsigned int, real3) const : void
__
}
abstract "ScalarQuantity" as C_0007116864000105277784
abstract C_0007116864000105277784 {
+assuredZero() const : bool
{abstract} +eval() const = 0 : real
+name() const : std::string
+unit() const : std::string
__
}
class "FieldQuantityEvaluator<T>" as C_0004413143321850459056
class C_0004413143321850459056 {
+operator()() const : Field
..
+assuredZero() const : bool
+clone() : FieldQuantityEvaluator<T> *
+eval() const : Field
+name() const : std::string
+ncomp() const : int
+system() const : std::shared_ptr<const System>
+unit() const : std::string
__
-assuredZeroFunc_ : std::function<bool (const T *)>
-evalfunc_ : std::function<Field (const T *)>
-name_ : std::string
-ncomp_ : int
-ptr_ : const T *
-unit_ : std::string
}
class "ScalarQuantityEvaluator<T>" as C_0006640853835624860805
class C_0006640853835624860805 {
+assuredZero() const : bool
+eval() const : real
+name() const : std::string
+unit() const : std::string
__
-assuredZeroFunc_ : std::function<bool (const T *)>
-evalfunc_ : std::function<real (const T *)>
-name_ : std::string
-ptr_ : const T *
-unit_ : std::string
}
C_0014123741854927318795 ..> C_0001251917005474930534
C_0001251917005474930534 <.. C_0014716582864147230115 : +<<friend>>
C_0014123741854927318795 <|-- C_0001251917005474930534
C_0014716582864147230115 ..> C_0001251917005474930534
C_0010947437502478217399 o-- C_0001251917005474930534 : #dynamicField_
C_0010947437502478217399 o-- C_0001251917005474930534 : #time_dep_terms
C_0012847937467449336415 --> C_0001251917005474930534 : -staticField_
C_0012847937467449336415 <.. C_0010303864607174875856 : +<<friend>>
C_0014123741854927318795 <|-- C_0012847937467449336415
C_0010303864607174875856 ..> C_0012847937467449336415
C_0011517759694512635304 --> C_0001251917005474930534 : -staticField_
C_0011517759694512635304 <.. C_0017292176472034302132 : +<<friend>>
C_0014123741854927318795 <|-- C_0011517759694512635304
C_0017292176472034302132 ..> C_0011517759694512635304
C_0001446823530680837276 --> C_0001251917005474930534 : #field_
C_0014123741854927318795 <|-- C_0001446823530680837276
C_0012491383298540885044 ..> C_0001251917005474930534
C_0001446823530680837276 <|-- C_0012491383298540885044
C_0004413143321850459056 ..> C_0001251917005474930534
C_0004413143321850459056 ..> C_0001251917005474930534 : -evalfunc_
C_0014123741854927318795 <|-- C_0004413143321850459056
C_0007116864000105277784 <|-- C_0006640853835624860805

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