generate_sweep can only take one field swap
if generate_sweep is used with more than one field swaps the generated code doesn't work
Example:
generate_sweep(ctx, 'allen_cahn_lb', allen_cahn_update_rule, field_swaps=[(h, h_tmp), (C, C_tmp)])
produces:
auto it = cache_lb_phase_field_.find( lb_phase_field );
if( it != cache_lb_phase_field_.end() )
{
lb_phase_field_tmp = *it;
}
else
{
lb_phase_field_tmp = lb_phase_field->cloneUninitialized();
cache_lb_phase_field_.insert(lb_phase_field_tmp);
}
GhostLayerField<double, 1> * phase_field_tmp;
// Getting temporary field phase_field_tmp
auto it = cache_phase_field_.find( phase_field );
This fails to compile because the variable it gets declared two times