16 #include <deal.II/sundials/copy.h> 18 #ifdef DEAL_II_WITH_SUNDIALS 20 DEAL_II_NAMESPACE_OPEN
33 N_Vector_length(
const N_Vector &vec)
35 const N_Vector_ID
id = N_VGetVectorID(vec);
39 case SUNDIALS_NVEC_SERIAL:
41 length = NV_LENGTH_S(vec);
44 # ifdef DEAL_II_WITH_MPI 45 case SUNDIALS_NVEC_PARALLEL:
47 length = NV_LOCLENGTH_P(vec);
56 return static_cast<std::size_t
>(length);
59 # ifdef DEAL_II_WITH_MPI 61 # ifdef DEAL_II_WITH_TRILINOS 70 for (std::size_t i = 0; i < N; ++i)
83 for (std::size_t i = 0; i < N; ++i)
95 for (std::size_t i = 0; i < N; ++i)
108 for (std::size_t i = 0; i < N; ++i)
114 # endif // DEAL_II_WITH_TRILINOS 116 # ifdef DEAL_II_WITH_PETSC 117 # ifndef PETSC_USE_COMPLEX 125 for (std::size_t i = 0; i < N; ++i)
138 for (std::size_t i = 0; i < N; ++i)
150 for (std::size_t i = 0; i < N; ++i)
163 for (std::size_t i = 0; i < N; ++i)
169 # endif // PETSC_USE_COMPLEX 170 # endif // DEAL_II_WITH_PETSC 177 const std::size_t N = dst.
size();
179 for (std::size_t i = 0; i < N; ++i)
181 dst[i] = NV_Ith_S(src, i);
188 const std::size_t N = src.
size();
190 for (std::size_t i = 0; i < N; ++i)
192 NV_Ith_S(dst, i) = src[i];
199 const std::size_t N = dst.
size();
201 for (std::size_t i = 0; i < N; ++i)
203 dst[i] = NV_Ith_S(src, i);
210 const std::size_t N = src.
size();
212 for (std::size_t i = 0; i < N; ++i)
214 NV_Ith_S(dst, i) = src[i];
219 DEAL_II_NAMESPACE_CLOSE
#define AssertDimension(dim1, dim2)
void compress(::VectorOperation::values operation)
size_type nth_index_in_set(const unsigned int local_index) const
IndexSet locally_owned_elements() const
void compress(const VectorOperation::values operation)
#define Assert(cond, exc)
void compress(::VectorOperation::values operation)
IndexSet locally_owned_elements() const
IndexSet locally_owned_elements() const
static ::ExceptionBase & ExcNotImplemented()
size_type n_elements() const
static ::ExceptionBase & ExcInternalError()