Skip to content

Commit

Permalink
contiuning refactoring to clean the code
Browse files Browse the repository at this point in the history
  • Loading branch information
josura committed Aug 6, 2024
1 parent 9e1a48b commit c0a06a9
Show file tree
Hide file tree
Showing 4 changed files with 0 additions and 61 deletions.
30 changes: 0 additions & 30 deletions src/Computation.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -375,36 +375,6 @@ std::vector<double> Computation::computeAugmentedPerturbationSaturatedAndDissipa
}
}

//TODO test if it works in the correct way
std::vector<double> Computation::computeAugmentedPerturbationEnhanced1(double timeStep, bool saturation, const std::vector<double>& saturationsVector){
if(saturation){
if (saturationsVector.size() ) {
if (saturationsVector.size() == InputAugmentedArma.n_elem) {
arma::Col<double> outputArma = pseudoInverseAugmentedArma * dissipationModel->dissipate(InputAugmentedArma, timeStep);
for(uint i = 0;i<outputArma.n_elem;i++){
outputArma[i] = hyperbolicTangentScaled(outputArma[i], saturationsVector[i]);
}
outputAugmented = armaColumnToVector(outputArma);
return outputAugmented;
} else{
throw std::invalid_argument("[ERROR] Computation::computeAugmentedPerturbationEnhanced1: saturationVector is not of the same size as output vector. abort");
}
}
else {
arma::Col<double> outputArma = pseudoInverseAugmentedArma * dissipationModel->dissipate(InputAugmentedArma, timeStep);
for(uint i = 0;i<outputArma.n_elem;i++){
outputArma[i] = hyperbolicTangentScaled(outputArma[i], 1);
}
outputAugmented = armaColumnToVector(outputArma);
return outputAugmented;
}
} else {
arma::Col<double> outputArma = pseudoInverseAugmentedArma * dissipationModel->dissipate(InputAugmentedArma, timeStep);
outputAugmented = armaColumnToVector(outputArma);
return outputAugmented;
}
}

//TODO test if it works in the correct way
std::vector<double> Computation::computeAugmentedPerturbationEnhanced2(double timeStep, bool saturation, const std::vector<double>& saturationsVector,const std::vector<double>& qVector){
if (saturation) {
Expand Down
1 change: 0 additions & 1 deletion src/Computation.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ class Computation{
std::vector<double> computeAugmentedPerturbationDissipatedAfterCompute(double timeStep); //taking into account dissipation after every iteration(Dissipation model), dissipation after the computation of the perturbated value
std::vector<double> computeAugmentedPerturbationDissipatedBeforeCompute(double timeStep); //taking into account dissipation after every iteration (Dissipation model), dissipation before the computation of the perturbated value
std::vector<double> computeAugmentedPerturbationSaturatedAndDissipatedBeforeCompute(double timeStep,const std::vector<double>& saturationsVector = std::vector<double>()); //taking into account saturation(hyperbolic tangent and scaling) and dissipation after every iteration
std::vector<double> computeAugmentedPerturbationEnhanced1(double timeStep, bool saturation = true, const std::vector<double>& saturationsVector = std::vector<double>()); //taking into account saturation(hyperbolic tangent and scaling) and dissipation after every iteration
std::vector<double> computeAugmentedPerturbationEnhanced2(double timeStep, bool saturation = true, const std::vector<double>& saturationsVector = std::vector<double>(),const std::vector<double>& qVector = std::vector<double>()); //taking into account saturation(hyperbolic tangent and scaling), dissipation and conservation after every iteration
std::vector<double> computeAugmentedPerturbationEnhanced3(double timeStep, bool saturation = true, const std::vector<double>& saturationsVector = std::vector<double>(),const std::vector<double>& qVector = std::vector<double>(), std::function<double(double)> propagationScaleFunction = [](double time)-> double{return 1.0;}); //taking into account scaling
std::vector<double> computeAugmentedPerturbationEnhanced4(double timeStep, bool saturation = true, const std::vector<double>& saturationsVector = std::vector<double>(),const std::vector<double>& qVector = std::vector<double>()); //all the models
Expand Down
29 changes: 0 additions & 29 deletions src/ComputationOptimized.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -315,35 +315,6 @@ std::vector<double> ComputationOptimized::computeAugmentedPerturbationSaturatedA
}
}

//TODO test if it works in the correct way
std::vector<double> ComputationOptimized::computeAugmentedPerturbationEnhanced1(double timeStep, bool saturation, const std::vector<double>& saturationsVector){
if(saturation){
if (saturationsVector.size() ) {
if (saturationsVector.size() == InputAugmentedArma.n_elem) {
arma::Col<double> outputArma = pseudoInverseAugmentedArma * dissipationModel->dissipate(InputAugmentedArma, timeStep);
for(uint i = 0;i<outputArma.n_elem;i++){
outputArma[i] = hyperbolicTangentScaled(outputArma[i], saturationsVector[i]);
}
outputAugmented = armaColumnToVector(outputArma);
return outputAugmented;
} else{
throw std::invalid_argument("[ERROR] ComputationOptimized::computeAugmentedPerturbationEnhanced1: saturationVector is not of the same size as output vector. abort");
}
}
else {
arma::Col<double> outputArma = pseudoInverseAugmentedArma * dissipationModel->dissipate(InputAugmentedArma, timeStep);
for(uint i = 0;i<outputArma.n_elem;i++){
outputArma[i] = hyperbolicTangentScaled(outputArma[i], 1);
}
outputAugmented = armaColumnToVector(outputArma);
return outputAugmented;
}
} else {
arma::Col<double> outputArma = pseudoInverseAugmentedArma * dissipationModel->dissipate(InputAugmentedArma, timeStep);
outputAugmented = armaColumnToVector(outputArma);
return outputAugmented;
}
}

//TODO test if it works in the correct way
std::vector<double> ComputationOptimized::computeAugmentedPerturbationEnhanced2(double timeStep, bool saturation, const std::vector<double>& saturationsVector,const std::vector<double>& qVector){
Expand Down
1 change: 0 additions & 1 deletion src/ComputationOptimized.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ class ComputationOptimized{
std::vector<double> computeAugmentedPerturbationDissipatedAfterCompute(double timeStep); //taking into account dissipation after every iteration(Dissipation model), dissipation after the ComputationOptimized of the perturbated value
std::vector<double> computeAugmentedPerturbationDissipatedBeforeCompute(double timeStep); //taking into account dissipation after every iteration (Dissipation model), dissipation before the ComputationOptimized of the perturbated value
std::vector<double> computeAugmentedPerturbationSaturatedAndDissipatedBeforeCompute(double timeStep,const std::vector<double>& saturationsVector = std::vector<double>()); //taking into account saturation(hyperbolic tangent and scaling) and dissipation after every iteration
std::vector<double> computeAugmentedPerturbationEnhanced1(double timeStep, bool saturation = true, const std::vector<double>& saturationsVector = std::vector<double>()); //taking into account saturation(hyperbolic tangent and scaling) and dissipation after every iteration
std::vector<double> computeAugmentedPerturbationEnhanced2(double timeStep, bool saturation = true, const std::vector<double>& saturationsVector = std::vector<double>(),const std::vector<double>& qVector = std::vector<double>()); //taking into account saturation(hyperbolic tangent and scaling), dissipation and conservation after every iteration
std::pair<std::string,double> getMapVirtualOutputsToCellInputs(); //TODO
void updateInput(const std::vector<double>& newInp = std::vector<double>(), bool augmented = false);
Expand Down

0 comments on commit c0a06a9

Please sign in to comment.