Discrete gradient/curl column ownership patch from Umberto.
This commit is contained in:
parent
ee6a53f968
commit
22cb6e6a65
@ -973,12 +973,16 @@ HYPRE_Int hypre_ADSSetup(void *solver,
|
||||
/* Construct the coarse space matrix by RAP */
|
||||
if (!ads_data -> A_C)
|
||||
{
|
||||
HYPRE_Int C_owned_col_starts;
|
||||
|
||||
if (!hypre_ParCSRMatrixCommPkg(ads_data -> C))
|
||||
hypre_MatvecCommPkgCreate(ads_data -> C);
|
||||
|
||||
if (!hypre_ParCSRMatrixCommPkg(ads_data -> A))
|
||||
hypre_MatvecCommPkgCreate(ads_data -> A);
|
||||
|
||||
C_owned_col_starts = hypre_ParCSRMatrixOwnsColStarts(ads_data -> C);
|
||||
|
||||
hypre_BoomerAMGBuildCoarseOperator(ads_data -> C,
|
||||
ads_data -> A,
|
||||
ads_data -> C,
|
||||
@ -988,7 +992,7 @@ HYPRE_Int hypre_ADSSetup(void *solver,
|
||||
in part of the domain). */
|
||||
hypre_ParCSRMatrixFixZeroRows(ads_data -> A_C);
|
||||
|
||||
hypre_ParCSRMatrixOwnsColStarts(ads_data -> C) = 1;
|
||||
hypre_ParCSRMatrixOwnsColStarts(ads_data -> C) = C_owned_col_starts;
|
||||
hypre_ParCSRMatrixOwnsRowStarts(ads_data -> A_C) = 0;
|
||||
}
|
||||
|
||||
|
||||
@ -2198,12 +2198,16 @@ HYPRE_Int hypre_AMSSetup(void *solver,
|
||||
/* If not given, construct the coarse space matrix by RAP */
|
||||
if (!ams_data -> A_G)
|
||||
{
|
||||
HYPRE_Int G_owned_col_starts;
|
||||
|
||||
if (!hypre_ParCSRMatrixCommPkg(ams_data -> G))
|
||||
hypre_MatvecCommPkgCreate(ams_data -> G);
|
||||
|
||||
if (!hypre_ParCSRMatrixCommPkg(ams_data -> A))
|
||||
hypre_MatvecCommPkgCreate(ams_data -> A);
|
||||
|
||||
G_owned_col_starts = hypre_ParCSRMatrixOwnsColStarts(ams_data -> G);
|
||||
|
||||
hypre_BoomerAMGBuildCoarseOperator(ams_data -> G,
|
||||
ams_data -> A,
|
||||
ams_data -> G,
|
||||
@ -2213,7 +2217,7 @@ HYPRE_Int hypre_AMSSetup(void *solver,
|
||||
if beta is zero in part of the domain). */
|
||||
hypre_ParCSRMatrixFixZeroRows(ams_data -> A_G);
|
||||
|
||||
hypre_ParCSRMatrixOwnsColStarts(ams_data -> G) = 1;
|
||||
hypre_ParCSRMatrixOwnsColStarts(ams_data -> G) = G_owned_col_starts;
|
||||
hypre_ParCSRMatrixOwnsRowStarts(ams_data -> A_G) = 0;
|
||||
|
||||
ams_data -> owns_A_G = 1;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user