Mesh partitioning subsystem.
This is used by parallel execution (MPI) and local timestepping.
Copyright:
Copyright (C) 2009 Andreas Kloeckner
License:
This program is free software: you can redistribute it and/or
modify
it under the terms of the GNU General Public License as published
by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see
U{http://www.gnu.org/licenses/}.
|
|
|
partition_mesh(mesh,
partition,
part_bdry_tag_factory)
*partition* is a mapping that maps element id to integers that
represent different pieces of the mesh. |
source code
|
|
|
find_neighbor_vol_indices(my_discr,
my_part_data,
nb_discr,
nb_part_data,
debug=False) |
source code
|
|
|
compile_interdomain_flux(optemplate,
vol_var,
bdry_var,
my_discr,
my_part_data,
nb_discr,
nb_part_data,
use_stupid_substitution=False)
`use_stupid_substitution` uses `StupidInterdomainFluxMapper` to try
to pare down a full optemplate to one that is suitable for
interdomain flux computation. |
source code
|
|