Skip to content
Snippets Groups Projects
Commit dc907c7a authored by BaM's avatar BaM
Browse files

del PhysicModel

git-svn-id: svn+ssh://svn.in2p3.fr/class@377 0e7d625b-0364-4367-a6be-d5be4a48d228
parent 61cc2f81
No related branches found
No related tags found
No related merge requests found
#ifndef _PHYSICMODELS_HXX
#define _PHYSICMODELS_HXX
/*!
\file
\brief Header file for XS_INTERPOLATOR class.
@authors BLG,BaM
@version 1.0
*/
#include "CLASSFuel.hxx"
#include "EquivalenceModel.hxx"
#include "XSModel.hxx"
#include "IrradiationModel.hxx"
#include "EvolutionData.hxx"
using namespace std;
typedef long long int cSecond;
//-----------------------------------------------------------------------------//
/*!
Define all the physic models used for a specific database
The 2 following are data base related (for one Reactor and one fuel type and one ...) :
User can either define his own (see manual) or uses the provided ones ) :
XS_Interpolator = Closest , MLP ....
Equivalence_Model = Linear,Quadratique, MLP ...
this one is bateman solvers related :
(or it may be link to a evolution code (like MURE), not yet implemented but envisaged)
IrradiationModel = RK4 or Matrix
@authors BLG,BaM
@version 1.0
*/
//________________________________________________________________________
class PhysicModels : public CLASSFuel
{
public :
/*!
\name Constructor/Desctructor
*/
//@{
PhysicModels();
PhysicModels(XSModel* XS, EquivalenceModel* EM, IrradiationModel* IM );
PhysicModels(CLASSLogger* log, XSModel* XS, EquivalenceModel* EM, IrradiationModel* IM );
~PhysicModels() {;}
//{
EvolutionData GenerateEvolutionData(IsotopicVector IV, double cycletime, double Power);
XSModel* GetXSModel() {return fXSModel;}
EquivalenceModel* GetEquivalenceModel() {return fEquivalenceModel;}
IrradiationModel* GetIrradiationModel() {return fIrradiationModel;}
PhysicModels* GetPhysicModels() {return this;}
private :
XSModel* fXSModel;
EquivalenceModel* fEquivalenceModel;
IrradiationModel* fIrradiationModel;
};
#endif
#include "PhysicModels.hxx"
//________________________________________________________________________
//
// PhysicModels
//
//
//
//
//________________________________________________________________________
PhysicModels::PhysicModels():CLASSFuel()
{
fXSModel = 0;
fEquivalenceModel = 0;
fIrradiationModel = 0;
}
//________________________________________________________________________
PhysicModels::PhysicModels(XSModel* XS, EquivalenceModel* EM, IrradiationModel* IM ):CLASSFuel()
{
fXSModel = XS;
fEquivalenceModel = EM;
fIrradiationModel = IM;
}
//________________________________________________________________________
PhysicModels::PhysicModels(CLASSLogger* log, XSModel* XS, EquivalenceModel* EM, IrradiationModel* IM ):CLASSFuel(log)
{
fXSModel = XS;
fEquivalenceModel = EM;
fIrradiationModel = IM;
}
//________________________________________________________________________
EvolutionData PhysicModels::GenerateEvolutionData(IsotopicVector IV, double cycletime, double Power)
{
return fIrradiationModel->GenerateEvolutionData(IV, fXSModel->GetCrossSections(IV), Power, cycletime);
}
//________________________________________________________________________
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment