←
Documentation
ADS-IDAC Engine
5.0.0
SupportSystemInitiatingEventUnit.cpp
Go to the documentation of this file.
1
#include "
SupportSystemInitiatingEventUnit.h
"
2
#include "../Global/SimulationContext.h"
3
#include <boost/serialization/export.hpp>
4
#include <boost/archive/binary_oarchive.hpp>
5
#include <boost/archive/binary_iarchive.hpp>
6
BOOST_CLASS_EXPORT_IMPLEMENT(
SupportSystemInitiatingEventUnit
)
7
using namespace
std;
8
9
SupportSystemInitiatingEventUnit::SupportSystemInitiatingEventUnit
() {
10
initiating_event_name
=
"NONE"
;
11
support_system_top_node_name
=
"NONE"
;
12
support_system_basic_event_node_name
=
"NONE"
;
13
time_at_which_this_IE_activated
= -1.0;
14
probability_value_to_act_on_the_support_system_node
= -1;
15
probability_of_this_initiating_event
= 1.0;
16
}
17
18
SupportSystemInitiatingEventUnit::~SupportSystemInitiatingEventUnit
() {
19
}
20
21
void
SupportSystemInitiatingEventUnit::readInfoFromFile
(ifstream &fin) {
22
double
failure_alpha_parameter, failure_beta_parameter;
23
double
recovery_alpha_parameter, recovery_beta_parameter;
24
SupportSystemReliabilityUnit
*ssu_pt;
25
fin >>
initiating_event_name
26
>>
probability_value_to_act_on_the_support_system_node
27
>>
time_at_which_this_IE_activated
28
>>
support_system_top_node_name
29
>>
support_system_basic_event_node_name
30
>> failure_alpha_parameter
31
>> failure_beta_parameter
32
>> recovery_alpha_parameter
33
>> recovery_beta_parameter;
34
Failure_Probability
.
setAlpha_Parameter
(failure_alpha_parameter);
35
Failure_Probability
.
setBeta_Parameter
(failure_beta_parameter);
36
probability_of_this_initiating_event
=
Failure_Probability
.
calculateProbability
();
37
//
38
ssu_pt =
g_sim
.
Support_system_reliability
.
getSupportSystemReliabilityUnit
(
support_system_top_node_name
);
39
if
(ssu_pt != 0) {
40
ssu_pt->
setAlpha_Parameter
(recovery_alpha_parameter);
41
ssu_pt->
setBeta_Parameter
(recovery_beta_parameter);
42
}
43
}
44
const
string
&
SupportSystemInitiatingEventUnit::getInitiatingEventName
()
const
{
45
return
initiating_event_name
;
46
}
47
const
string
&
SupportSystemInitiatingEventUnit::getSupportSystemTopNodeName
()
const
{
48
return
support_system_top_node_name
;
49
}
50
const
string
&
SupportSystemInitiatingEventUnit::getSupportSystemBasicEventNodeName
()
const
{
51
return
support_system_basic_event_node_name
;
52
}
53
double
SupportSystemInitiatingEventUnit::getTimeAtWhichThisIEActivated
()
const
{
54
return
time_at_which_this_IE_activated
;
55
}
56
double
SupportSystemInitiatingEventUnit::getProbabilityValueToActOnTheSupportSystemNode
()
const
{
57
return
probability_value_to_act_on_the_support_system_node
;
58
}
59
double
SupportSystemInitiatingEventUnit::getProbabilityOfThisInitiatingEvent
()
const
{
60
return
probability_of_this_initiating_event
;
61
}
62
int
SupportSystemInitiatingEventUnit::checkActivationState
() {
63
int
r_state =
sim::State::Done
;
64
if
(this->
getStateOfActivation
() ==
sim::None
) {
65
if
(
time_at_which_this_IE_activated
< 0.0) {
66
this->
setStateOfActivation
(
sim::State::Done
);
67
}
else
if
(
time_at_which_this_IE_activated
<=
r5pars_
.timesno) {
68
r_state =
sim::Action::Direct
;
69
this->
setStateOfActivation
(
sim::State::Done
);
70
}
else
{
71
r_state =
sim::None
;
72
}
73
}
74
return
r_state;
75
}
76
void
SupportSystemInitiatingEventUnit::copySupportSystemInitiatingEventUnit
(
SupportSystemInitiatingEventUnit
&_ssieu) {
77
initiating_event_name
= _ssieu.
getInitiatingEventName
();
78
support_system_top_node_name
= _ssieu.
getSupportSystemTopNodeName
();
79
support_system_basic_event_node_name
= _ssieu.
getSupportSystemBasicEventNodeName
();
80
time_at_which_this_IE_activated
= _ssieu.
getTimeAtWhichThisIEActivated
();
81
probability_value_to_act_on_the_support_system_node
= _ssieu.
getProbabilityValueToActOnTheSupportSystemNode
();
82
probability_of_this_initiating_event
= _ssieu.
getProbabilityOfThisInitiatingEvent
();
83
this->
copyStateOfActivation
(_ssieu);
84
this->
Failure_Probability
.
copyProbability
(_ssieu.
Failure_Probability
);
85
}
86
void
SupportSystemInitiatingEventUnit::saveSupportSystemInitiatingEventUnitToFile
(ofstream &fout) {
87
fout <<
initiating_event_name
<<
' '
88
<<
support_system_top_node_name
<<
' '
89
<<
support_system_basic_event_node_name
<<
' '
90
<<
time_at_which_this_IE_activated
<<
' '
91
<<
probability_value_to_act_on_the_support_system_node
<<
' '
92
<<
probability_of_this_initiating_event
<<
'\n'
;
93
this->
saveStateOfActivationToFile
(fout);
94
this->
Failure_Probability
.
saveProbabilityToFile
(fout);
95
}
96
void
SupportSystemInitiatingEventUnit::retrieveSupportSystemInitiatingEventUnitFromFile
(ifstream &fin) {
97
fin >>
initiating_event_name
98
>>
support_system_top_node_name
99
>>
support_system_basic_event_node_name
100
>>
time_at_which_this_IE_activated
101
>>
probability_value_to_act_on_the_support_system_node
102
>>
probability_of_this_initiating_event
;
103
this->
retrieveStateOfActivationFromFile
(fin);
104
this->
Failure_Probability
.
retrieveProbabilityFromFile
(fin);
105
}
g_sim
SimulationContext g_sim
Global simulation context: the single instance, defined in SimulationContext.cpp.
Definition:
SimulationContext.cpp:7
SupportSystemInitiatingEventUnit.h
Probability::copyProbability
void copyProbability(Probability &)
Definition:
Probability.cpp:28
Probability::setBeta_Parameter
void setBeta_Parameter(double)
Definition:
Probability.cpp:46
Probability::calculateProbability
double calculateProbability()
Definition:
Probability.cpp:702
Probability::saveProbabilityToFile
void saveProbabilityToFile(std::ofstream &)
Definition:
Probability.cpp:34
Probability::retrieveProbabilityFromFile
void retrieveProbabilityFromFile(std::ifstream &)
Definition:
Probability.cpp:39
Probability::setAlpha_Parameter
void setAlpha_Parameter(double)
Definition:
Probability.cpp:44
StateOfActivation::setStateOfActivation
void setStateOfActivation(int)
Definition:
StateOfActivation.cpp:26
StateOfActivation::saveStateOfActivationToFile
void saveStateOfActivationToFile(std::ofstream &)
Definition:
StateOfActivation.cpp:30
StateOfActivation::getStateOfActivation
int getStateOfActivation()
Definition:
StateOfActivation.cpp:25
StateOfActivation::retrieveStateOfActivationFromFile
void retrieveStateOfActivationFromFile(std::ifstream &)
Definition:
StateOfActivation.cpp:33
StateOfActivation::copyStateOfActivation
void copyStateOfActivation(StateOfActivation &)
Definition:
StateOfActivation.cpp:27
SupportSystemInitiatingEventUnit
Definition:
SupportSystemInitiatingEventUnit.h:16
SupportSystemInitiatingEventUnit::initiating_event_name
std::string initiating_event_name
Definition:
SupportSystemInitiatingEventUnit.h:34
SupportSystemInitiatingEventUnit::support_system_top_node_name
std::string support_system_top_node_name
Definition:
SupportSystemInitiatingEventUnit.h:34
SupportSystemInitiatingEventUnit::probability_of_this_initiating_event
double probability_of_this_initiating_event
Definition:
SupportSystemInitiatingEventUnit.h:37
SupportSystemInitiatingEventUnit::~SupportSystemInitiatingEventUnit
virtual ~SupportSystemInitiatingEventUnit()
Definition:
SupportSystemInitiatingEventUnit.cpp:18
SupportSystemInitiatingEventUnit::getSupportSystemBasicEventNodeName
const std::string & getSupportSystemBasicEventNodeName() const
Definition:
SupportSystemInitiatingEventUnit.cpp:50
SupportSystemInitiatingEventUnit::checkActivationState
int checkActivationState()
Definition:
SupportSystemInitiatingEventUnit.cpp:62
SupportSystemInitiatingEventUnit::support_system_basic_event_node_name
std::string support_system_basic_event_node_name
Definition:
SupportSystemInitiatingEventUnit.h:34
SupportSystemInitiatingEventUnit::retrieveSupportSystemInitiatingEventUnitFromFile
void retrieveSupportSystemInitiatingEventUnitFromFile(std::ifstream &)
Definition:
SupportSystemInitiatingEventUnit.cpp:96
SupportSystemInitiatingEventUnit::readInfoFromFile
void readInfoFromFile(std::ifstream &)
Definition:
SupportSystemInitiatingEventUnit.cpp:21
SupportSystemInitiatingEventUnit::getProbabilityOfThisInitiatingEvent
double getProbabilityOfThisInitiatingEvent() const
Definition:
SupportSystemInitiatingEventUnit.cpp:59
SupportSystemInitiatingEventUnit::time_at_which_this_IE_activated
double time_at_which_this_IE_activated
Definition:
SupportSystemInitiatingEventUnit.h:35
SupportSystemInitiatingEventUnit::getProbabilityValueToActOnTheSupportSystemNode
double getProbabilityValueToActOnTheSupportSystemNode() const
Definition:
SupportSystemInitiatingEventUnit.cpp:56
SupportSystemInitiatingEventUnit::Failure_Probability
Probability Failure_Probability
Definition:
SupportSystemInitiatingEventUnit.h:31
SupportSystemInitiatingEventUnit::getTimeAtWhichThisIEActivated
double getTimeAtWhichThisIEActivated() const
Definition:
SupportSystemInitiatingEventUnit.cpp:53
SupportSystemInitiatingEventUnit::SupportSystemInitiatingEventUnit
SupportSystemInitiatingEventUnit()
Definition:
SupportSystemInitiatingEventUnit.cpp:9
SupportSystemInitiatingEventUnit::probability_value_to_act_on_the_support_system_node
double probability_value_to_act_on_the_support_system_node
Definition:
SupportSystemInitiatingEventUnit.h:36
SupportSystemInitiatingEventUnit::getSupportSystemTopNodeName
const std::string & getSupportSystemTopNodeName() const
Definition:
SupportSystemInitiatingEventUnit.cpp:47
SupportSystemInitiatingEventUnit::saveSupportSystemInitiatingEventUnitToFile
void saveSupportSystemInitiatingEventUnitToFile(std::ofstream &)
Definition:
SupportSystemInitiatingEventUnit.cpp:86
SupportSystemInitiatingEventUnit::copySupportSystemInitiatingEventUnit
void copySupportSystemInitiatingEventUnit(SupportSystemInitiatingEventUnit &)
Definition:
SupportSystemInitiatingEventUnit.cpp:76
SupportSystemInitiatingEventUnit::getInitiatingEventName
const std::string & getInitiatingEventName() const
Definition:
SupportSystemInitiatingEventUnit.cpp:44
SupportSystemReliabilityModule::getSupportSystemReliabilityUnit
const std::vector< std::unique_ptr< SupportSystemReliabilityUnit > > & getSupportSystemReliabilityUnit() const
Definition:
SupportSystemReliabilityModule.cpp:147
SupportSystemReliabilityUnit
Definition:
SupportSystemReliabilityUnit.h:23
r5pars_
struct @0 r5pars_
sim::Action::Direct
constexpr int Direct
Definition:
SimConstants.h:202
sim::State::Done
constexpr int Done
Definition:
SimConstants.h:123
sim::None
constexpr int None
Definition:
SimConstants.h:75
SimulationContext::Support_system_reliability
SupportSystemReliabilityModule Support_system_reliability
Support system reliability.
Definition:
SimulationContext.h:54
src
ADSIDAC
Scheduler
SupportSystemInitiatingEventUnit.cpp
Generated by
1.9.4