xref: /libCEED/examples/petsc/include/sphereproblemdata.h (revision 24a65d3da2f623912f26b42c0b9ba6f37de25307)
198285ab4SZach Atkins // Copyright (c) 2017-2022, Lawrence Livermore National Security, LLC and other CEED contributors.
298285ab4SZach Atkins // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
398285ab4SZach Atkins //
498285ab4SZach Atkins // SPDX-License-Identifier: BSD-2-Clause
598285ab4SZach Atkins //
698285ab4SZach Atkins // This file is part of CEED:  http://github.com/ceed
798285ab4SZach Atkins 
898285ab4SZach Atkins /// @file
998285ab4SZach Atkins /// Problem data for BPS sphere examples
10*24a65d3dSJeremy L Thompson #pragma once
11e83e87a5Sjeremylt 
12e83e87a5Sjeremylt #include <ceed.h>
13e83e87a5Sjeremylt #include <petsc.h>
142b730f8bSJeremy L Thompson 
15e83e87a5Sjeremylt #include "../include/structs.h"
16e83e87a5Sjeremylt #include "../qfunctions/bps/bp1sphere.h"
17e83e87a5Sjeremylt #include "../qfunctions/bps/bp2sphere.h"
18e83e87a5Sjeremylt #include "../qfunctions/bps/bp3sphere.h"
19e83e87a5Sjeremylt #include "../qfunctions/bps/bp4sphere.h"
20e83e87a5Sjeremylt #include "../qfunctions/bps/common.h"
21e83e87a5Sjeremylt 
22e83e87a5Sjeremylt // -----------------------------------------------------------------------------
23e83e87a5Sjeremylt // BP Option Data
24e83e87a5Sjeremylt // -----------------------------------------------------------------------------
25e83e87a5Sjeremylt 
269b072555Sjeremylt static BPData bp_options[6] = {
272b730f8bSJeremy L Thompson     [CEED_BP1] = {.num_comp_u    = 1,
289b072555Sjeremylt                   .num_comp_x    = 3,
299b072555Sjeremylt                   .topo_dim      = 3,
309b072555Sjeremylt                   .q_data_size   = 1,
319b072555Sjeremylt                   .q_extra       = 1,
329b072555Sjeremylt                   .setup_geo     = SetupMassGeo,
339b072555Sjeremylt                   .setup_rhs     = SetupMassRhs,
34e83e87a5Sjeremylt                   .apply         = Mass,
35e83e87a5Sjeremylt                   .error         = Error,
369b072555Sjeremylt                   .setup_geo_loc = SetupMassGeo_loc,
379b072555Sjeremylt                   .setup_rhs_loc = SetupMassRhs_loc,
389b072555Sjeremylt                   .apply_loc     = Mass_loc,
399b072555Sjeremylt                   .error_loc     = Error_loc,
409b072555Sjeremylt                   .in_mode       = CEED_EVAL_INTERP,
419b072555Sjeremylt                   .out_mode      = CEED_EVAL_INTERP,
422b730f8bSJeremy L Thompson                   .q_mode        = CEED_GAUSS        },
432b730f8bSJeremy L Thompson     [CEED_BP2] = {.num_comp_u    = 3,
449b072555Sjeremylt                   .num_comp_x    = 3,
459b072555Sjeremylt                   .topo_dim      = 3,
469b072555Sjeremylt                   .q_data_size   = 1,
47d4d45553Srezgarshakeri                   .q_extra       = 1,
489b072555Sjeremylt                   .setup_geo     = SetupMassGeo,
499b072555Sjeremylt                   .setup_rhs     = SetupMassRhs3,
50e83e87a5Sjeremylt                   .apply         = Mass3,
51e83e87a5Sjeremylt                   .error         = Error3,
529b072555Sjeremylt                   .setup_geo_loc = SetupMassGeo_loc,
539b072555Sjeremylt                   .setup_rhs_loc = SetupMassRhs3_loc,
549b072555Sjeremylt                   .apply_loc     = Mass3_loc,
559b072555Sjeremylt                   .error_loc     = Error3_loc,
569b072555Sjeremylt                   .in_mode       = CEED_EVAL_INTERP,
579b072555Sjeremylt                   .out_mode      = CEED_EVAL_INTERP,
582b730f8bSJeremy L Thompson                   .q_mode        = CEED_GAUSS        },
592b730f8bSJeremy L Thompson     [CEED_BP3] = {.num_comp_u    = 1,
609b072555Sjeremylt                   .num_comp_x    = 3,
619b072555Sjeremylt                   .topo_dim      = 3,
629b072555Sjeremylt                   .q_data_size   = 4,
639b072555Sjeremylt                   .q_extra       = 1,
649b072555Sjeremylt                   .setup_geo     = SetupDiffGeo,
659b072555Sjeremylt                   .setup_rhs     = SetupDiffRhs,
66e83e87a5Sjeremylt                   .apply         = Diff,
67e83e87a5Sjeremylt                   .error         = Error,
689b072555Sjeremylt                   .setup_geo_loc = SetupDiffGeo_loc,
699b072555Sjeremylt                   .setup_rhs_loc = SetupDiffRhs_loc,
709b072555Sjeremylt                   .apply_loc     = Diff_loc,
719b072555Sjeremylt                   .error_loc     = Error_loc,
729b072555Sjeremylt                   .in_mode       = CEED_EVAL_GRAD,
739b072555Sjeremylt                   .out_mode      = CEED_EVAL_GRAD,
742b730f8bSJeremy L Thompson                   .q_mode        = CEED_GAUSS        },
752b730f8bSJeremy L Thompson     [CEED_BP4] = {.num_comp_u    = 3,
769b072555Sjeremylt                   .num_comp_x    = 3,
779b072555Sjeremylt                   .topo_dim      = 3,
789b072555Sjeremylt                   .q_data_size   = 4,
799b072555Sjeremylt                   .q_extra       = 1,
809b072555Sjeremylt                   .setup_geo     = SetupDiffGeo,
819b072555Sjeremylt                   .setup_rhs     = SetupDiffRhs3,
82e83e87a5Sjeremylt                   .apply         = Diff3,
83e83e87a5Sjeremylt                   .error         = Error3,
849b072555Sjeremylt                   .setup_geo_loc = SetupDiffGeo_loc,
859b072555Sjeremylt                   .setup_rhs_loc = SetupDiffRhs3_loc,
869b072555Sjeremylt                   .apply_loc     = Diff_loc,
879b072555Sjeremylt                   .error_loc     = Error3_loc,
889b072555Sjeremylt                   .in_mode       = CEED_EVAL_GRAD,
899b072555Sjeremylt                   .out_mode      = CEED_EVAL_GRAD,
902b730f8bSJeremy L Thompson                   .q_mode        = CEED_GAUSS        },
912b730f8bSJeremy L Thompson     [CEED_BP5] = {.num_comp_u    = 1,
929b072555Sjeremylt                   .num_comp_x    = 3,
939b072555Sjeremylt                   .topo_dim      = 3,
949b072555Sjeremylt                   .q_data_size   = 4,
959b072555Sjeremylt                   .q_extra       = 0,
969b072555Sjeremylt                   .setup_geo     = SetupDiffGeo,
979b072555Sjeremylt                   .setup_rhs     = SetupDiffRhs,
98e83e87a5Sjeremylt                   .apply         = Diff,
99e83e87a5Sjeremylt                   .error         = Error,
1009b072555Sjeremylt                   .setup_geo_loc = SetupDiffGeo_loc,
1019b072555Sjeremylt                   .setup_rhs_loc = SetupDiffRhs_loc,
1029b072555Sjeremylt                   .apply_loc     = Diff_loc,
1039b072555Sjeremylt                   .error_loc     = Error_loc,
1049b072555Sjeremylt                   .in_mode       = CEED_EVAL_GRAD,
1059b072555Sjeremylt                   .out_mode      = CEED_EVAL_GRAD,
1062b730f8bSJeremy L Thompson                   .q_mode        = CEED_GAUSS_LOBATTO},
1072b730f8bSJeremy L Thompson     [CEED_BP6] = {.num_comp_u    = 3,
1089b072555Sjeremylt                   .num_comp_x    = 3,
1099b072555Sjeremylt                   .topo_dim      = 3,
1109b072555Sjeremylt                   .q_data_size   = 4,
1119b072555Sjeremylt                   .q_extra       = 0,
1129b072555Sjeremylt                   .setup_geo     = SetupDiffGeo,
1139b072555Sjeremylt                   .setup_rhs     = SetupDiffRhs3,
114e83e87a5Sjeremylt                   .apply         = Diff3,
115e83e87a5Sjeremylt                   .error         = Error3,
1169b072555Sjeremylt                   .setup_geo_loc = SetupDiffGeo_loc,
1179b072555Sjeremylt                   .setup_rhs_loc = SetupDiffRhs3_loc,
1189b072555Sjeremylt                   .apply_loc     = Diff_loc,
1199b072555Sjeremylt                   .error_loc     = Error3_loc,
1209b072555Sjeremylt                   .in_mode       = CEED_EVAL_GRAD,
1219b072555Sjeremylt                   .out_mode      = CEED_EVAL_GRAD,
1222b730f8bSJeremy L Thompson                   .q_mode        = CEED_GAUSS_LOBATTO}
123e83e87a5Sjeremylt };
124