43 lines
1.0 KiB
JavaScript
43 lines
1.0 KiB
JavaScript
const test = require('node:test');
|
|
const assert = require('node:assert/strict');
|
|
|
|
const { Reactor_CSTR } = require('../../src/specificClass');
|
|
const { makeReactorConfig } = require('../helpers/factories');
|
|
|
|
const NUM_SPECIES = 13;
|
|
|
|
test('Reactor_CSTR tick clips negative concentrations to zero', () => {
|
|
const reactor = new Reactor_CSTR(
|
|
makeReactorConfig({
|
|
reactor_type: 'CSTR',
|
|
volume: 1,
|
|
n_inlets: 1,
|
|
kla: NaN,
|
|
S_O_init: 0.1,
|
|
S_I_init: 0.1,
|
|
S_S_init: 0.1,
|
|
S_NH_init: 0.1,
|
|
S_N2_init: 0.1,
|
|
S_NO_init: 0.1,
|
|
S_HCO_init: 0.1,
|
|
X_I_init: 0.1,
|
|
X_S_init: 0.1,
|
|
X_H_init: 0.1,
|
|
X_STO_init: 0.1,
|
|
X_A_init: 0.1,
|
|
X_TS_init: 0.1,
|
|
}),
|
|
);
|
|
|
|
reactor.asm = {
|
|
compute_dC: () => Array(NUM_SPECIES).fill(0),
|
|
};
|
|
reactor.Fs[0] = 1;
|
|
reactor.Cs_in[0] = Array(NUM_SPECIES).fill(0);
|
|
|
|
reactor.tick(1);
|
|
|
|
assert.equal(reactor.state.every((v) => Number.isFinite(v) && v >= 0), true);
|
|
assert.equal(reactor.state.every((v) => v === 0), true);
|
|
});
|