Skip to content

Commit

Permalink
.
Browse files Browse the repository at this point in the history
  • Loading branch information
maksimKravchenko1 committed May 14, 2023
1 parent a08c0aa commit beaa522
Show file tree
Hide file tree
Showing 24 changed files with 5,714 additions and 416 deletions.
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,10 @@ include_directories(${CMAKE_JS_INC})
file(GLOB SOURCE_FILES "src/*.h" "src/*.cpp"
"src/fdtd/2d-pml/*.h" "src/fdtd/2d-pml/*.cpp"
"src/fdtd/1d-pml/*.h" "src/fdtd/1d-pml/*.cpp"
"src/fdtd/2d-upml-tf-sf/*.h" "src/fdtd/2d-upml-tf-sf/*.cpp"
"src/transform-to-js/fdtd-1d/*.h" "src/transform-to-js/fdtd-1d/*.cpp"
"src/transform-to-js/fdtd-2d/*.h" "src/transform-to-js/fdtd-2d/*.cpp"
"src/transform-to-js/fdtd-2d-tf-sf/*.h" "src/transform-to-js/fdtd-2d-tf-sf/*.cpp"
)

# This line will tell CMake that we're building a shared library
Expand Down
Binary file modified README.md
Binary file not shown.
220 changes: 220 additions & 0 deletions Wz.txt

Large diffs are not rendered by default.

20 changes: 10 additions & 10 deletions dist/index.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
"use strict";
// Import addon without 'bindings' package
// let 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;
"use strict";
// Import addon without 'bindings' package
// let 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;
140 changes: 75 additions & 65 deletions dist/test-addon.js
Original file line number Diff line number Diff line change
@@ -1,65 +1,75 @@
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var index_1 = __importDefault(require("./index"));
var test1D = function () {
var omega = 3.5;
var tau = 8;
var materialVector = [1, 0, 2, 0, 1];
var eps = [1.0, 1.2, 1.1];
var mu = [0.51, 0.5, 0.57];
var sigma = [1.0, 0.001, 1.0];
var srcPosition = [0.5];
var isReload = true;
var fdtd = new index_1.default.Fdtd1D({
omega: omega,
tau: tau,
isReload: isReload,
materialVector: materialVector,
eps: eps,
mu: mu,
sigma: sigma,
srcPosition: srcPosition
});
var data;
for (var j = 0; j < 49; ++j) {
data = fdtd.getNextTimeLayer();
}
console.log(data);
};
var test2D = function () {
var lambda = 1;
var beamsize = 1;
var materialVector = [1, 0, 2, 0];
var eps = [1.0, 1.2, 1.1];
var mu = [0.51, 0.5, 0.57];
var sigma = [1.0, 0.001, 1.0];
var srcPosition = [0.1, 0.1];
var dataReturnType = 0;
var isReload = true;
var fdtd = new index_1.default.Fdtd2D({
lambda: lambda,
beamsize: beamsize,
isReload: isReload,
materialVector: materialVector,
eps: eps,
mu: mu,
sigma: sigma,
dataReturnType: dataReturnType,
srcPosition: srcPosition
});
var data;
for (var j = 0; j < 49; ++j) {
data = fdtd.getNextTimeLayer();
}
console.log(data);
};
function testMemoryUsage() {
var used = process.memoryUsage().heapUsed / 1024 / 1024;
console.log("The script uses approximately ".concat(Math.round(used * 100) / 100, " MB"));
}
test1D();
// test2D();
// testMemoryUsage();
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var index_1 = __importDefault(require("./index"));
var test1D = function () {
var omega = 3.5;
var tau = 8;
var materialVector = [1, 0, 2, 0, 1];
var eps = [1.0, 1.2, 1.1];
var mu = [0.51, 0.5, 0.57];
var sigma = [1.0, 0.001, 1.0];
var srcPosition = [0.5];
var isReload = true;
var fdtd = new index_1.default.Fdtd1D({
omega: omega,
tau: tau,
isReload: isReload,
materialVector: materialVector,
eps: eps,
mu: mu,
sigma: sigma,
srcPosition: srcPosition
});
var data;
for (var j = 0; j < 49; ++j) {
data = fdtd.getNextTimeLayer();
}
console.log(data);
};
var test2D = function () {
var lambda = 1;
var beamsize = 1;
var materialVector = [1, 0, 2, 0, 1, 1, 1, 1, 1];
var eps = [1.0, 1.2, 1.1];
var mu = [0.51, 0.5, 0.57];
var sigma = [1.0, 0.001, 1.0];
var srcPosition = [0.1, 0.1];
var dataReturnType = 0;
var isReload = true;
var fdtd = new index_1.default.Fdtd2D({
lambda: lambda,
beamsize: beamsize,
isReload: isReload,
materialVector: materialVector,
eps: eps,
mu: mu,
sigma: sigma,
dataReturnType: dataReturnType,
srcPosition: srcPosition
});
var data;
for (var j = 0; j < 300; ++j) {
data = fdtd.getNextTimeLayer();
}
console.log(data);
};
function testMemoryUsage() {
var used = process.memoryUsage().heapUsed / 1024 / 1024;
console.log("The script uses approximately ".concat(Math.round(used * 100) / 100, " MB"));
}
var test2DTFSF = function () {
var fdtd = new index_1.default.Fdtd2DTFSF();
var data;
for (var j = 0; j < 30; ++j) {
data = fdtd.getNextTimeLayer();
}
// console.log(fdtd);
console.log(data);
};
// test1D();
test2D();
// test2DTFSF();
// testMemoryUsage();
69 changes: 66 additions & 3 deletions index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,70 @@ type GetData1D = (
// export default function(string: 'hello'): Module;
// }


type Fdtd1dOptions = {
omega: number;
tau: number;
isReload: boolean;
materialVector: number[];
eps: number[];
mu: number[];
sigma: number[];
srcPosition: number[];
};

type Fdtd1dOutput = {
max: number;
min: number;
dataX: number[];
dataY: number[];
};

type Fdtd2dOptions = {
lambda: number;
beamsize: number;
isReload: boolean;
materialVector: number[];
eps: number[];
mu: number[];
sigma: number[];
dataReturnType: number;
srcPosition: number[];
};

type Fdtd2dOutput = {
max: number;
min: number;
dataX: number[];
dataY: number[];
rows: number;
cols: number;
timestep: number;
dataEz?: number[];
dataHx?: number[];
dataHy?: number[];
dataEnergy?: number[];
};

declare module 'napi-addon-fdtd' {
export const getData2D: GetData2D;
export const getData1D: GetData1D;
}
// export const getData2D: GetData2D;
// export const getData1D: GetData1D;
class Fdtd1D {
constructor(options: Fdtd1dOptions);
getNextTimeLayer(): Fdtd1dOutput;
}

class Fdtd2D {
constructor(options: Fdtd2dOptions);
getNextTimeLayer(): Fdtd2dOutput;
}

class Fdtd2DTFSF {
constructor();
getNextTimeLayer(): Fdtd2dOutput;
}

}



2 changes: 2 additions & 0 deletions k_Fz_1_new3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
This is a line.
This is another line.
Loading

0 comments on commit beaa522

Please sign in to comment.