aboutsummaryrefslogtreecommitdiff
path: root/boltzgen/kernel/template/bounce_back_boundary.cuda.mako
blob: 09499e2be20423fae3f0e9708790212f884193dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<%namespace name="pattern" file="${'/pattern/%s.cuda.mako' % context['streaming']}"/>
<%
from boltzgen.utility.printer import CudaCodePrinter
ccode = CudaCodePrinter(float_type).doprint
subexpr, assignment = model.collision(f_eq = model.equilibrium(resolve_moments = True))
%>

<%call expr="pattern.operator('bounce_back_boundary')">
% for i, expr in enumerate(subexpr):
    const ${float_type} ${expr[0]} = ${ccode(expr[1])};
% endfor

% for i, c_i in enumerate(descriptor.c):
    const ${float_type} ${assignment[i].lhs} = ${ccode(assignment[descriptor.c.index(-c_i)].rhs)};
% endfor
</%call>