nglibs-cfd
Version:
NGLibs, The module for CFD field Loading for OpenFOAM.
36 lines (35 loc) • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CFDFieldDummy = exports.CFDParaOption = exports._fiedxUpdateTime = void 0;
exports._fiedxUpdateTime = 30;
var CFDParaOption;
(function (CFDParaOption) {
CFDParaOption[CFDParaOption["normal"] = 0] = "normal";
CFDParaOption[CFDParaOption["simple"] = 1] = "simple";
})(CFDParaOption = exports.CFDParaOption || (exports.CFDParaOption = {}));
class CFDFieldDummy {
Emulate(pos, out) {
let ang = Math.PI / 2;
if (pos.x > 0.001) {
ang = Math.atan(pos.y / pos.x);
}
else {
if (pos.x < -0.001) {
ang = Math.atan(pos.y / pos.x) + Math.PI;
}
}
let len = Math.sqrt(pos.y * pos.y + pos.x * pos.x);
let zVfactor = Math.min(100, len);
zVfactor = (10000 - zVfactor * zVfactor) / 10000;
let velout = out["speed"];
velout.x = len * zVfactor * Math.cos(ang - Math.PI / 2) + 1;
velout.y = len * zVfactor * Math.sin(ang - Math.PI / 2) + 1;
velout.z = (pos.z / 3) * zVfactor + 10;
if (out["T"] != null) {
out["T"] = pos.z / 3;
out["T"] += (pos.x * pos.x + pos.y * pos.y) / 100;
}
return true;
}
}
exports.CFDFieldDummy = CFDFieldDummy;