UNPKG

nglibs-cfd

Version:

NGLibs, The module for CFD field Loading for OpenFOAM.

36 lines (35 loc) 1.35 kB
"use strict"; 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;