Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add SPRA module for mastodon #337

Draft
wants to merge 5 commits into
base: devel
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added doc/content/Documentation SPRA.pdf
Binary file not shown.
52 changes: 52 additions & 0 deletions include/utils/CommonCauseFailuresUtils.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#ifndef _CommonCauseFailures_H
#define _CommonCauseFailures_H

#include <EventTreeUtils.h>
#include "MastodonUtils.h"

namespace FTAUtils
{

void CCF(std::string ccfList,
std::string ccfParameters,
std::string ccfFtDetails,
std::string ftBasicProb,
MapVecString & ccfFtDetailsDict,
std::map<std::string, std::map<std::string, std::set<std::string>>> & newCorrespondingBe,
std::vector<VecVecString> & ftBasicProbVector);
void combinations(
VecString & finalVector,
VecString & arr,
std::string curString,
int index,
int arrSize,
int curStringSize,
std::string key,
MapVecString & ccfEventsDict,
std::map<std::string, std::map<std::string, std::set<std::string>>> & newCorrespondingBe);
void createNewBasicEvents(
std::map<std::string, std::map<std::string, std::set<std::string>>> & newCorrespondingBe,
MapVecString ccfEventsDict,
MapVecVecString & newBeProbDict,
MapVecString ccfParametersDict);
void updateCCFProb(FTAUtils::MapVecVecString & newBeProbDict,
std::vector<VecVecString> & ftBasicProbVector);
void CCF2(FTAUtils::VecVecString ftText,
std::map<std::string, std::map<std::string, std::set<std::string>>> newCorrespondingBe,
FTAUtils::MapVecString ccfFtDetailsDict,
FTAUtils::VecVecString & ftMocusVector);
void
addBeCCF(FTAUtils::VecVecString & ftMocusVector,
std::map<std::string, std::map<std::string, std::set<std::string>>> & newCorrespondingBe,
MapVecString & ccfFtDetailsDict);
void addBeCCFSupport(VecVecString & ftMocusVector,
std::map<std::string, std::set<std::string>> newCorrespondingBeForTheKey,
std::string key);

std::string str2Upper(const std::string & str_in, bool trim_input);
int factorial(int num);
double nCr(int n, int r);

} // namespace FTAUtils

#endif
57 changes: 57 additions & 0 deletions include/utils/EventTreeUtils.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#ifndef _EVENTTREE_H
#define _EVENTTREE_H

#include <FaultTreeUtils.h>
#include <MastodonUtils.h>
namespace FTAUtils
{

void ETA(std::string teFtFile,
std::string teSeqs,
std::map<std::string, FTAUtils::MapVecVecDouble> & dictQuantificationParamsDouble,
std::map<std::string, FTAUtils::MapAnalysis> & dictQuantificationParamsAnalysis,
std::map<std::string, FTAUtils::MapInt> & dictQuantificationParamsInt,
std::map<std::string, FTAUtils::MapVecVecString> & dictQuantificationParamsString,
std::map<std::string, FTAUtils::MapBool> & dictQuantificationParamsBool,
std::string probText = "",
std::string ccfList = "",
std::string ccfParameters = "",
std::string ccfftDetail = "",
std::string hazard = "",
std::string analysis = "RISK",
double im_lower = 0.1,
double im_upper = 4,
int nbins = 15,
bool uncertainity = false,
int nsamp = 1,
int seed = 0);
VecVecString mocusRemoveSubsets(SetSetString failedCutSets, SetSetString successCutSets);
VecVecString ftMocusList(std::string key, SetSetString cutSets);
VecVecString mocusSuccessFailed(std::vector<std::string> seq,
std::string flag,
FTAUtils::MapVecVecString dictMList);
MapVecVecString mocusSeq(MapVecVecString dictSeq, MapVecVecString dictMList);
// void developQuant(MapVecVecString dictFinal, std::string probText, std::string analysis,
// std::string hazard, int nbins, double im_lower, double im_upper, bool uncertainity, int nsamp,
// int seed);
void developQuant(FTAUtils::MapVecVecString dictFinal,
std::map<std::string, FTAUtils::MapVecVecDouble> & dictQuantificationParamsDouble,
std::map<std::string, FTAUtils::MapAnalysis> & dictQuantificationParamsAnalysis,
std::map<std::string, FTAUtils::MapInt> & dictQuantificationParamsInt,
std::map<std::string, FTAUtils::MapVecVecString> & dictQuantificationParamsString,
std::map<std::string, FTAUtils::MapBool> & dictQuantificationParamsBool,
std::string probText,
std::string analysis,
std::string hazard,
int nbins,
double im_lower,
double im_upper,
bool uncertainity,
int nsamp,
int seed,
std::string ccfList,
std::string ccfParameters,
std::string ccfftDetail);
} // namespace FTAUtils

#endif // _EVENTTREE_H
Loading