Skip to content

Comments

Add spline-based data driven binding model#592

Open
jbreue16 wants to merge 7 commits intomasterfrom
feat/splineBinding
Open

Add spline-based data driven binding model#592
jbreue16 wants to merge 7 commits intomasterfrom
feat/splineBinding

Conversation

@jbreue16
Copy link
Contributor

@jbreue16 jbreue16 commented Feb 20, 2026

Corresponding CADET-Verification branch with python scripts: cadet/CADET-Verification#97

This PR introduces a new binding model type ("SPLINE" and "EXT_SPLINE") that replaces analytical adsorption isotherms with a monotonic cubic spline interpolation of user-provided equilibrium data.

Instead of evaluating a predefined isotherm (e.g., Langmuir), the model computes the equilibrium solid-phase concentration q* from tabulated (C_VALS, Q_VALS) data using cubic spline interpolation. The resulting equilibrium relation is embedded into the standard kinetic formulation:

dq/dt = kKin * (q* - q)

Key features:

  • Reads equilibrium data from:
    model_weights/spline_input_parameters/{C_VALS, Q_VALS}
  • Constructs a monotonic cubic spline at configuration time
  • Stores spline polynomial coefficients for efficient runtime evaluation
  • Supports left and right extrapolation
  • Provides an analytic Jacobian using the spline derivative
  • Fully compatible with CADET’s ParamHandler infrastructure
  • Implements both internal (SPLINE) and external (EXT_SPLINE) variants

This enables:

  • Data-driven or ML-generated adsorption isotherms
  • Arbitrary nonlinear equilibrium behaviour

@github-actions
Copy link

github-actions bot commented Feb 20, 2026

Thank you for your submission, we really appreciate it!

Like many open-source projects we ask that you sign our Contributor License Agreement before we can accept your contribution.
To sign, please post two separate comments based on the following templates 👇

  1. Comment:

- [ ] The CADET maintainers know my real name.

At least one of the following two applies:

- [ ] The CADET maintainers know my current employer.

- [ ] I am *not* making this contribution on behalf of my current employer.

  1. Comment:
    I have read the CLA Document and I hereby sign the CLA.
    1 out of 2 committers have signed the CLA.
    ✅ (jbreue16)[https://github.com/jbreue16]
    @jazib-hassan-juelich
    You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@jbreue16 jbreue16 changed the title Add spline-based binding model Add spline-based data driven binding model Feb 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

2 participants