-
Notifications
You must be signed in to change notification settings - Fork 578
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MueLu: fixing CoordinateTransferFactory_kokkos for structured aggrega…
…tion This adds logic in the CoordinateTransferFactory_kokkos to allow user to perform structured aggregation and hand-off the aggregates to tentative P factory. Also added xmls and tribits test to check that it all works fine.
- Loading branch information
Showing
5 changed files
with
440 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
130 changes: 130 additions & 0 deletions
130
packages/muelu/test/structured/structured_interp_kokkos.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
<ParameterList name="MueLu"> | ||
|
||
<!-- Configuration of the Xpetra operator (fine level) --> | ||
<ParameterList name="Matrix"> | ||
<Parameter name="PDE equations" type="int" value="1"/> <!-- Number of PDE equations at each grid node.--> | ||
</ParameterList> | ||
|
||
<!-- Factory collection --> | ||
<ParameterList name="Factories"> | ||
|
||
<ParameterList name="myCoalesceDropFact"> | ||
<Parameter name="factory" type="string" value="CoalesceDropFactory_kokkos"/> | ||
<Parameter name="lightweight wrap" type="bool" value="true"/> | ||
<Parameter name="aggregation: drop tol" type="double" value="0.00"/> | ||
</ParameterList> | ||
|
||
<ParameterList name="myAggregationFact"> | ||
<Parameter name="factory" type="string" value="StructuredAggregationFactory_kokkos"/> | ||
<Parameter name="aggregation: coupling" type="string" value="uncoupled"/> | ||
<Parameter name="aggregation: output type" type="string" value="CrsGraph"/> | ||
<Parameter name="aggregation: coarsening order" type="int" value="0"/> | ||
<Parameter name="aggregation: coarsening rate" type="string" value="{2}"/> | ||
<Parameter name="Graph" type="string" value="myCoalesceDropFact"/> | ||
</ParameterList> | ||
|
||
|
||
<ParameterList name="myCoarseMapFact"> | ||
<Parameter name="factory" type="string" value="CoarseMapFactory_kokkos"/> | ||
<Parameter name="Aggregates" type="string" value="myAggregationFact"/> | ||
</ParameterList> | ||
|
||
<!-- Note that ParameterLists must be defined prior to being used --> | ||
<ParameterList name="myProlongatorFact"> | ||
<Parameter name="factory" type="string" value="GeometricInterpolationPFactory"/> | ||
<Parameter name="interp: build coarse coordinates" type="bool" value="true"/> | ||
<Parameter name="interp: interpolation order" type="int" value="0"/> | ||
<Parameter name="prolongatorGraph" type="string" value="myAggregationFact"/> | ||
<Parameter name="coarseCoordinatesFineMap" type="string" value="myAggregationFact"/> | ||
<Parameter name="coarseCoordinatesMap" type="string" value="myAggregationFact"/> | ||
</ParameterList> | ||
|
||
<ParameterList name="myCoordTransferFact"> | ||
<Parameter name="factory" type="string" value="CoordinatesTransferFactory_kokkos"/> | ||
<Parameter name="structured aggregation" type="bool" value="true"/> | ||
<Parameter name="numDimensions" type="string" value="myAggregationFact"/> | ||
<Parameter name="lCoarseNodesPerDim" type="string" value="myAggregationFact"/> | ||
</ParameterList> | ||
|
||
<ParameterList name="myNullspaceFact"> | ||
<Parameter name="factory" type="string" value="NullspaceFactory_kokkos"/> | ||
<Parameter name="Nullspace" type="string" value="myProlongatorFact"/> | ||
<Parameter name="CoarseMap" type="string" value="myCoarseMapFact"/> | ||
</ParameterList> | ||
|
||
<ParameterList name="myRestrictorFact"> | ||
<Parameter name="factory" type="string" value="TransPFactory"/> | ||
</ParameterList> | ||
|
||
<!-- <ParameterList name="myAggExport"> --> | ||
<!-- <Parameter name="factory" type="string" value="AggregationExportFactory"/> --> | ||
<!-- <Parameter name="Aggregates" type="string" value="myAggregationFact"/> --> | ||
<!-- <Parameter name="aggregation: output filename" type="string" value="structured_aggs"/> --> | ||
<!-- <Parameter name="aggregation: output file: agg style" type="string" value="Jacks"/> --> | ||
<!-- <Parameter name="aggregation: output file: agg style" type="string" value="Convex Hulls"/> --> | ||
<!-- </ParameterList> --> | ||
|
||
<ParameterList name="myRAPFact"> | ||
<Parameter name="factory" type="string" value="RAPFactory"/> | ||
<Parameter name="P" type="string" value="myProlongatorFact"/> | ||
<Parameter name="R" type="string" value="myRestrictorFact"/> | ||
<ParameterList name="TransferFactories"> | ||
<Parameter name="CoordinateTransfer" type="string" value="myCoordTransferFact"/> | ||
<!-- <Parameter name="AggregationExportFactory" type="string" value="myAggExport"/> --> | ||
</ParameterList> | ||
</ParameterList> | ||
|
||
<ParameterList name="myILU"> | ||
<Parameter name="factory" type="string" value="TrilinosSmoother"/> | ||
<Parameter name="type" type="string" value="RILUK"/> | ||
<ParameterList name="ParameterList"> | ||
<Parameter name="schwarz: overlap level" type="int" value="1"/> | ||
<Parameter name="schwarz: combine mode" type="string" value="Zero"/> | ||
<Parameter name="schwarz: use reordering" type="bool" value="false"/> | ||
<Parameter name="fact: iluk level-of-fill" type="int" value="0"/> | ||
<Parameter name="fact: absolute threshold" type="double" value="0."/> | ||
<Parameter name="fact: relative threshold" type="double" value="1."/> | ||
<Parameter name="fact: relax value" type="double" value="0."/> | ||
</ParameterList> | ||
</ParameterList> | ||
|
||
<ParameterList name="myMTSGS"> | ||
<Parameter name="factory" type="string" value="TrilinosSmoother"/> | ||
<Parameter name="type" type="string" value="RELAXATION"/> | ||
<ParameterList name="ParameterList"> | ||
<Parameter name="relaxation: type" type="string" value="MT Symmetric Gauss-Seidel"/> | ||
<Parameter name="relaxation: symmetric matrix structure" type="bool" value="true"/> | ||
<Parameter name="relaxation: sweeps" type="int" value="2"/> | ||
<Parameter name="relaxation: use l1" type="bool" value="true"/> | ||
</ParameterList> | ||
</ParameterList> | ||
|
||
</ParameterList> | ||
|
||
|
||
<!-- Definition of the multigrid preconditioner --> | ||
<ParameterList name="Hierarchy"> | ||
|
||
<Parameter name="max levels" type="int" value="3"/> <!-- Max number of levels --> | ||
<Parameter name="cycle type" type="string" value="V"/> | ||
<Parameter name="coarse: max size" type="int" value="20"/> <!-- Min number of rows on coarsest level --> | ||
<Parameter name="verbosity" type="string" value="High"/> | ||
|
||
<ParameterList name="All"> | ||
<Parameter name="PreSmoother" type="string" value="myMTSGS"/> | ||
<Parameter name="PostSmoother" type="string" value="myMTSGS"/> | ||
<Parameter name="Graph" type="string" value="myCoalesceDropFact"/> | ||
<Parameter name="Nullspace" type="string" value="myNullspaceFact"/> | ||
<Parameter name="Aggregates" type="string" value="myAggregationFact"/> | ||
<Parameter name="lCoarseNodesPerDim" type="string" value="myAggregationFact"/> | ||
<Parameter name="P" type="string" value="myProlongatorFact"/> | ||
<Parameter name="R" type="string" value="myRestrictorFact"/> | ||
<Parameter name="A" type="string" value="myRAPFact"/> | ||
<Parameter name="CoarseSolver" type="string" value="DirectSolver"/> | ||
<Parameter name="Coordinates" type="string" value="myProlongatorFact"/> | ||
<Parameter name="lNodesPerDim" type="string" value="myCoordTransferFact"/> | ||
<Parameter name="numDimensions" type="string" value="myCoordTransferFact"/> | ||
</ParameterList> | ||
</ParameterList> | ||
|
||
</ParameterList> |
Oops, something went wrong.