source: codes/icosagcm/devel/Python/dev/meshes.py @ 985

Last change on this file since 985 was 932, checked in by dubos, 5 years ago

devel/Python : automatic inference of Numba spec - signature is now obsolete

File size: 1.3 KB
Line 
1from __future__ import print_function
2
3from dynamico import meshes
4from dynamico.meshes import Unstructured_PMesh, compute_hybrid_coefs
5from dynamico.meshes import DYNAMICO_Format, MPAS_Format
6from dynamico.dev import unstructured as unst
7from dynamico.dev import numba, parallel
8from dynamico.dev.numba import int32, int64, float64
9
10class 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
21class Cartesian_Mesh(MeshData, meshes.Cartesian_Mesh): pass
22class Unstructured_Mesh(MeshData, meshes.Unstructured_Mesh): pass
23class Local_Mesh(MeshData, meshes.Local_Mesh):
24    Halo_Xchange = parallel.Halo_Xchange # dynamico.dev.parallel instead pf dynamico.parallel
Note: See TracBrowser for help on using the repository browser.