You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description
The ViennaPS Python bindings are currently missing support for certain functionalities critical to custom model development. In particular, the viennaps::ProcessModel class, which encapsulates custom model configurations, is not fully accessible from the Python interface. Implementing this would significantly expand the flexibility of ViennaPS for Python users.
Objective
Provide Python binding support for custom implementations of the following classes in the ProcessModel:
This class defines the surface processes, a critical aspect of simulation. Customizing this model requires overwriting virtual member functions, some of which use custom member types.
This CRTP class calculates fluxes on surfaces using ray tracing. Overwriting the viennaray::Particle virtual member functions would allow customization of particle properties (e.g., energy, reflections) and flux accumulation logic.
This class extends surface velocities to level set grid points. The default field suffices for many cases, but the ability to create empirical fields independent of surface processes would be valuable.
Current Limitations
These classes cannot be fully customized within the Python bindings, limiting ViennaPS's flexibility. However, ViennaLS provides an example of wrapping custom classes (e.g., viennals::VelocityField) for Python, suggesting that similar techniques could be applied to ProcessModel classes here, with the exception of the CRTP Particle class, which may require a unique solution.
TODOS:
Extend the Python bindings to support custom implementations of the above classes in ProcessModel.
Investigate possible workarounds for binding the CRTP Particle class to Python.
The text was updated successfully, but these errors were encountered:
Description
The ViennaPS Python bindings are currently missing support for certain functionalities critical to custom model development. In particular, the
viennaps::ProcessModel
class, which encapsulates custom model configurations, is not fully accessible from the Python interface. Implementing this would significantly expand the flexibility of ViennaPS for Python users.Objective
Provide Python binding support for custom implementations of the following classes in the
ProcessModel
:Surface Model
Particles
viennaray::Particle
virtual member functions would allow customization of particle properties (e.g., energy, reflections) and flux accumulation logic.Advection Callback
Geometric Model
Velocity Field
Current Limitations
These classes cannot be fully customized within the Python bindings, limiting ViennaPS's flexibility. However, ViennaLS provides an example of wrapping custom classes (e.g.,
viennals::VelocityField
) for Python, suggesting that similar techniques could be applied toProcessModel
classes here, with the exception of the CRTPParticle
class, which may require a unique solution.TODOS:
ProcessModel
.Particle
class to Python.The text was updated successfully, but these errors were encountered: