Skip to content
Snippets Groups Projects
Commit 0b772173 authored by Dominik Thoennes's avatar Dominik Thoennes
Browse files

Merge branch 'pystencils_fieldnames' into 'master'

pystencils: re-allow use of arbitrary field names in sweeps

See merge request walberla/walberla!267
parents fcd9bcc2 41aaa1d7
Branches
Tags
No related merge requests found
......@@ -170,8 +170,8 @@ def generate_block_data_to_field_extraction(ctx, kernel_info, parameters_to_igno
return result
def generate_refs_for_kernel_parameters(kernel_info, prefix, parameters_to_ignore):
symbols = {p.field_name for p in kernel_info.parameters if p.is_field_pointer}
def generate_refs_for_kernel_parameters(kernel_info, prefix, parameters_to_ignore=(), ignore_fields=False):
symbols = {p.field_name for p in kernel_info.parameters if p.is_field_pointer and not ignore_fields}
symbols.update(p.symbol.name for p in kernel_info.parameters if not p.is_field_parameter)
symbols.difference_update(parameters_to_ignore)
return "\n".join("auto & %s = %s%s_;" % (s, prefix, s) for s in symbols)
......
......@@ -58,7 +58,7 @@ namespace {{namespace}} {
void {{class_name}}::operator()( IBlock * block{%if target is equalto 'gpu'%} , cudaStream_t stream{% endif %} )
{
{{kernel|generate_block_data_to_field_extraction|indent(4)}}
{{kernel|generate_refs_for_kernel_parameters(prefix='this->', parameters_to_ignore=['velocity', 'src', 'src_tmp', 'pdfs', 'pdfs_tmp'])|indent(4) }}
{{kernel|generate_refs_for_kernel_parameters(prefix='this->', ignore_fields=True)|indent(4) }}
{{kernel|generate_call(stream='stream')|indent(4)}}
{{kernel|generate_swaps|indent(4)}}
}
......@@ -78,7 +78,7 @@ void {{class_name}}::runOnCellInterval( const shared_ptr<StructuredBlockStorage>
return;
{{kernel|generate_block_data_to_field_extraction|indent(4)}}
{{kernel|generate_refs_for_kernel_parameters(prefix='this->', parameters_to_ignore=['velocity', 'src', 'src_tmp', 'pdfs', 'pdfs_tmp'])|indent(4) }}
{{kernel|generate_refs_for_kernel_parameters(prefix='this->', ignore_fields=True)|indent(4) }}
{{kernel|generate_call(stream='stream', cell_interval='ci')|indent(4)}}
{{kernel|generate_swaps|indent(4)}}
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment