| 46 |
|
|
| 47 |
|
namespace OpenMD { |
| 48 |
|
|
| 49 |
< |
HydroProp::HydroProp(){ |
| 50 |
< |
hasCOR = false; |
| 51 |
< |
hasXi = false; |
| 49 |
> |
HydroProp::HydroProp() : hasCOR(false), hasXi(false) { |
| 50 |
|
} |
| 51 |
|
|
| 52 |
|
HydroProp::HydroProp(Vector3d cor, Mat6x6d Xi, Mat6x6d D) : cor_(cor), |
| 55 |
|
hasXi(true) { |
| 56 |
|
} |
| 57 |
|
|
| 58 |
< |
HydroProp::HydroProp(const std::string &frictionLine) { |
| 58 |
> |
HydroProp::HydroProp(const std::string &frictionLine) : hasCOR(false), |
| 59 |
> |
hasXi(false) { |
| 60 |
|
|
| 61 |
|
StringTokenizer tokenizer(frictionLine); |
| 62 |
|
if (tokenizer.countTokens() >= 40) { |
| 65 |
|
cor_[1] = tokenizer.nextTokenAsDouble(); |
| 66 |
|
cor_[2] = tokenizer.nextTokenAsDouble(); |
| 67 |
|
|
| 68 |
+ |
hasCOR = true; |
| 69 |
+ |
|
| 70 |
|
Xitt_(0,0) = tokenizer.nextTokenAsDouble(); |
| 71 |
|
Xitt_(0,1) = tokenizer.nextTokenAsDouble(); |
| 72 |
|
Xitt_(0,2) = tokenizer.nextTokenAsDouble(); |
| 112 |
|
Xi_.setSubMatrix(3, 0, Xitr_); |
| 113 |
|
Xi_.setSubMatrix(3, 3, Xirr_); |
| 114 |
|
|
| 115 |
+ |
hasXi = true; |
| 116 |
+ |
|
| 117 |
|
CholeskyDecomposition(Xi_, S_); |
| 118 |
|
|
| 119 |
|
} |