1 | from __future__ import print_function |
---|
2 | |
---|
3 | from dynamico import meshes |
---|
4 | from dynamico.meshes import Unstructured_PMesh, compute_hybrid_coefs |
---|
5 | from dynamico.meshes import DYNAMICO_Format, MPAS_Format |
---|
6 | from dynamico.dev import unstructured as unst |
---|
7 | from dynamico.dev import numba, parallel |
---|
8 | from dynamico.dev.numba import int32, int64, float64 |
---|
9 | |
---|
10 | class MeshData(numba.NumbaData): |
---|
11 | def to_dynamico(self): |
---|
12 | max_primal_deg, max_dual_deg, max_trisk_deg = [x.shape[1] for x in self.primal_edge, self.dual_edge, self.trisk] |
---|
13 | unst.init_mesh(self.llm, self.nqdyn, self.edge_num, self.primal_num, self.dual_num, |
---|
14 | max_trisk_deg, max_primal_deg, max_dual_deg, |
---|
15 | self.primal_deg, self.primal_edge, self.primal_ne, |
---|
16 | self.dual_deg, self.dual_edge, self.dual_ne, self.dual_vertex, |
---|
17 | self.left, self.right, self.down, self.up, self.trisk_deg, self.trisk, |
---|
18 | self.Ai, self.Av, self.fv, self.le_de, self.Riv2, self.wee) |
---|
19 | |
---|
20 | # note inheritance order : inherit first from DevMesh to override empty to_dynamico() from AbstractMesh |
---|
21 | class Cartesian_Mesh(MeshData, meshes.Cartesian_Mesh): pass |
---|
22 | class Unstructured_Mesh(MeshData, meshes.Unstructured_Mesh): pass |
---|
23 | class Local_Mesh(MeshData, meshes.Local_Mesh): |
---|
24 | Halo_Xchange = parallel.Halo_Xchange # dynamico.dev.parallel instead pf dynamico.parallel |
---|