MURE
Loading...
Searching...
No Matches
PoisonEvolutionControl.hxx
Go to the documentation of this file.
1/*
2 This file is part of MURE,
3 Copyright (C) 2007-2021 MURE developers.
4
5 MURE is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 MURE is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with MURE. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#ifndef _POISONEVOLUTIONCONTROL_HXX_
20#define _POISONEVOLUTIONCONTROL_HXX_
21
27#include <fstream>
28#include <iostream>
29#include <sstream>
30#include <vector>
31#include <string>
32
33#include "EvolutionControl.hxx"
34#include "ControlMaterial.hxx"
35
36using namespace std;
37//________________________________________________________________________
38//
39// PoisonEvolutionControl
41//________________________________________________________________________
42
44{
45 public:
47
54 {
55 return new PoisonEvolutionControl(*this);
56 }
57
58 ~PoisonEvolutionControl() override = default;
59
60 void ControlAfterEachMCRun() override;
61 void ControlBeforeEachSubStep() override;
62
63 virtual void FindNextPoisonProportion();
64
65 void ExtrapolateRates() override;
66
67 void WriteControlParameters() override;
68
69 void SetConstantPoisonDecrease(bool flag = true)
70 {
72 }
74 {
76 }
77
79 {
81 }
83 {
85 }
86
88 {
89 M -> AddControlReaction( - 2);
90 }
91 void WriteCurrentRates() override;
92
93 protected:
94
95 void InitVector() override;
96
97 vector < double > fMCPoisonAbs;
98 vector < double > fMCDeltaPoisonAbs;
101
102 vector < double > fNextPoisonProportion;
103 vector < double > fInitialPoisonProportion;
106};
107
108#endif
Header file for ControlMaterial class.
Header file for EvolutionControl class.
A ControlMaterial.
Definition ControlMaterial.hxx:51
EvolutionControl allows interactions with the evolution.
Definition EvolutionControl.hxx:60
EvolutionControl descendant for controlling evolution via absorption of control (poison) material.
Definition PoisonEvolutionControl.hxx:44
double fFitPoisonAbsSlope
slope of linear fit of the poison absorption rate.
Definition PoisonEvolutionControl.hxx:99
vector< double > fNextPoisonProportion
Definition PoisonEvolutionControl.hxx:102
void WriteCurrentRates() override
Write absorpstion, fission, ... rates in ABS, FISS, ... files.
Definition PoisonEvolutionControl.cxx:160
void SetConstantPoisonDecrease(bool flag=true)
Definition PoisonEvolutionControl.hxx:69
double fPoisonDecreasePerUnitTime
the value of the decrease
Definition PoisonEvolutionControl.hxx:105
void ControlAfterEachMCRun() override
control at each MC step (just after a MC run)
Definition PoisonEvolutionControl.cxx:78
double fFitPoisonAbsIntercept
intersept of linear fit of the poison absorption rate.
Definition PoisonEvolutionControl.hxx:100
~PoisonEvolutionControl() override=default
destructor
virtual void FindNextPoisonProportion()
Find the next Poison proportion.
Definition PoisonEvolutionControl.cxx:169
void AddReactions(ControlMaterial *M)
Definition PoisonEvolutionControl.hxx:87
PoisonEvolutionControl * Clone() override
Definition PoisonEvolutionControl.hxx:53
bool GetConstantPoisonDecrease()
Definition PoisonEvolutionControl.hxx:73
PoisonEvolutionControl()
Default Constructor.
Definition PoisonEvolutionControl.cxx:37
void SetPoisonDecreasePerUnitTime(double x)
Definition PoisonEvolutionControl.hxx:78
vector< double > fMCPoisonAbs
vector of last MC run's global poison absorption rate.
Definition PoisonEvolutionControl.hxx:97
bool fConstantPoisonDecrease
whether or not a constant decrease of Poison concentration is wanted
Definition PoisonEvolutionControl.hxx:104
double GetPoisonDecreasePerUnitTime()
Definition PoisonEvolutionControl.hxx:82
void ExtrapolateRates() override
Extrapolation of reaction rates on the next step from a linear fit.
Definition PoisonEvolutionControl.cxx:283
void InitVector() override
build vector used in fits full of 0.
Definition PoisonEvolutionControl.cxx:65
void ControlBeforeEachSubStep() override
control before each CRAM/RK sub step (just before a sub-step)
Definition PoisonEvolutionControl.cxx:115
vector< double > fMCDeltaPoisonAbs
vector of last MC run's global poison absorption rate error
Definition PoisonEvolutionControl.hxx:98
vector< double > fInitialPoisonProportion
Definition PoisonEvolutionControl.hxx:103
void WriteControlParameters() override
Write poison/fissile proportions etc.
Definition PoisonEvolutionControl.cxx:264
the namespace of the Standard C++

MURE Project, documentation generated by Doxygen 1.9.7 - Fri Jan 19 2024