| 39 |
|
* such damages. |
| 40 |
|
*/ |
| 41 |
|
#include "applications/hydrodynamics/HydrodynamicsModel.hpp" |
| 42 |
< |
#include "applications/hydrodynamics/Spheric.hpp" |
| 43 |
< |
#include "applications/hydrodynamics/Ellipsoid.hpp" |
| 42 |
> |
#include "hydrodynamics/Shape.hpp" |
| 43 |
> |
#include "hydrodynamics/Sphere.hpp" |
| 44 |
> |
#include "hydrodynamics/Ellipsoid.hpp" |
| 45 |
|
#include "applications/hydrodynamics/CompositeShape.hpp" |
| 46 |
|
|
| 47 |
|
namespace oopse { |
| 48 |
< |
|
| 49 |
< |
bool HydrodynamicsModel::calcHydroProps(Spheric* spheric, double viscosity, double temperature) { |
| 48 |
> |
|
| 49 |
> |
bool HydrodynamicsModel::calcHydroProps(Shape* shape, RealType viscosity, RealType temperature) { |
| 50 |
|
return false; |
| 51 |
< |
} |
| 51 |
> |
} |
| 52 |
> |
|
| 53 |
> |
void HydrodynamicsModel::writeHydroProps(std::ostream& os) { |
| 54 |
|
|
| 55 |
< |
bool HydrodynamicsModel::calcHydroProps(Ellipsoid* ellipsoid, double viscosity, double temperature) { |
| 56 |
< |
return false; |
| 54 |
< |
} |
| 55 |
< |
|
| 56 |
< |
bool HydrodynamicsModel::calcHydroProps(CompositeShape* compositexShape, double viscosity, double temperature) { |
| 57 |
< |
return false; |
| 58 |
< |
} |
| 59 |
< |
|
| 60 |
< |
void HydrodynamicsModel::writeHydroProps(std::ostream& os) { |
| 61 |
< |
|
| 55 |
> |
Vector3d center; |
| 56 |
> |
Mat6x6d Xi, D; |
| 57 |
|
|
| 58 |
|
os << sd_->getType() << "\t"; |
| 59 |
|
|
| 60 |
|
//center of resistance |
| 66 |
– |
os << cr_.center[0] << "\t" << cr_.center[1] << "\t" << cr_.center[2] << "\t"; |
| 61 |
|
|
| 62 |
+ |
center = cr_->getCOR(); |
| 63 |
+ |
|
| 64 |
+ |
os << center[0] << "\t" << center[1] << "\t" << center[2] << "\t"; |
| 65 |
+ |
|
| 66 |
|
//resistance tensor at center of resistance |
| 67 |
|
//translation |
| 70 |
– |
os << cr_.Xi(0, 0) << "\t" << cr_.Xi(0, 1) << "\t" << cr_.Xi(0, 2) << "\t" |
| 71 |
– |
<< cr_.Xi(1, 0) << "\t" << cr_.Xi(1, 1) << "\t" << cr_.Xi(1, 2) << "\t" |
| 72 |
– |
<< cr_.Xi(2, 0) << "\t" << cr_.Xi(2, 1) << "\t" << cr_.Xi(2, 2) << "\t"; |
| 68 |
|
|
| 69 |
< |
//rotation-translation |
| 75 |
< |
os << cr_.Xi(0, 3) << "\t" << cr_.Xi(0, 4) << "\t" << cr_.Xi(0, 5) << "\t" |
| 76 |
< |
<< cr_.Xi(1, 3) << "\t" << cr_.Xi(1, 4) << "\t" << cr_.Xi(1, 5) << "\t" |
| 77 |
< |
<< cr_.Xi(2, 3) << "\t" << cr_.Xi(2, 4) << "\t" << cr_.Xi(2, 5) << "\t"; |
| 69 |
> |
Xi = cr_->getXi(); |
| 70 |
|
|
| 71 |
+ |
os << Xi(0, 0) << "\t" << Xi(0, 1) << "\t" << Xi(0, 2) << "\t" |
| 72 |
+ |
<< Xi(1, 0) << "\t" << Xi(1, 1) << "\t" << Xi(1, 2) << "\t" |
| 73 |
+ |
<< Xi(2, 0) << "\t" << Xi(2, 1) << "\t" << Xi(2, 2) << "\t"; |
| 74 |
+ |
|
| 75 |
+ |
//rotation-translation |
| 76 |
+ |
os << Xi(0, 3) << "\t" << Xi(0, 4) << "\t" << Xi(0, 5) << "\t" |
| 77 |
+ |
<< Xi(1, 3) << "\t" << Xi(1, 4) << "\t" << Xi(1, 5) << "\t" |
| 78 |
+ |
<< Xi(2, 3) << "\t" << Xi(2, 4) << "\t" << Xi(2, 5) << "\t"; |
| 79 |
+ |
|
| 80 |
|
//translation-rotation |
| 81 |
< |
os << cr_.Xi(3, 0) << "\t" << cr_.Xi(3, 1) << "\t" << cr_.Xi(3, 2) << "\t" |
| 82 |
< |
<< cr_.Xi(4, 0) << "\t" << cr_.Xi(4, 1) << "\t" << cr_.Xi(4, 2) << "\t" |
| 83 |
< |
<< cr_.Xi(5, 0) << "\t" << cr_.Xi(5, 1) << "\t" << cr_.Xi(5, 2) << "\t"; |
| 84 |
< |
|
| 81 |
> |
os << Xi(3, 0) << "\t" << Xi(3, 1) << "\t" << Xi(3, 2) << "\t" |
| 82 |
> |
<< Xi(4, 0) << "\t" << Xi(4, 1) << "\t" << Xi(4, 2) << "\t" |
| 83 |
> |
<< Xi(5, 0) << "\t" << Xi(5, 1) << "\t" << Xi(5, 2) << "\t"; |
| 84 |
> |
|
| 85 |
|
//rotation |
| 86 |
< |
os << cr_.Xi(3, 3) << "\t" << cr_.Xi(3, 4) << "\t" << cr_.Xi(3, 5) << "\t" |
| 87 |
< |
<< cr_.Xi(4, 3) << "\t" << cr_.Xi(4, 4) << "\t" << cr_.Xi(4, 5) << "\t" |
| 88 |
< |
<< cr_.Xi(5, 3) << "\t" << cr_.Xi(5, 4) << "\t" << cr_.Xi(5, 5) << "\t"; |
| 89 |
< |
|
| 90 |
< |
|
| 86 |
> |
os << Xi(3, 3) << "\t" << Xi(3, 4) << "\t" << Xi(3, 5) << "\t" |
| 87 |
> |
<< Xi(4, 3) << "\t" << Xi(4, 4) << "\t" << Xi(4, 5) << "\t" |
| 88 |
> |
<< Xi(5, 3) << "\t" << Xi(5, 4) << "\t" << Xi(5, 5) << "\t"; |
| 89 |
> |
|
| 90 |
> |
|
| 91 |
|
//diffusion tensor at center of resistance |
| 92 |
|
//translation |
| 92 |
– |
os << cr_.D(0, 0) << "\t" << cr_.D(0, 1) << "\t" << cr_.D(0, 2) << "\t" |
| 93 |
– |
<< cr_.D(1, 0) << "\t" << cr_.D(1, 1) << "\t" << cr_.D(1, 2) << "\t" |
| 94 |
– |
<< cr_.D(2, 0) << "\t" << cr_.D(2, 1) << "\t" << cr_.D(2, 2) << "\t"; |
| 93 |
|
|
| 94 |
< |
//rotation-translation |
| 97 |
< |
os << cr_.D(0, 3) << "\t" << cr_.D(0, 4) << "\t" << cr_.D(0, 5) << "\t" |
| 98 |
< |
<< cr_.D(1, 3) << "\t" << cr_.D(1, 4) << "\t" << cr_.D(1, 5) << "\t" |
| 99 |
< |
<< cr_.D(2, 3) << "\t" << cr_.D(2, 4) << "\t" << cr_.D(2, 5) << "\t"; |
| 94 |
> |
D = cr_->getD(); |
| 95 |
|
|
| 96 |
+ |
os << D(0, 0) << "\t" << D(0, 1) << "\t" << D(0, 2) << "\t" |
| 97 |
+ |
<< D(1, 0) << "\t" << D(1, 1) << "\t" << D(1, 2) << "\t" |
| 98 |
+ |
<< D(2, 0) << "\t" << D(2, 1) << "\t" << D(2, 2) << "\t"; |
| 99 |
+ |
|
| 100 |
+ |
//rotation-translation |
| 101 |
+ |
os << D(0, 3) << "\t" << D(0, 4) << "\t" << D(0, 5) << "\t" |
| 102 |
+ |
<< D(1, 3) << "\t" << D(1, 4) << "\t" << D(1, 5) << "\t" |
| 103 |
+ |
<< D(2, 3) << "\t" << D(2, 4) << "\t" << D(2, 5) << "\t"; |
| 104 |
+ |
|
| 105 |
|
//translation-rotation |
| 106 |
< |
os << cr_.D(3, 0) << "\t" << cr_.D(3, 1) << "\t" << cr_.D(3, 2) << "\t" |
| 107 |
< |
<< cr_.D(4, 0) << "\t" << cr_.D(4, 1) << "\t" << cr_.D(4, 2) << "\t" |
| 108 |
< |
<< cr_.D(5, 0) << "\t" << cr_.D(5, 1) << "\t" << cr_.D(5, 2) << "\t"; |
| 109 |
< |
|
| 106 |
> |
os << D(3, 0) << "\t" << D(3, 1) << "\t" << D(3, 2) << "\t" |
| 107 |
> |
<< D(4, 0) << "\t" << D(4, 1) << "\t" << D(4, 2) << "\t" |
| 108 |
> |
<< D(5, 0) << "\t" << D(5, 1) << "\t" << D(5, 2) << "\t"; |
| 109 |
> |
|
| 110 |
|
//rotation |
| 111 |
< |
os << cr_.D(3, 3) << "\t" << cr_.D(3, 4) << "\t" << cr_.D(3, 5) << "\t" |
| 112 |
< |
<< cr_.D(4, 3) << "\t" << cr_.D(4, 4) << "\t" << cr_.D(4, 5) << "\t" |
| 113 |
< |
<< cr_.D(5, 3) << "\t" << cr_.D(5, 4) << "\t" << cr_.D(5, 5) << "\t"; |
| 114 |
< |
|
| 111 |
> |
os << D(3, 3) << "\t" << D(3, 4) << "\t" << D(3, 5) << "\t" |
| 112 |
> |
<< D(4, 3) << "\t" << D(4, 4) << "\t" << D(4, 5) << "\t" |
| 113 |
> |
<< D(5, 3) << "\t" << D(5, 4) << "\t" << D(5, 5) << "\t"; |
| 114 |
> |
|
| 115 |
|
//--------------------------------------------------------------------- |
| 116 |
< |
|
| 116 |
> |
|
| 117 |
|
//center of diffusion |
| 114 |
– |
os << cd_.center[0] << "\t" << cd_.center[1] << "\t" << cd_.center[2] << "\t"; |
| 118 |
|
|
| 119 |
+ |
center = cd_->getCOR(); |
| 120 |
+ |
|
| 121 |
+ |
os << center[0] << "\t" << center[1] << "\t" << center[2] << "\t"; |
| 122 |
+ |
|
| 123 |
|
//resistance tensor at center of diffusion |
| 124 |
|
//translation |
| 118 |
– |
os << cd_.Xi(0, 0) << "\t" << cd_.Xi(0, 1) << "\t" << cd_.Xi(0, 2) << "\t" |
| 119 |
– |
<< cd_.Xi(1, 0) << "\t" << cd_.Xi(1, 1) << "\t" << cd_.Xi(1, 2) << "\t" |
| 120 |
– |
<< cd_.Xi(2, 0) << "\t" << cd_.Xi(2, 1) << "\t" << cd_.Xi(2, 2) << "\t"; |
| 125 |
|
|
| 126 |
< |
//rotation-translation |
| 123 |
< |
os << cd_.Xi(0, 3) << "\t" << cd_.Xi(0, 4) << "\t" << cd_.Xi(0, 5) << "\t" |
| 124 |
< |
<< cd_.Xi(1, 3) << "\t" << cd_.Xi(1, 4) << "\t" << cd_.Xi(1, 5) << "\t" |
| 125 |
< |
<< cd_.Xi(2, 3) << "\t" << cd_.Xi(2, 4) << "\t" << cd_.Xi(2, 5) << "\t"; |
| 126 |
> |
Xi = cd_->getXi(); |
| 127 |
|
|
| 128 |
+ |
os << Xi(0, 0) << "\t" << Xi(0, 1) << "\t" << Xi(0, 2) << "\t" |
| 129 |
+ |
<< Xi(1, 0) << "\t" << Xi(1, 1) << "\t" << Xi(1, 2) << "\t" |
| 130 |
+ |
<< Xi(2, 0) << "\t" << Xi(2, 1) << "\t" << Xi(2, 2) << "\t"; |
| 131 |
+ |
|
| 132 |
+ |
//rotation-translation |
| 133 |
+ |
os << Xi(0, 3) << "\t" << Xi(0, 4) << "\t" << Xi(0, 5) << "\t" |
| 134 |
+ |
<< Xi(1, 3) << "\t" << Xi(1, 4) << "\t" << Xi(1, 5) << "\t" |
| 135 |
+ |
<< Xi(2, 3) << "\t" << Xi(2, 4) << "\t" << Xi(2, 5) << "\t"; |
| 136 |
+ |
|
| 137 |
|
//translation-rotation |
| 138 |
< |
os << cd_.Xi(3, 0) << "\t" << cd_.Xi(3, 1) << "\t" << cd_.Xi(3, 2) << "\t" |
| 139 |
< |
<< cd_.Xi(4, 0) << "\t" << cd_.Xi(4, 1) << "\t" << cd_.Xi(4, 2) << "\t" |
| 140 |
< |
<< cd_.Xi(5, 0) << "\t" << cd_.Xi(5, 1) << "\t" << cd_.Xi(5, 2) << "\t"; |
| 141 |
< |
|
| 138 |
> |
os << Xi(3, 0) << "\t" << Xi(3, 1) << "\t" << Xi(3, 2) << "\t" |
| 139 |
> |
<< Xi(4, 0) << "\t" << Xi(4, 1) << "\t" << Xi(4, 2) << "\t" |
| 140 |
> |
<< Xi(5, 0) << "\t" << Xi(5, 1) << "\t" << Xi(5, 2) << "\t"; |
| 141 |
> |
|
| 142 |
|
//rotation |
| 143 |
< |
os << cd_.Xi(3, 3) << "\t" << cd_.Xi(3, 4) << "\t" << cd_.Xi(3, 5) << "\t" |
| 144 |
< |
<< cd_.Xi(4, 3) << "\t" << cd_.Xi(4, 4) << "\t" << cd_.Xi(4, 5) << "\t" |
| 145 |
< |
<< cd_.Xi(5, 3) << "\t" << cd_.Xi(5, 4) << "\t" << cd_.Xi(5, 5) << "\t"; |
| 146 |
< |
|
| 147 |
< |
|
| 143 |
> |
os << Xi(3, 3) << "\t" << Xi(3, 4) << "\t" << Xi(3, 5) << "\t" |
| 144 |
> |
<< Xi(4, 3) << "\t" << Xi(4, 4) << "\t" << Xi(4, 5) << "\t" |
| 145 |
> |
<< Xi(5, 3) << "\t" << Xi(5, 4) << "\t" << Xi(5, 5) << "\t"; |
| 146 |
> |
|
| 147 |
> |
|
| 148 |
|
//diffusion tensor at center of diffusion |
| 149 |
|
//translation |
| 140 |
– |
os << cd_.D(0, 0) << "\t" << cd_.D(0, 1) << "\t" << cd_.D(0, 2) << "\t" |
| 141 |
– |
<< cd_.D(1, 0) << "\t" << cd_.D(1, 1) << "\t" << cd_.D(1, 2) << "\t" |
| 142 |
– |
<< cd_.D(2, 0) << "\t" << cd_.D(2, 1) << "\t" << cd_.D(2, 2) << "\t"; |
| 150 |
|
|
| 151 |
< |
//rotation-translation |
| 145 |
< |
os << cd_.D(0, 3) << "\t" << cd_.D(0, 4) << "\t" << cd_.D(0, 5) << "\t" |
| 146 |
< |
<< cd_.D(1, 3) << "\t" << cd_.D(1, 4) << "\t" << cd_.D(1, 5) << "\t" |
| 147 |
< |
<< cd_.D(2, 3) << "\t" << cd_.D(2, 4) << "\t" << cd_.D(2, 5) << "\t"; |
| 151 |
> |
D = cd_->getD(); |
| 152 |
|
|
| 153 |
+ |
os << D(0, 0) << "\t" << D(0, 1) << "\t" << D(0, 2) << "\t" |
| 154 |
+ |
<< D(1, 0) << "\t" << D(1, 1) << "\t" << D(1, 2) << "\t" |
| 155 |
+ |
<< D(2, 0) << "\t" << D(2, 1) << "\t" << D(2, 2) << "\t"; |
| 156 |
+ |
|
| 157 |
+ |
//rotation-translation |
| 158 |
+ |
os << D(0, 3) << "\t" << D(0, 4) << "\t" << D(0, 5) << "\t" |
| 159 |
+ |
<< D(1, 3) << "\t" << D(1, 4) << "\t" << D(1, 5) << "\t" |
| 160 |
+ |
<< D(2, 3) << "\t" << D(2, 4) << "\t" << D(2, 5) << "\t"; |
| 161 |
+ |
|
| 162 |
|
//translation-rotation |
| 163 |
< |
os << cd_.D(3, 0) << "\t" << cd_.D(3, 1) << "\t" << cd_.D(3, 2) << "\t" |
| 164 |
< |
<< cd_.D(4, 0) << "\t" << cd_.D(4, 1) << "\t" << cd_.D(4, 2) << "\t" |
| 165 |
< |
<< cd_.D(5, 0) << "\t" << cd_.D(5, 1) << "\t" << cd_.D(5, 2) << "\t"; |
| 166 |
< |
|
| 163 |
> |
os << D(3, 0) << "\t" << D(3, 1) << "\t" << D(3, 2) << "\t" |
| 164 |
> |
<< D(4, 0) << "\t" << D(4, 1) << "\t" << D(4, 2) << "\t" |
| 165 |
> |
<< D(5, 0) << "\t" << D(5, 1) << "\t" << D(5, 2) << "\t"; |
| 166 |
> |
|
| 167 |
|
//rotation |
| 168 |
< |
os << cd_.D(3, 3) << "\t" << cd_.D(3, 4) << "\t" << cd_.D(3, 5) << "\t" |
| 169 |
< |
<< cd_.D(4, 3) << "\t" << cd_.D(4, 4) << "\t" << cd_.D(4, 5) << "\t" |
| 170 |
< |
<< cd_.D(5, 3) << "\t" << cd_.D(5, 4) << "\t" << cd_.D(5, 5) << "\n"; |
| 171 |
< |
|
| 172 |
< |
|
| 168 |
> |
os << D(3, 3) << "\t" << D(3, 4) << "\t" << D(3, 5) << "\t" |
| 169 |
> |
<< D(4, 3) << "\t" << D(4, 4) << "\t" << D(4, 5) << "\t" |
| 170 |
> |
<< D(5, 3) << "\t" << D(5, 4) << "\t" << D(5, 5) << "\n"; |
| 171 |
> |
|
| 172 |
> |
} |
| 173 |
> |
|
| 174 |
|
} |
| 161 |
– |
|
| 162 |
– |
} |