xref: /libCEED/examples/petsc/include/areaproblemdata.h (revision 98285ab464d104dd6040959f61a83e9969073ceb)
1*98285ab4SZach Atkins // Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors.
2*98285ab4SZach Atkins // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
3*98285ab4SZach Atkins //
4*98285ab4SZach Atkins // SPDX-License-Identifier: BSD-2-Clause
5*98285ab4SZach Atkins //
6*98285ab4SZach Atkins // This file is part of CEED:  http://github.com/ceed
7*98285ab4SZach Atkins 
8*98285ab4SZach Atkins /// @file
9*98285ab4SZach Atkins /// Problem data for area examples
10*98285ab4SZach Atkins 
11b7c563b6SJeremy L Thompson #ifndef libceed_petsc_examples_area_problem_data_h
12b7c563b6SJeremy L Thompson #define libceed_petsc_examples_area_problem_data_h
13e83e87a5Sjeremylt 
14e83e87a5Sjeremylt #include <ceed.h>
15e83e87a5Sjeremylt #include <petsc.h>
162b730f8bSJeremy L Thompson 
17e83e87a5Sjeremylt #include "../include/structs.h"
18e83e87a5Sjeremylt #include "../qfunctions/area/areacube.h"
19e83e87a5Sjeremylt #include "../qfunctions/area/areasphere.h"
20e83e87a5Sjeremylt 
21e83e87a5Sjeremylt // -----------------------------------------------------------------------------
22e83e87a5Sjeremylt // Problem Option Data
23e83e87a5Sjeremylt // -----------------------------------------------------------------------------
24e83e87a5Sjeremylt 
25e83e87a5Sjeremylt // Problem options
262b730f8bSJeremy L Thompson typedef enum { CUBE = 0, SPHERE = 1 } ProblemType;
27e83e87a5Sjeremylt 
289b072555Sjeremylt static BPData problem_options[6] = {
292b730f8bSJeremy L Thompson     [CUBE] =
302b730f8bSJeremy L Thompson         {
319b072555Sjeremylt                 .num_comp_x    = 3,
329b072555Sjeremylt                 .num_comp_u    = 1,
339b072555Sjeremylt                 .topo_dim      = 2,
349b072555Sjeremylt                 .q_data_size   = 1,
359b072555Sjeremylt                 .q_extra       = 1,
369b072555Sjeremylt                 .setup_geo     = SetupMassGeoCube,
37e83e87a5Sjeremylt                 .apply         = Mass,
389b072555Sjeremylt                 .setup_geo_loc = SetupMassGeoCube_loc,
399b072555Sjeremylt                 .apply_loc     = Mass_loc,
409b072555Sjeremylt                 .in_mode       = CEED_EVAL_INTERP,
419b072555Sjeremylt                 .out_mode      = CEED_EVAL_INTERP,
429b072555Sjeremylt                 .q_mode        = CEED_GAUSS,
439b072555Sjeremylt                 .enforce_bc    = PETSC_FALSE,
44e83e87a5Sjeremylt                 },
45e83e87a5Sjeremylt     [SPHERE] = {
469b072555Sjeremylt                 .num_comp_x    = 3,
479b072555Sjeremylt                 .num_comp_u    = 1,
489b072555Sjeremylt                 .topo_dim      = 2,
499b072555Sjeremylt                 .q_data_size   = 1,
509b072555Sjeremylt                 .q_extra       = 1,
519b072555Sjeremylt                 .setup_geo     = SetupMassGeoSphere,
52e83e87a5Sjeremylt                 .apply         = Mass,
539b072555Sjeremylt                 .setup_geo_loc = SetupMassGeoSphere_loc,
549b072555Sjeremylt                 .apply_loc     = Mass_loc,
559b072555Sjeremylt                 .in_mode       = CEED_EVAL_INTERP,
569b072555Sjeremylt                 .out_mode      = CEED_EVAL_INTERP,
579b072555Sjeremylt                 .q_mode        = CEED_GAUSS,
589b072555Sjeremylt                 .enforce_bc    = PETSC_FALSE,
59e83e87a5Sjeremylt                 }
60e83e87a5Sjeremylt };
61e83e87a5Sjeremylt 
62b7c563b6SJeremy L Thompson #endif  // libceed_petsc_examples_area_problem_data_h
63