Skip to content
Snippets Groups Projects
Commit aeae15a3 authored by Jean-Matthieu Etancelin's avatar Jean-Matthieu Etancelin Committed by Franck Pérignon
Browse files

Ajout patch pour passer en simple precision. Corrections de tests pour la simple presision.

parent 5aa8f6f5
No related branches found
No related tags found
No related merge requests found
...@@ -42,6 +42,8 @@ xdef = orig + 0.2 ...@@ -42,6 +42,8 @@ xdef = orig + 0.2
def check_control_box(discr, xr, lr): def check_control_box(discr, xr, lr):
xr = npw.asrealarray(xr)
lr = npw.asrealarray(lr)
dim = len(discr.resolution) dim = len(discr.resolution)
dom = Box(dimension=dim, length=ldom[:dim], dom = Box(dimension=dim, length=ldom[:dim],
origin=orig[:dim]) origin=orig[:dim])
......
...@@ -5,7 +5,7 @@ Testing regular grids. ...@@ -5,7 +5,7 @@ Testing regular grids.
from parmepy.domain.box import Box from parmepy.domain.box import Box
from parmepy.tools.parameters import Discretization from parmepy.tools.parameters import Discretization
from parmepy.mpi import main_size, main_rank from parmepy.mpi import main_size, main_rank
import numpy as np import parmepy.tools.numpywrappers as npw
Nx = Ny = Nz = 32 Nx = Ny = Nz = 32
...@@ -26,7 +26,7 @@ def create_mesh(discr): ...@@ -26,7 +26,7 @@ def create_mesh(discr):
assert mesh.discretization == discr assert mesh.discretization == discr
assert (mesh.space_step == dom.length / (discr.resolution - 1)).all() assert (mesh.space_step == dom.length / (discr.resolution - 1)).all()
# Position compared with global grid # Position compared with global grid
shift = np.asarray([0, ] * dim) shift = npw.asrealarray([0, ] * dim)
shift[-1] = Nz / main_size * main_rank shift[-1] = Nz / main_size * main_rank
resolution = (discr.resolution - 1) / topo.shape + 2 * gh resolution = (discr.resolution - 1) / topo.shape + 2 * gh
end = shift + resolution - 2 * gh end = shift + resolution - 2 * gh
...@@ -52,7 +52,7 @@ def create_mesh(discr): ...@@ -52,7 +52,7 @@ def create_mesh(discr):
assert (mesh.global_indices(point) == req_point).all() assert (mesh.global_indices(point) == req_point).all()
if main_rank == main_size - 1: if main_rank == main_size - 1:
assert mesh.is_inside(point) assert mesh.is_inside(point)
pos = np.asarray(req_point) pos = npw.asrealarray(req_point)
pos[-1] = Nz / main_size - 1 pos[-1] = Nz / main_size - 1
pos += gh pos += gh
assert (mesh.local_indices(point) == pos).all() assert (mesh.local_indices(point) == pos).all()
......
from parmepy.domain.subsets.boxes import SubBox from parmepy.domain.subsets.boxes import SubBox
from parmepy.tools.parameters import Discretization from parmepy.tools.parameters import Discretization
from parmepy import Field, Box from parmepy import Field, Box
import parmepy.tools.numpywrappers as npw
import numpy as np import numpy as np
import math import math
...@@ -40,6 +41,8 @@ xdef = xdom + 0.2 ...@@ -40,6 +41,8 @@ xdef = xdom + 0.2
def check_subset(discr, xr, lr): def check_subset(discr, xr, lr):
xr = npw.asrealarray(xr)
lr = npw.asrealarray(lr)
dim = len(discr.resolution) dim = len(discr.resolution)
dom = Box(dimension=dim, length=ldom[:dim], dom = Box(dimension=dim, length=ldom[:dim],
origin=xdom[:dim]) origin=xdom[:dim])
......
...@@ -6,9 +6,11 @@ from parmepy.operator.hdf_io import HDF_Reader ...@@ -6,9 +6,11 @@ from parmepy.operator.hdf_io import HDF_Reader
from parmepy.tools.parameters import Discretization, IO_params from parmepy.tools.parameters import Discretization, IO_params
from parmepy import Field, Box from parmepy import Field, Box
from parmepy.mpi.topology import Cartesian from parmepy.mpi.topology import Cartesian
import parmepy.tools.numpywrappers as npw
import numpy as np import numpy as np
import math import math
from parmepy.mpi import main_size from parmepy.mpi import main_size
import mpi4py
Nx = 128 Nx = 128
...@@ -17,13 +19,13 @@ Nz = 102 ...@@ -17,13 +19,13 @@ Nz = 102
g = 2 g = 2
ldef = [0.3, 0.4, 1.0] ldef = npw.asrealarray([0.3, 0.4, 1.0])
discr3D = Discretization([Nx + 1, Ny + 1, Nz + 1], [g - 1, g - 2, g]) discr3D = Discretization([Nx + 1, Ny + 1, Nz + 1], [g - 1, g - 2, g])
discr2D = Discretization([Nx + 1, Ny + 1], [g - 1, g]) discr2D = Discretization([Nx + 1, Ny + 1], [g - 1, g])
xdom = np.asarray([0.1, -0.3, 0.5]) xdom = npw.asrealarray([0.1, -0.3, 0.5])
ldom = np.asarray([math.pi * 2., ] * 3) ldom = npw.asrealarray([math.pi * 2., ] * 3)
xdef = xdom + 0.2 xdef = npw.asrealarray(xdom + 0.2)
xpos = ldom * 0.5 xpos = npw.asrealarray(ldom * 0.5)
xpos[-1] += 0.1 xpos[-1] += 0.1
import os import os
working_dir = os.getcwd() + '/p' + str(main_size) + '/' working_dir = os.getcwd() + '/p' + str(main_size) + '/'
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment