Skip to content

Proper OO-Programming inheritance #866

@erikvansebille

Description

@erikvansebille

While some Parcels classes have ok Object-Oriented behaviour (e.g. the Particle class and its associated JITParticles and ScipyParticles, many others don't.

It would be good to improve the OO inheritance for at least

  • the ParticleSet class (e.g. 'build', 'add particle', 'remove particle' as methods)
  • the Kernel class (with e.g. 'build', 'compile', 'load', 'unload', 'execute' as methods)
  • the ParticleFile class
  • ...

Some of this is already implemented in #862, for example in the Kernels, where we have a 'BaseKernel' (in kernelbase.py), from which each kind of 'Kernel' (in 'kernel_node.py' and 'kernel_vectorized.py') is derived from.

This will also help fix #618. Thanks to @CKehl for bringing this up

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions