Increase xenon reactivity impact
This commit is contained in:
@@ -33,7 +33,7 @@ class NeutronDynamics:
|
|||||||
iodine_decay_const: float = 1.0 / 66000.0 # ~18h
|
iodine_decay_const: float = 1.0 / 66000.0 # ~18h
|
||||||
xenon_decay_const: float = 1.0 / 33000.0 # ~9h
|
xenon_decay_const: float = 1.0 / 33000.0 # ~9h
|
||||||
xenon_burnout_coeff: float = 1e-13 # per n/cm2
|
xenon_burnout_coeff: float = 1e-13 # per n/cm2
|
||||||
xenon_reactivity_coeff: float = 0.002
|
xenon_reactivity_coeff: float = 0.05
|
||||||
|
|
||||||
def reactivity(self, state: CoreState, control_fraction: float, rod_banks: list[float] | None = None) -> float:
|
def reactivity(self, state: CoreState, control_fraction: float, rod_banks: list[float] | None = None) -> float:
|
||||||
if rod_banks:
|
if rod_banks:
|
||||||
@@ -101,4 +101,4 @@ class NeutronDynamics:
|
|||||||
return self._xenon_penalty(state)
|
return self._xenon_penalty(state)
|
||||||
|
|
||||||
def _xenon_penalty(self, state: CoreState) -> float:
|
def _xenon_penalty(self, state: CoreState) -> float:
|
||||||
return min(0.03, state.xenon_inventory * self.xenon_reactivity_coeff)
|
return min(0.05, state.xenon_inventory * self.xenon_reactivity_coeff)
|
||||||
|
|||||||
@@ -40,6 +40,6 @@ def test_xenon_penalty_caps():
|
|||||||
dynamics = NeutronDynamics()
|
dynamics = NeutronDynamics()
|
||||||
state = _core_state()
|
state = _core_state()
|
||||||
state.xenon_inventory = 50.0
|
state.xenon_inventory = 50.0
|
||||||
assert dynamics.xenon_penalty(state) == 0.03
|
assert dynamics.xenon_penalty(state) == 0.05
|
||||||
state.xenon_inventory = 5.0
|
state.xenon_inventory = 0.2
|
||||||
assert dynamics.xenon_penalty(state) == pytest.approx(0.01)
|
assert dynamics.xenon_penalty(state) == pytest.approx(0.01)
|
||||||
|
|||||||
Reference in New Issue
Block a user