MURE
Loading...
Searching...
No Matches
RodEvolutionControl.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 _RODEVOLUTIONCONTROL_HXX_
20#define _RODEVOLUTIONCONTROL_HXX_
21
27#include <fstream>
28#include <iostream>
29#include <sstream>
30#include <vector>
31#include <string>
32
33#include "EvolutionControl.hxx"
34
35using namespace std;
36//________________________________________________________________________
37//
38// RodEvolutionControl
40// @author PTO
41// @version 1.0
42//________________________________________________________________________
43
45{
46 public:
48
54
56 {
57 return new RodEvolutionControl(*this);
58 }
59
60 ~RodEvolutionControl() override = default;
61
62 void ControlAfterEachMCRun() override;
63 void ControlBeforeEachSubStep() override;
64 void ControlAfterEachEvolutionStep() override;
65
67 void FindNextCoefs(double value, vector < double > &V, double &Slope, double &Intersept, int &LastMCRunNumber);
69
79 void FindControlRodWorthParameters(double H, double keff_x0, double keff_xH, double keff_xH4);
81
88 double RodDifferentialWorth(double x);
90
97 double RodWorth(double x);
99
105 double IntegrateRodWorth(double a, double b);
106 bool Dichotom(double DeltaRho, double &FinalPos);
107 void FindRodWorthWeigthSlope(double CurrentWorth);
108
109 protected:
110 void InitVector() override;
111
112 double fRodH;
113 double fRho0;
116 double fRodLength;
120
121 double fDLength;
122 vector < double > fGlobalWorth;
126};
127
128#endif
Header file for EvolutionControl class.
EvolutionControl allows interactions with the evolution.
Definition EvolutionControl.hxx:60
EvolutionControl descendant allowing control via control rod insertion.
Definition RodEvolutionControl.hxx:45
void ControlAfterEachMCRun() override
control at each MC step (just after a MC run)
Definition RodEvolutionControl.cxx:97
vector< double > fGlobalWorth
the worth of the control rod
Definition RodEvolutionControl.hxx:122
double fRho_rod_sin
The reactivity coef for the sinus part of the reactivity formula.
Definition RodEvolutionControl.hxx:115
double fRodLength
The lenght of the control rod.
Definition RodEvolutionControl.hxx:116
double IntegrateRodWorth(double a, double b)
Integral of rod worth.
Definition RodEvolutionControl.cxx:861
double fRho0
The reactivity w/o control rod insert.
Definition RodEvolutionControl.hxx:113
int fRodNormalMove
+1 if the rod go from top to bottom or from left to right, -1 else
Definition RodEvolutionControl.hxx:117
RodEvolutionControl * Clone() override
Definition RodEvolutionControl.hxx:55
double fRho_rod_cte
The reactivity coef for the linear part of the reactivity formula.
Definition RodEvolutionControl.hxx:114
~RodEvolutionControl() override=default
destructor
void FindNextControlRodPosition()
Find control rod position.
Definition RodEvolutionControl.cxx:207
double fOldDeltaRho
The delta rho correction (control rod)
Definition RodEvolutionControl.hxx:119
void InitVector() override
build vector used in fits full of 0.
Definition RodEvolutionControl.cxx:845
double RodWorth(double x)
Give the control rod worth.
Definition RodEvolutionControl.cxx:855
double RodDifferentialWorth(double x)
Give the control rod differential worth.
Definition RodEvolutionControl.cxx:839
double fRodH
The total height of the control rod.
Definition RodEvolutionControl.hxx:112
void FindRodWorthWeigthSlope(double CurrentWorth)
fit the rod worth (no more used)
Definition RodEvolutionControl.cxx:913
double fGlobalWorthIntercept
the (fitted) intercept of the control rod worth
Definition RodEvolutionControl.hxx:124
RodEvolutionControl()
Default Constructor.
Definition RodEvolutionControl.cxx:49
bool Dichotom(double DeltaRho, double &FinalPos)
returns the rod position to obtain a Delta rho
Definition RodEvolutionControl.cxx:875
void FindNextCoefs(double value, vector< double > &V, double &Slope, double &Intersept, int &LastMCRunNumber)
double fGlobalWorthWeight
the weigth of the control rod worth (now not used)
Definition RodEvolutionControl.hxx:125
int fRodAxis
0=x, 1=y, 2=z
Definition RodEvolutionControl.hxx:118
double fGlobalWorthSlope
the (fitted) slope of the control rod worth
Definition RodEvolutionControl.hxx:123
double fDLength
The control rod variation length.
Definition RodEvolutionControl.hxx:121
void ControlBeforeEachSubStep() override
control at each CRAM/RK step (just before a sub-step)
Definition RodEvolutionControl.cxx:167
void ControlAfterEachEvolutionStep() override
control at the end of the CRAM/RK integration, just before an other MC run.
Definition RodEvolutionControl.cxx:182
void FindControlRodWorthParameters(double H, double keff_x0, double keff_xH, double keff_xH4)
Find control rod worth.
Definition RodEvolutionControl.cxx:816
the namespace of the Standard C++

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