DOLFINx
0.1.0
DOLFINx C++ interface
|
35 const std::string& type = std::string());
46 const std::vector<std::vector<
const fem::Form<PetscScalar>*>>& a,
47 const std::string& type = std::string());
53 const std::vector<std::vector<
const fem::Form<PetscScalar>*>>& a,
54 const std::vector<std::vector<std::string>>& types);
61 std::pair<std::reference_wrapper<const common::IndexMap>,
int>>& maps);
66 std::pair<std::reference_wrapper<const common::IndexMap>,
int>>& maps);
100 Vec b,
const std::vector<std::shared_ptr<
const Form<PetscScalar>>>& a,
102 std::vector<std::shared_ptr<
const DirichletBC<PetscScalar>>>>& bcs1,
103 const std::vector<Vec>& x0,
double scale);
117 const std::vector<std::shared_ptr<
const DirichletBC<PetscScalar>>>& bcs,
118 const Vec x0,
double scale = 1.0);
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:333
Vec create_vector_nest(const std::vector< std::pair< std::reference_wrapper< const common::IndexMap >, int >> &maps)
Create nested (VecNest) vector. Vector is not zeroed.
Definition: petsc.cpp:252
Mat create_matrix(const Form< PetscScalar > &a, const std::string &type=std::string())
Create a matrix.
Definition: petsc.cpp:20
Mat create_matrix_block(const std::vector< std::vector< const fem::Form< PetscScalar > * >> &a, const std::string &type=std::string())
Initialise a monolithic matrix for an array of bilinear forms.
Definition: petsc.cpp:32
Miscellaneous classes, functions and types.
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:288
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:274
Vec create_vector_block(const std::vector< std::pair< std::reference_wrapper< const common::IndexMap >, int >> &maps)
Initialise monolithic vector. Vector is not zeroed.
Definition: petsc.cpp:216
Finite element method functionality.
Definition: assemble_matrix_impl.h:22
Mat create_matrix_nest(const std::vector< std::vector< const fem::Form< PetscScalar > * >> &a, const std::vector< std::vector< std::string >> &types)
Create nested (MatNest) matrix.
Definition: petsc.cpp:174