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