forked from jan/opencl_fdtd
Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
d5fd78d493 | |||
fe2f4f4510 | |||
314e36a3cc | |||
a37df3a74f |
8
.gitignore
vendored
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 %}
|
||||
|
@ -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…
Reference in New Issue
Block a user