From ffb4080f1498fb132cd74e5df5a728e065e503b1 Mon Sep 17 00:00:00 2001 From: "p.vanderwilt" Date: Thu, 6 Nov 2025 17:24:10 +0100 Subject: [PATCH] Refactor boundary condition handling in Reactor_PFR class for improved clarity and efficiency --- src/specificClass.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/specificClass.js b/src/specificClass.js index 228d077..12ba0da 100644 --- a/src/specificClass.js +++ b/src/specificClass.js @@ -365,11 +365,10 @@ class Reactor_PFR extends Reactor { * for outlet, apply regular Danckwerts BC (Neumann BC with no flux) */ _applyBoundaryConditions() { + // Upstream BC if (this.upstreamReactor) { // Open boundary - for (let i = 0; i < BC_PADDING; i++) { - this.extendedState[i] = this.upstreamReactor.state.at(i-BC_PADDING); - } + this.extendedState.splice(0, BC_PADDING, ...this.upstreamReactor.state.slice(-BC_PADDING)); } else { if (math.sum(this.Fs) > 0) { // Danckwerts BC @@ -383,11 +382,10 @@ class Reactor_PFR extends Reactor { } } + // Downstream BC if (this.downstreamReactor) { // Open boundary - for (let i = 0; i < BC_PADDING; i++) { - this.extendedState[this.n_x+BC_PADDING+i] = this.downstreamReactor.state[i]; - } + this.extendedState.splice(this.n_x+BC_PADDING, BC_PADDING, ...this.downstreamReactor.state.slice(0, BC_PADDING)); } else { // Neumann BC (no flux) this.extendedState.fill(this.extendedState.at(-1-BC_PADDING), BC_PADDING+this.n_x);