DOLFIN-X
DOLFIN-X C++ interface
|
9 #include <dolfinx/la/PETScMatrix.h>
10 #include <dolfinx/la/PETScVector.h>
38 const Eigen::Array<
const fem::Form<PetscScalar>*, Eigen::Dynamic,
39 Eigen::Dynamic, Eigen::RowMajor>>& a);
44 const Eigen::Array<
const fem::Form<PetscScalar>*, Eigen::Dynamic,
45 Eigen::Dynamic, Eigen::RowMajor>>& a);
49 const std::vector<std::reference_wrapper<const common::IndexMap>>& maps);
87 Vec b,
const std::vector<std::shared_ptr<
const Form<PetscScalar>>>& a,
89 std::vector<std::shared_ptr<
const DirichletBC<PetscScalar>>>>& bcs1,
90 const std::vector<Vec>& x0,
double scale);
104 const std::vector<std::shared_ptr<
const DirichletBC<PetscScalar>>>& bcs,
105 const Vec x0,
double scale = 1.0);
la::PETScVector create_vector_nest(const std::vector< const common::IndexMap * > &maps)
Create nested (VecNest) vector. Vector is not zeroed.
Definition: petsc.cpp:226
void set_bc_petsc(Vec b, const std::vector< std::shared_ptr< const DirichletBC< PetscScalar >>> &bcs, const Vec x0, double scale=1.0)
Set bc values in owned (local) part of the PETScVector, multiplied by 'scale'. The vectors b and x0 m...
Definition: petsc.cpp:312
la::PETScMatrix create_matrix_block(const Eigen::Ref< const Eigen::Array< const fem::Form< PetscScalar > *, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >> &a)
Initialise monolithic matrix for an array for bilinear forms. Matrix is not zeroed.
Definition: petsc.cpp:31
la::PETScVector create_vector_block(const std::vector< std::reference_wrapper< const common::IndexMap >> &maps)
Initialise monolithic vector. Vector is not zeroed.
Definition: petsc.cpp:190
void apply_lifting_petsc(Vec b, const std::vector< std::shared_ptr< const Form< PetscScalar >>> &a, const std::vector< std::vector< std::shared_ptr< const DirichletBC< PetscScalar >>>> &bcs1, const std::vector< Vec > &x0, double scale)
Modify b such that:
Definition: petsc.cpp:265
la::PETScMatrix create_matrix(const Form< PetscScalar > &a)
Create a matrix.
Definition: petsc.cpp:15
void assemble_vector_petsc(Vec b, const Form< PetscScalar > &L)
Assemble linear form into an already allocated PETSc vector. Ghost contributions are not accumulated ...
Definition: petsc.cpp:251
la::PETScMatrix create_matrix_nest(const Eigen::Ref< const Eigen::Array< const fem::Form< PetscScalar > *, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >> &a)
Create nested (MatNest) matrix. Matrix is not zeroed.
Definition: petsc.cpp:151