xref: /libCEED/examples/petsc/include/libceedsetup.h (revision 74d1b6c4d74ab01eefbd8940b6e3a2db84651b5c)
1 // Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors.
2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
3 //
4 // SPDX-License-Identifier: BSD-2-Clause
5 //
6 // This file is part of CEED:  http://github.com/ceed
7 
8 /// @file
9 /// Setup functions for BPs
10 
11 #ifndef libceed_petsc_examples_setup_h
12 #define libceed_petsc_examples_setup_h
13 
14 #include <ceed.h>
15 #include <petsc.h>
16 
17 #include "structs.h"
18 
19 PetscErrorCode CeedDataDestroy(CeedInt i, CeedData data);
20 PetscErrorCode SetupLibceedByDegree(DM dm, Ceed ceed, CeedInt degree, CeedInt topo_dim, CeedInt q_extra, PetscInt num_comp_x, PetscInt num_comp_u,
21                                     PetscInt g_size, PetscInt xl_size, BPData bp_data, CeedData data, PetscBool setup_rhs, CeedVector rhs_ceed,
22                                     CeedVector *target);
23 PetscErrorCode CeedLevelTransferSetup(DM dm, Ceed ceed, CeedInt level, CeedInt num_comp_u, CeedData *data, BPData bp_data, Vec fine_mult);
24 PetscErrorCode SetupErrorOperator(DM dm, Ceed ceed, BPData bp_data, CeedInt topo_dim, PetscInt num_comp_x, PetscInt num_comp_u,
25                                   CeedOperator *op_error);
26 #endif  // libceed_petsc_examples_setup_h
27