OGS
PETScTools.cpp
Go to the documentation of this file.
1 
17 #include "PETScTools.h"
18 
19 namespace MathLib
20 {
22  const std::vector<PetscInt>& vec_knownX_id,
23  const std::vector<PetscScalar>& vec_knownX_x)
24 {
25  A.finalizeAssembly();
26 
27  A.setRowsColumnsZero(vec_knownX_id);
28  A.finalizeAssembly();
29 
30  x.finalizeAssembly();
31  b.finalizeAssembly();
32  if (vec_knownX_id.size() > 0)
33  {
34  x.set(vec_knownX_id, vec_knownX_x);
35  b.set(vec_knownX_id, vec_knownX_x);
36  }
37 
38  x.finalizeAssembly();
39  b.finalizeAssembly();
40 }
41 
42 } // end of namespace MathLib
Declaration of a function related to PETSc solver interface to assign the Dirichlet boundary conditio...
Wrapper class for PETSc matrix routines for matrix.
Definition: PETScMatrix.h:32
void finalizeAssembly(const MatAssemblyType asm_type=MAT_FINAL_ASSEMBLY)
Perform MPI collection of assembled entries in buffer.
Definition: PETScMatrix.h:67
void setRowsColumnsZero(std::vector< PetscInt > const &row_pos)
Set the specified rows to zero except diagonal entries, i.e. , where This function must be called by...
Definition: PETScMatrix.cpp:90
Wrapper class for PETSc vector.
Definition: PETScVector.h:33
void finalizeAssembly()
Perform MPI collection of assembled entries in buffer.
void set(const PetscInt i, const PetscScalar value)
Definition: PETScVector.h:97
void applyKnownSolution(EigenMatrix &A, EigenVector &b, EigenVector &, const std::vector< EigenMatrix::IndexType > &vec_knownX_id, const std::vector< double > &vec_knownX_x, double)
Definition: EigenTools.cpp:17