-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathevaluator.cpp
43 lines (32 loc) · 1.27 KB
/
evaluator.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include "evaluator.h"
float Evaluator::EvaluateMolarConcentration(const float molecular_weigth, const float volume_l, const float mass) {
return mass / (molecular_weigth * volume_l);
}
float Evaluator::EvaluateVolume(const float molecular_weigth, const float molar_concentration, const float mass) {
return mass / (molecular_weigth * molar_concentration);
}
float Evaluator::EvaluateMass(const float molecular_weigth, const float volume_l, const float molar_concentration) {
return molar_concentration * volume_l * molecular_weigth;
}
float Evaluator::EvaluateMassInsertion(
const float vector_mass,
const float vector_lenght,
const float ratio_l,
const float ratio_r,
const float lenght_insertion
) {
float number_of_moles_of_vector = vector_mass / vector_lenght;
int left = ratio_l;
int right = ratio_r;
float number_of_moles_of_an_insertion = 0;
if (left < right) {
number_of_moles_of_an_insertion = number_of_moles_of_vector * right;
}
else if (left > right) {
number_of_moles_of_an_insertion = number_of_moles_of_vector / left;
}
else if (left == right) {
number_of_moles_of_an_insertion = number_of_moles_of_vector;
}
return number_of_moles_of_an_insertion * lenght_insertion;
}