DOLFIN-X
DOLFIN-X C++ interface
|
10 #include <dolfinx/common/types.h>
50 Eigen::Ref<Eigen::Matrix<PetscScalar, Eigen::Dynamic, 1>> b,
const Form& L);
54 Eigen::Ref<Eigen::Matrix<PetscScalar, Eigen::Dynamic, 1>> b,
55 const mesh::Mesh& mesh,
const std::vector<std::int32_t>& active_cells,
56 const graph::AdjacencyList<std::int32_t>& dofmap,
int num_dofs_per_cell,
57 const std::function<
void(PetscScalar*,
const PetscScalar*,
58 const PetscScalar*,
const double*,
const int*,
59 const std::uint8_t*,
const std::uint32_t)>& kernel,
60 const Eigen::Array<PetscScalar, Eigen::Dynamic, Eigen::Dynamic,
61 Eigen::RowMajor>& coeffs,
62 const Eigen::Array<PetscScalar, Eigen::Dynamic, 1>& constant_values);
66 Eigen::Ref<Eigen::Matrix<PetscScalar, Eigen::Dynamic, 1>> b,
67 const mesh::Mesh& mesh,
const std::vector<std::int32_t>& active_facets,
68 const fem::DofMap& dofmap,
69 const std::function<
void(PetscScalar*,
const PetscScalar*,
70 const PetscScalar*,
const double*,
const int*,
71 const std::uint8_t*,
const std::uint32_t)>& fn,
72 const Eigen::Array<PetscScalar, Eigen::Dynamic, Eigen::Dynamic,
73 Eigen::RowMajor>& coeffs,
74 const Eigen::Array<PetscScalar, Eigen::Dynamic, 1>& constant_values);
78 Eigen::Ref<Eigen::Matrix<PetscScalar, Eigen::Dynamic, 1>> b,
79 const mesh::Mesh& mesh,
const std::vector<std::int32_t>& active_facets,
80 const fem::DofMap& dofmap,
81 const std::function<
void(PetscScalar*,
const PetscScalar*,
82 const PetscScalar*,
const double*,
const int*,
83 const std::uint8_t*,
const std::uint32_t)>& fn,
84 const Eigen::Array<PetscScalar, Eigen::Dynamic, Eigen::Dynamic,
85 Eigen::RowMajor>& coeffs,
86 const std::vector<int>& offsets,
87 const Eigen::Array<PetscScalar, Eigen::Dynamic, 1>& constant_values);
107 Eigen::Ref<Eigen::Matrix<PetscScalar, Eigen::Dynamic, 1>> b,
108 const std::vector<std::shared_ptr<const Form>> a,
109 const std::vector<std::vector<std::shared_ptr<const DirichletBC>>>& bcs1,
111 Eigen::Ref<
const Eigen::Matrix<PetscScalar, Eigen::Dynamic, 1>>>& x0,
125 Eigen::Ref<Eigen::Matrix<PetscScalar, Eigen::Dynamic, 1>> b,
const Form& a,
126 const Eigen::Ref<
const Eigen::Matrix<PetscScalar, Eigen::Dynamic, 1>>&
128 const std::vector<bool>& bc_markers1,
double scale);
143 Eigen::Ref<Eigen::Matrix<PetscScalar, Eigen::Dynamic, 1>> b,
const Form& a,
144 const Eigen::Ref<
const Eigen::Matrix<PetscScalar, Eigen::Dynamic, 1>>&
146 const std::vector<bool>& bc_markers1,
147 const Eigen::Ref<
const Eigen::Matrix<PetscScalar, Eigen::Dynamic, 1>>& x0,
void apply_lifting(Eigen::Ref< Eigen::Matrix< PetscScalar, Eigen::Dynamic, 1 >> b, const std::vector< std::shared_ptr< const Form >> a, const std::vector< std::vector< std::shared_ptr< const DirichletBC >>> &bcs1, const std::vector< Eigen::Ref< const Eigen::Matrix< PetscScalar, Eigen::Dynamic, 1 >>> &x0, double scale)
Modify b such that:
Definition: assemble_vector_impl.cpp:587
void assemble_interior_facets(const std::function< int(std::int32_t, const std::int32_t *, std::int32_t, const std::int32_t *, const ScalarType *)> &mat_set_values_local, const mesh::Mesh &mesh, const std::vector< std::int32_t > &active_facets, const DofMap &dofmap0, const DofMap &dofmap1, const std::vector< bool > &bc0, const std::vector< bool > &bc1, const std::function< void(ScalarType *, const ScalarType *, const ScalarType *, const double *, const int *, const std::uint8_t *, const std::uint32_t)> &kernel, const Eigen::Array< ScalarType, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > &coeffs, const std::vector< int > &offsets, const Eigen::Array< ScalarType, Eigen::Dynamic, 1 > &constant_values)
Execute kernel over interior facets and accumulate result in Mat.
Definition: assemble_matrix_impl.cpp:274
void assemble_cells(const std::function< int(std::int32_t, const std::int32_t *, std::int32_t, const std::int32_t *, const ScalarType *)> &mat_set_values_local, const mesh::Mesh &mesh, const std::vector< std::int32_t > &active_cells, const graph::AdjacencyList< std::int32_t > &dofmap0, int num_dofs_per_cell0, const graph::AdjacencyList< std::int32_t > &dofmap1, int num_dofs_per_cell1, const std::vector< bool > &bc0, const std::vector< bool > &bc1, const std::function< void(ScalarType *, const ScalarType *, const ScalarType *, const double *, const int *, const std::uint8_t *, const std::uint32_t)> &kernel, const Eigen::Array< ScalarType, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > &coeffs, const Eigen::Array< ScalarType, Eigen::Dynamic, 1 > &constant_values)
Execute kernel over cells and accumulate result in Mat.
Definition: assemble_matrix_impl.cpp:101
void assemble_vector(Eigen::Ref< Eigen::Matrix< PetscScalar, Eigen::Dynamic, 1 >> b, const Form &L)
Assemble linear form into an Eigen vector.
Definition: assemble_vector_impl.cpp:295
void lift_bc(Eigen::Ref< Eigen::Matrix< PetscScalar, Eigen::Dynamic, 1 >> b, const Form &a, const Eigen::Ref< const Eigen::Matrix< PetscScalar, Eigen::Dynamic, 1 >> &bc_values1, const std::vector< bool > &bc_markers1, double scale)
Modify RHS vector to account for boundary condition.
Definition: assemble_vector_impl.cpp:637
void assemble_exterior_facets(const std::function< int(std::int32_t, const std::int32_t *, std::int32_t, const std::int32_t *, const ScalarType *)> &mat_set_values_local, const mesh::Mesh &mesh, const std::vector< std::int32_t > &active_facets, const DofMap &dofmap0, const DofMap &dofmap1, const std::vector< bool > &bc0, const std::vector< bool > &bc1, const std::function< void(ScalarType *, const ScalarType *, const ScalarType *, const double *, const int *, const std::uint8_t *, const std::uint32_t)> &fn, const Eigen::Array< ScalarType, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > &coeffs, const Eigen::Array< ScalarType, Eigen::Dynamic, 1 > constant_values)
Execute kernel over exterior facets and accumulate result in Mat.
Definition: assemble_matrix_impl.cpp:178