Skip to content

Commit

Permalink
Merge Pull Request #10519 from NexGenAnalytics/Trilinos/panzer-make-e…
Browse files Browse the repository at this point in the history
…petra-optional

Automatically Merged using Trilinos Pull Request AutoTester
PR Title: Panzer: Make disc-fe Epetra optional
PR Author: JacobDomagala
  • Loading branch information
trilinos-autotester authored Jun 16, 2022
2 parents af47f04 + 1ba0205 commit ac60e46
Show file tree
Hide file tree
Showing 63 changed files with 831 additions and 654 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@
#include "Panzer_AssemblyEngine_TemplateManager.hpp"
#include "Panzer_AssemblyEngine_TemplateBuilder.hpp"
#include "Panzer_LinearObjFactory.hpp"
#include "Panzer_BlockedEpetraLinearObjFactory.hpp"
#include "Panzer_TpetraLinearObjFactory.hpp"
#include "Panzer_DOFManagerFactory.hpp"
#include "Panzer_FieldManagerBuilder.hpp"
Expand All @@ -86,6 +85,7 @@
#include "EpetraExt_RowMatrixOut.h"
#include "EpetraExt_VectorOut.h"
#include "AztecOO.h"
#include "Panzer_BlockedEpetraLinearObjFactory.hpp"
#endif

#include "BelosPseudoBlockGmresSolMgr.hpp"
Expand Down Expand Up @@ -204,6 +204,12 @@ int main(int argc,char * argv[])
if (r_parse == Teuchos::CommandLineProcessor::PARSE_HELP_PRINTED) return 0;
if (r_parse != Teuchos::CommandLineProcessor::PARSE_SUCCESSFUL ) return -1;

if(!useTpetra){
#ifndef PANZER_HAVE_EPETRA
throw std::runtime_error("Trying to run Panzer MixedPoisson Test with Epetra, but Epetra is disabled!");
#endif
}

// variable declarations
////////////////////////////////////////////////////

Expand Down Expand Up @@ -345,6 +351,7 @@ int main(int argc,char * argv[])

// build the connection manager
if(!useTpetra) {
#ifdef PANZER_HAVE_EPETRA
const Teuchos::RCP<panzer::ConnManager> conn_manager = Teuchos::rcp(new panzer_stk::STKConnManager(mesh));

panzer::DOFManagerFactory globalIndexerFactory;
Expand All @@ -354,6 +361,7 @@ int main(int argc,char * argv[])

// construct some linear algebra object, build object to pass to evaluators
linObjFactory = Teuchos::rcp(new panzer::BlockedEpetraLinearObjFactory<panzer::Traits,int>(comm.getConst(),dofManager_int));
#endif
}
else {
const Teuchos::RCP<panzer::ConnManager> conn_manager = Teuchos::rcp(new panzer_stk::STKConnManager(mesh));
Expand Down Expand Up @@ -694,7 +702,7 @@ void testInitialization(const Teuchos::RCP<Teuchos::ParameterList>& ipb,
{
{
std::string b_basis_type = threeD ? "HDiv" : "HVol";
int b_basis_order = threeD ? basis_order : basis_order-1;
int b_basis_order = threeD ? basis_order : basis_order-1;

Teuchos::ParameterList& p = ipb->sublist("CurlLapacian Physics");
p.set("Type","CurlLaplacian");
Expand Down
2 changes: 1 addition & 1 deletion packages/panzer/adapters-stk/test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ IF (PANZER_HAVE_EPETRA)
ADD_SUBDIRECTORY(ip_coordinates)
ADD_SUBDIRECTORY(bcstrategy)
ADD_SUBDIRECTORY(periodic_bcs)
ADD_SUBDIRECTORY(initial_condition_builder)
ENDIF (PANZER_HAVE_EPETRA)

ADD_SUBDIRECTORY(stk_interface_test)
ADD_SUBDIRECTORY(stk_connmngr)
ADD_SUBDIRECTORY(panzer_workset_builder)
ADD_SUBDIRECTORY(initial_condition_builder)
ADD_SUBDIRECTORY(gather_scatter_evaluators)
ADD_SUBDIRECTORY(response_library)
ADD_SUBDIRECTORY(evaluator_tests)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,21 +15,20 @@ TRIBITS_ADD_EXECUTABLE_AND_TEST(
NUM_MPI_PROCS 1
)

IF (PANZER_HAVE_EPETRA)
TRIBITS_ADD_EXECUTABLE_AND_TEST(
initial_condition_builder2
SOURCES initial_condition_builder2.cpp user_app_STKClosureModel_Factory.hpp user_app_STKClosureModel_Factory_impl.hpp user_app_STKClosureModel_Factory_TemplateBuilder.hpp ${UNIT_TEST_DRIVER}
COMM serial mpi
NUM_MPI_PROCS 2

TRIBITS_ADD_EXECUTABLE_AND_TEST(
initial_condition_builder2
SOURCES initial_condition_builder2.cpp user_app_STKClosureModel_Factory.hpp user_app_STKClosureModel_Factory_impl.hpp user_app_STKClosureModel_Factory_TemplateBuilder.hpp ${UNIT_TEST_DRIVER}
COMM serial mpi
NUM_MPI_PROCS 2
)

TRIBITS_ADD_EXECUTABLE_AND_TEST(
initial_condition_control
SOURCES initial_condition_control.cpp user_app_STKClosureModel_Factory.hpp user_app_STKClosureModel_Factory_impl.hpp user_app_STKClosureModel_Factory_TemplateBuilder.hpp ${UNIT_TEST_DRIVER}
COMM serial mpi
NUM_MPI_PROCS 2
TRIBITS_ADD_EXECUTABLE_AND_TEST(
initial_condition_control
SOURCES initial_condition_control.cpp user_app_STKClosureModel_Factory.hpp user_app_STKClosureModel_Factory_impl.hpp user_app_STKClosureModel_Factory_TemplateBuilder.hpp ${UNIT_TEST_DRIVER}
COMM serial mpi
NUM_MPI_PROCS 2
)
ENDIF(PANZER_HAVE_EPETRA)

TRIBITS_COPY_FILES_TO_BINARY_DIR(ic_builder2_files
SOURCE_FILES block-decomp.exo block-decomp.exo.2.0 block-decomp.exo.2.1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,11 @@ using Teuchos::rcp;
#include "Panzer_FieldManagerBuilder.hpp"
#include "Panzer_STKConnManager.hpp"
#include "Panzer_DOFManagerFactory.hpp"

#ifdef PANZER_HAVE_EPETRA
#include "Panzer_BlockedEpetraLinearObjFactory.hpp"
#endif

#include "Panzer_GlobalData.hpp"
#include "Panzer_ResponseEvaluatorFactory_Functional.hpp"
#include "user_app_EquationSetFactory.hpp"
Expand Down Expand Up @@ -504,6 +508,7 @@ namespace panzer_stk {
}
}

#ifdef PANZER_HAVE_EPETRA
std::pair<RCP<panzer::ResponseLibrary<panzer::Traits> >,RCP<panzer::LinearObjFactory<panzer::Traits> > > buildResponseLibrary(
std::vector<Teuchos::RCP<panzer::PhysicsBlock> > & physics_blocks,
panzer::ClosureModelFactory_TemplateManager<panzer::Traits> & cm_factory,
Expand Down Expand Up @@ -623,4 +628,6 @@ namespace panzer_stk {

return std::make_pair(rLibrary,lof);
}
#endif // PANZER_HAVE_EPETRA

}
19 changes: 19 additions & 0 deletions packages/panzer/disc-fe/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,25 @@ IF(Panzer_BUILD_PAPI_SUPPORT)
APPEND_GLOB(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/papi/*.cpp)
ENDIF()

IF(NOT PANZER_HAVE_EPETRA)
LIST(REMOVE_ITEM SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/Panzer_BlockedVector_Write_GlobalEvaluationData.cpp
${CMAKE_CURRENT_SOURCE_DIR}/Panzer_EpetraVector_ReadOnly_GlobalEvaluationData.cpp
${CMAKE_CURRENT_SOURCE_DIR}/Panzer_EpetraVector_Write_GlobalEvaluationData.cpp
${CMAKE_CURRENT_SOURCE_DIR}/Panzer_ModelEvaluator_Epetra.cpp
${CMAKE_CURRENT_SOURCE_DIR}/evaluators/Panzer_GatherSolution_BlockedEpetra.cpp
${CMAKE_CURRENT_SOURCE_DIR}/evaluators/Panzer_GatherSolution_Epetra.cpp
${CMAKE_CURRENT_SOURCE_DIR}/evaluators/Panzer_GatherTangent_BlockedEpetra.cpp
${CMAKE_CURRENT_SOURCE_DIR}/evaluators/Panzer_GatherTangent_Epetra.cpp
${CMAKE_CURRENT_SOURCE_DIR}/evaluators/Panzer_ScatterDirichletResidual_BlockedEpetra.cpp
${CMAKE_CURRENT_SOURCE_DIR}/evaluators/Panzer_ScatterDirichletResidual_Epetra.cpp
${CMAKE_CURRENT_SOURCE_DIR}/evaluators/Panzer_ScatterResidual_BlockedEpetra.cpp
${CMAKE_CURRENT_SOURCE_DIR}/evaluators/Panzer_ScatterResidual_Epetra.cpp
${CMAKE_CURRENT_SOURCE_DIR}/lof/Panzer_BlockedEpetraLinearObjContainer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/lof/Panzer_BlockedEpetraLinearObjFactory.cpp
)
ENDIF()

#
# C) Define the targets for package's library(s)
#
Expand Down
Loading

0 comments on commit ac60e46

Please sign in to comment.