awatif-fem
Version:
Awatif Finite Element Method (FEM) Solver
66 lines (58 loc) • 2.12 kB
TypeScript
export interface DeformCppModule {
_deform(
// Geometry
nodes_flat_ptr: number, // double*
num_nodes: number, // int
element_indices_ptr: number, // unsigned int*
num_element_indices: number, // int
element_sizes_ptr: number, // unsigned int*
num_elements: number, // int
// Node Inputs
support_keys_ptr: number, // int*
support_values_ptr: number, // bool* (passed as number pointer)
num_supports: number, // int
load_keys_ptr: number, // int*
load_values_ptr: number, // double*
num_loads: number, // int
// Element Inputs
elasticity_keys_ptr: number, // int*
elasticity_values_ptr: number, // double*
num_elasticities: number, // int
area_keys_ptr: number, // int*
area_values_ptr: number, // double*
num_areas: number, // int
moi_z_keys_ptr: number, // int*
moi_z_values_ptr: number, // double*
num_moi_z: number, // int
moi_y_keys_ptr: number, // int*
moi_y_values_ptr: number, // double*
num_moi_y: number, // int
shear_mod_keys_ptr: number, // int*
shear_mod_values_ptr: number, // double*
num_shear_mod: number, // int
torsion_keys_ptr: number, // int*
torsion_values_ptr: number, // double*
num_torsion: number, // int
thickness_keys_ptr: number, // int*
thickness_values_ptr: number, // double*
num_thickness: number, // int
poisson_keys_ptr: number, // int*
poisson_values_ptr: number, // double*
num_poisson: number, // int
elasticitiesOrthogonal_keys_ptr: number, // int*
elasticitiesOrthogonal_values_ptr: number, // double*
num_elasticitiesOrthogonal: number, // int
// Output Pointers (Pointers to Pointers/Ints)
deformations_data_ptr_out: number, // double**
deformations_size_out: number, // int*
reactions_data_ptr_out: number, // double**
reactions_size_out: number // int*
): void;
_malloc(size: number): number;
_free(ptr: number): void;
HEAPU8: Uint8Array;
HEAPU32: Uint32Array;
HEAPF64: Float64Array;
}
declare function createModule(): Promise<DeformCppModule>;
export default createModule;