MFEM v4.7.0
Finite element discretization library
Loading...
Searching...
No Matches
basis.hpp
Go to the documentation of this file.
1// Copyright (c) 2010-2024, Lawrence Livermore National Security, LLC. Produced
2// at the Lawrence Livermore National Laboratory. All Rights reserved. See files
3// LICENSE and NOTICE for details. LLNL-CODE-806117.
4//
5// This file is part of the MFEM library. For more information and source code
6// availability visit https://mfem.org.
7//
8// MFEM is free software; you can redistribute it and/or modify it under the
9// terms of the BSD-3 license. We welcome feedback and contributions, see file
10// CONTRIBUTING.md for details.
11
12#ifndef MFEM_LIBCEED_BASIS
13#define MFEM_LIBCEED_BASIS
14
15#include "ceed.hpp"
16
17namespace mfem
18{
19
20namespace ceed
21{
22
23#ifdef MFEM_USE_CEED
24
25/** @brief Initialize a CeedBasis for non-mixed meshes.
26
27 @param[in] fes Input finite element space.
28 @param[in] ir Input integration rule.
29 @param[in] ceed Input Ceed object.
30 @param[out] basis The address of the initialized CeedBasis object.
31*/
32void InitBasis(const FiniteElementSpace &fes,
33 const IntegrationRule &ir,
34 Ceed ceed, CeedBasis *basis);
35
36/** @brief Initialize a CeedBasis for mixed meshes.
37
38 @param[in] fes The finite element space.
39 @param[in] ir is the integration rule for the operator.
40 @param[in] nelem The number of elements.
41 @param[in] indices The indices of the elements of same type in the
42 `FiniteElementSpace`.
43 @param[in] ceed The Ceed object.
44 @param[out] basis The `CeedBasis` to initialize. */
45void InitBasisWithIndices(const FiniteElementSpace &fes,
46 const IntegrationRule &ir,
47 int nelem,
48 const int* indices,
49 Ceed ceed, CeedBasis *basis);
50
51#endif
52
53} // namespace ceed
54
55} // namespace mfem
56
57#endif // MFEM_LIBCEED_BASIS
void InitBasisWithIndices(const FiniteElementSpace &fes, const IntegrationRule &ir, int nelem, const int *indices, Ceed ceed, CeedBasis *basis)
Initialize a CeedBasis for mixed meshes.
Definition basis.cpp:142
void InitBasis(const FiniteElementSpace &fes, const IntegrationRule &ir, Ceed ceed, CeedBasis *basis)
Initialize a CeedBasis for non-mixed meshes.
Definition basis.cpp:134