Skip to content

Commit

Permalink
added types
Browse files Browse the repository at this point in the history
  • Loading branch information
abc0990cba committed Apr 14, 2022
1 parent ee7c04b commit aed9b0f
Show file tree
Hide file tree
Showing 14 changed files with 346 additions and 39 deletions.
Binary file modified README.md
2 changes: 2 additions & 0 deletions dist/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
declare const addon: any;
export default addon;
9 changes: 9 additions & 0 deletions dist/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
"use strict";
// var addon = require("./build/Release/napi-addon-fdtd.node");
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var bindings_1 = __importDefault(require("bindings"));
var addon = (0, bindings_1.default)('napi-addon-fdtd');
exports.default = addon;
1 change: 1 addition & 0 deletions dist/test-addon.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export {};
56 changes: 56 additions & 0 deletions dist/test-addon.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var fs_1 = __importDefault(require("fs"));
var path_1 = __importDefault(require("path"));
var index_1 = __importDefault(require("./index"));
var test1D = function () {
var condition = [1, 10, 1];
var eps = [1, 1.2];
var sigma = [0, 0.04];
var srcPosition = [0.4, 0.8];
var data = index_1.default.getData2D(condition, true, eps, 2, srcPosition, sigma);
for (var j = 0; j < 50; ++j) {
data = index_1.default.getData2D(condition, false, eps, 2, srcPosition, sigma);
}
fs_1.default.writeFileSync(path_1.default.resolve(__dirname, "tmp.txt"), JSON.stringify(data.dataHy),
// @ts-ignore
function (err) {
if (err) {
return console.log(err);
}
console.log("The file was saved!");
}); // Orfs.writeFileSync('/tmp/test-sync', 'Hey there!');
};
var test2D = function () {
var epsSize = 40;
var eps = Array(epsSize * 2).fill(0).map(function (_) { return Math.random() * 10; });
var condition = [1, 10];
var reload = true;
var data = index_1.default.getData3D(condition, reload, [4, 5, 6, 7], 2, 0);
reload = false;
for (var j = 0; j < 150; ++j) {
//eps, epsSize
data = index_1.default.getData3D(condition, reload, [4, 5, 6, 7], 2, 0);
}
fs_1.default.writeFileSync(path_1.default.resolve(__dirname, "tmp.txt"), JSON.stringify(data.dataY),
// @ts-ignore
function (err) {
if (err) {
return console.log(err);
}
console.log("The file was saved!");
}); // Orfs.writeFileSync('/tmp/test-sync', 'Hey there!');
};
function testMemoryUsage() {
// const arr = [1, 2, 3, 4, 5, 6, 9, 7, 8, 9, 10];
// const arr = Array(1e7).fill(1e3);
// arr.reverse();
var used = process.memoryUsage().heapUsed / 1024 / 1024;
console.log("The script uses approximately ".concat(Math.round(used * 100) / 100, " MB"));
}
test1D();
// test2D();
// testMemoryUsage();
1 change: 1 addition & 0 deletions dist/tmp.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[2.220446047393039e-23,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,4.440892098500626e-24,1e-8,0.0012325076431646516,0.0010463784384080524,0.0007875661891052479,0.0004943708066556822,0.0001997006066360833,-0.00006542641099382795,-0.00028108790805666476,-0.00043372038148587594,-0.0005172913891631924,-0.0005386023777307399,-0.0005007158868566528,-0.00042218337821043944,-0.00031618521306208953,-0.00019388368414890262,-0.0000776739820877198,0.000026567614627989825,0.00011465436537071313,0.00017161922112388453,0.00019884538936437853,0.0002083153189791913,0.00019812992491725537,0.0001626161040688944,0.00011133681664271628,0.00006307097936149048,0.00002971649308812137,0.000011758862189057855,0.0000039498943360206454,0.0000011402179875649962,2.894257963007429e-7,6.990045671293881e-8,2.1187446672595064e-8,1.1827040811397835e-8,1.0261583274571132e-8,1.0032887217679263e-8,1.0003633401962912e-8,1.0000352687780532e-8,1.000003004532032e-8,1.000000224161425e-8,1.0000000145999337e-8,1.000000000826416e-8,1.0000000000404098e-8,1.0000000000016933e-8,1.00000000000006e-8,1.0000000000000018e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8,1e-8]
33 changes: 33 additions & 0 deletions index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@

type GetData3D = (
condition: number[],
reload: boolean,
eps: number[],
epsSize: number,
dataReturnType: number,
) => any

type GetData2D = (
condition: number[],
reload: boolean,
eps: number[],
epsSize: number,
sourcePositionRelative: number[],
sigma: number[]
// dataReturnType: number,
) => any

// interface Module {
// sayHi: (id: number) => void;
// getData3D: GetData3D;
// getData2D: GetData2D;
// }

// declare module 'bindings' {
// export default function(string: 'hello'): Module;
// }

declare module 'napi-addon-fdtd' {
export const getData3D: GetData3D;
export const getData2D: GetData2D;
}
9 changes: 9 additions & 0 deletions index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// var addon = require("./build/Release/napi-addon-fdtd.node");

import bindings from 'bindings';
const addon = bindings('napi-addon-fdtd')


export default addon;


105 changes: 83 additions & 22 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 10 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,24 @@
{
"name": "napi-addon-fdtd",
"version": "3.1.15",
"version": "3.1.22",
"description": "Build N-API native addon with CMake and node-addon-api C++ wrapper. FDTD physics simulation",
"main": "index.js",
"main": "dist/index.js",
"types": "index.d.ts",
"scripts": {
"install": "cmake-js compile",
"test": "node index.js"
"test": "npm install && tsc && node dist/test-addon.js"
},
"keywords": [],
"author": "maxmaxkklosd99<[email protected]>",
"license": "ISC",
"dependencies": {
"bindings": "^1.5.0",
"cmake-js": "^6.2.1",
"napi-addon-fdtd": "^3.1.5",
"node-addon-api": "^3.1.0"
},
"devDependencies": {
"@types/bindings": "^1.5.1",
"@types/node": "^17.0.24",
"typescript": "^4.6.3"
}
}
7 changes: 4 additions & 3 deletions src/FDTD/2D/FDTD_2D.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,14 @@ void FDTD_2D::setParams()
ticks = 0;

// Grid steps.
// dx = 1 / 20
dx = 0.05;
dt = 0.025;
dt = dx / 2;


// Physics params.
aa1 = lambda * lambda / (0.09 * tau * tau);
tMax = 4 * tau / (lambda / 0.3);
aa1 = lambda * lambda / (c0 * c0 * tau * tau);
tMax = 3 * tau / (lambda / c0);

for (int i = 0; i < Nx; i++)
{
Expand Down
9 changes: 7 additions & 2 deletions src/FDTD/2D/FDTD_2D.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,11 @@ class FDTD_2D
double Ti; //??
double tMax; //??

// Grid size
// Grid size.
static const size_t Nx = 800;
static const size_t Ny = 501;

// Source position.
static const size_t Ny = 200;

// Grid steps.
double dx;
Expand All @@ -33,6 +35,9 @@ class FDTD_2D
double Ex[Nx];
double Ex_prev[Nx];

// Normalized light speed in Gaussian system.
double c0 = 0.3;

// lambda - wave length
double lambda;

Expand Down
Loading

0 comments on commit aed9b0f

Please sign in to comment.