Compare commits

...

4 Commits

Author SHA1 Message Date
Jan Petykiewicz d5fd78d493 Revert "Add restrict keyword to pointers (not sharing the same memory for multiple fields)"
This reverts commit 60b70bb332.

It appears to have minimal performance impact, and fails to compile on
nvidia cards.
5 years ago
Jan Petykiewicz fe2f4f4510 style fixes 5 years ago
Jan Petykiewicz 314e36a3cc fix for 1-sized grids 5 years ago
Jan Petykiewicz a37df3a74f expand gitignores 5 years ago

8
.gitignore vendored

@ -1,5 +1,9 @@
.idea/
__pycache__
*.h5
*.pyc
__pycache__
*.py[cod]
build/
dist/
*.egg-info/

@ -2,7 +2,7 @@
/* Common code for E, H updates
*
* Template parameters:
* ftype type name (e.g. float or double)
* ftype type name (e.g. float or double)
* shape list of 3 ints specifying shape of fields
*/
#}
@ -78,7 +78,8 @@ int p{{r}} = + (int) di{{r}};
int wrap_{{r}} = (s{{r}} - 1) * (int) di{{r}};
if ( {{r}} == 0 ) {
m{{r}} = wrap_{{r}};
} else if ( {{r}} == s{{r}} - 1 ) {
}
if ( {{r}} == s{{r}} - 1 ) {
p{{r}} = -wrap_{{r}};
}
}
{% endfor %}

@ -1,11 +1,11 @@
/*
* Update E-field from J field
* Update E-field from J field
*
* Template parameters:
* common_header: Rendered contents of common.cl
*
* OpenCL args:
* E, Jr, Ji, c, s, xmin, xmax, ymin, ymax, zmin, zmax
* E, Jr, Ji, c, s, xmin, xmax, ymin, ymax, zmin, zmax
*/
{{common_header}}

@ -170,7 +170,7 @@ class Simulation(object):
ctype = type_to_C(self.arg_type)
def ptr(arg: str) -> str:
return ctype + ' * restrict ' + arg
return ctype + ' *' + arg
base_fields = OrderedDict()
base_fields[ptr('E')] = self.E
@ -286,13 +286,13 @@ class Simulation(object):
alpha_max = pml['cfs_alpha']
def par(x):
scaling = ((x / (pml['thickness'])) ** pml['m'])
scaling = (x / pml['thickness']) ** pml['m']
sigma = scaling * sigma_max
kappa = 1 + scaling * (kappa_max - 1)
alpha = ((1 - x / pml['thickness']) ** pml['ma']) * alpha_max
p0 = numpy.exp(-(sigma / kappa + alpha) * self.dt)
p1 = sigma / (sigma + kappa * alpha) * (p0 - 1)
p2 = 1/kappa
p2 = 1 / kappa
return p0, p1, p2
xe, xh = (numpy.arange(1, pml['thickness'] + 1, dtype=self.arg_type)[::-1] for _ in range(2))

Loading…
Cancel
Save