Skip to content
Snippets Groups Projects
Commit c835cd88 authored by Robert K's avatar Robert K
Browse files

[cleanup][Python] slight improvement in added globalRefine method.

parent eba92f17
No related branches found
No related tags found
No related merge requests found
Pipeline #31431 passed
......@@ -43,14 +43,15 @@ def spAnisotropicGrid(domain, dimgrid=None, ctype="double"):
typeName = "Dune::SPGrid< " + ctype + ", " + str(dimgrid) + ", Dune::SPAnisotropicRefinement >"
includes = ["dune/grid/spgrid.hh", "dune/grid/spgrid/dgfparser.hh"]
globalRefineMethod = Method('globalRefine', '''[]( DuneType &self, int level, std::vector<int> refDir )
{ std::bitset< '''+str(dimgrid) +''' > s;
for( size_t i=0; i<refDir.size(); ++i )
{
static const int dim = ''' +str(dimgrid)+''';
std::bitset< dim > s(0);
const int size = (int(refDir.size()) >= dim) ? dim : refDir.size();
for( int i=0; i<size; ++i )
{
if( refDir[i] ) s[ i ] = 1;
}
Dune::SPAnisotropicRefinementPolicy<'''
+str(dimgrid) + '''> policy( s );''' + '''
self.globalRefine(level, policy );
self.globalRefine(level, Dune::SPAnisotropicRefinementPolicy< dim >( s ) );
return;
}''' )
gridModule = module(includes, typeName, globalRefineMethod)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment