Skip to content

Commit

Permalink
Panzer: Adapted CurlLaplacianExample into a mixed version that uses b…
Browse files Browse the repository at this point in the history
…oth HCurl and HDiv elements in 3D or HCurl and HVol elements in 2D.

Exposed HVol basis type and defined its basis values. Modified L2Projection to allow HVol elements.
  • Loading branch information
egphill committed Nov 21, 2018
1 parent b45b453 commit 4fa2e7e
Show file tree
Hide file tree
Showing 24 changed files with 4,632 additions and 6 deletions.
1 change: 1 addition & 0 deletions packages/panzer/adapters-stk/example/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
ADD_SUBDIRECTORY(square_mesh)
ADD_SUBDIRECTORY(PoissonExample)
ADD_SUBDIRECTORY(CurlLaplacianExample)
ADD_SUBDIRECTORY(MixedCurlLaplacianExample)
ADD_SUBDIRECTORY(MixedPoissonExample)
ADD_SUBDIRECTORY(PoissonInterfaceExample)
ADD_SUBDIRECTORY(assembly_engine)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,229 @@

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})

SET(ASSEMBLY_EXAMPLE_SOURCES
main.cpp
)

TRIBITS_ADD_EXECUTABLE(
MixedCurlLaplacianExample
SOURCES ${ASSEMBLY_EXAMPLE_SOURCES}
)

TRIBITS_ADD_ADVANCED_TEST(
MixedCurlLaplacianExample
EXCLUDE_IF_NOT_TRUE ${${PARENT_PACKAGE_NAME}_ADD_EXPENSIVE_CUDA_TESTS}
TEST_0 EXEC MixedCurlLaplacianExample
ARGS --use-epetra --output-filename="base-curl-test-"
PASS_REGULAR_EXPRESSION "ALL PASSED: Epetra"
NUM_MPI_PROCS 4
TEST_1 EXEC MixedCurlLaplacianExample
ARGS --use-tpetra --output-filename="base-curl-test-"
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
COMM mpi
)

FOREACH( ORDER 1 2 )
TRIBITS_ADD_ADVANCED_TEST(
MixedCurlLaplacianExample-ConvTest-Quad-Order-${ORDER}
EXCLUDE_IF_NOT_TRUE ${PARENT_PACKAGE_NAME}_ADD_EXPENSIVE_CUDA_TESTS
TEST_0 EXEC MixedCurlLaplacianExample
ARGS --use-tpetra --use-twod --cell="Quad" --x-elements=4 --y-elements=4 --z-elements=4 --basis-order=${ORDER}
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
OUTPUT_FILE MPE-ConvTest-Quad-${ORDER}-04
TEST_1 EXEC MixedCurlLaplacianExample
ARGS --use-tpetra --use-twod --cell="Quad" --x-elements=8 --y-elements=8 --z-elements=4 --basis-order=${ORDER}
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
OUTPUT_FILE MPE-ConvTest-Quad-${ORDER}-08
TEST_2 EXEC MixedCurlLaplacianExample
ARGS --use-tpetra --use-twod --cell="Quad" --x-elements=16 --y-elements=16 --z-elements=4 --basis-order=${ORDER}
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
OUTPUT_FILE MPE-ConvTest-Quad-${ORDER}-16
TEST_3 EXEC MixedCurlLaplacianExample
ARGS --use-tpetra --use-twod --cell="Quad" --x-elements=32 --y-elements=32 --z-elements=4 --basis-order=${ORDER}
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
OUTPUT_FILE MPE-ConvTest-Quad-${ORDER}-32
TEST_4 CMND python
ARGS ${CMAKE_CURRENT_SOURCE_DIR}/convergence_rate.py
${ORDER}
MPE-ConvTest-Quad-${ORDER}-
4
8
16
32
PASS_REGULAR_EXPRESSION "Test Passed"
COMM mpi
)
ENDFOREACH()

FOREACH( ORDER 3 )
TRIBITS_ADD_ADVANCED_TEST(
MixedCurlLaplacianExample-ConvTest-Quad-Order-${ORDER}
EXCLUDE_IF_NOT_TRUE ${PARENT_PACKAGE_NAME}_ADD_EXPENSIVE_CUDA_TESTS
TEST_0 EXEC MixedCurlLaplacianExample
ARGS --use-tpetra --use-twod --cell="Quad" --x-elements=4 --y-elements=4 --z-elements=4 --basis-order=${ORDER}
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
OUTPUT_FILE MPE-ConvTest-Quad-${ORDER}-04
TEST_1 EXEC MixedCurlLaplacianExample
ARGS --use-tpetra --use-twod --cell="Quad" --x-elements=8 --y-elements=8 --z-elements=4 --basis-order=${ORDER}
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
OUTPUT_FILE MPE-ConvTest-Quad-${ORDER}-08
TEST_2 EXEC MixedCurlLaplacianExample
ARGS --use-tpetra --use-twod --cell="Quad" --x-elements=16 --y-elements=16 --z-elements=4 --basis-order=${ORDER}
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
OUTPUT_FILE MPE-ConvTest-Quad-${ORDER}-16
TEST_4 CMND python
ARGS ${CMAKE_CURRENT_SOURCE_DIR}/convergence_rate.py
${ORDER}
MPE-ConvTest-Quad-${ORDER}-
4
8
16
PASS_REGULAR_EXPRESSION "Test Passed"
COMM mpi
)
ENDFOREACH()

FOREACH( ORDER 1 )
TRIBITS_ADD_ADVANCED_TEST(
MixedCurlLaplacianMultiblockExample-ConvTest-Quad-Order-${ORDER}
EXCLUDE_IF_NOT_TRUE ${PARENT_PACKAGE_NAME}_ADD_EXPENSIVE_CUDA_TESTS
TEST_0 EXEC MixedCurlLaplacianExample
ARGS --use-tpetra --use-twod --x-blocks=2 --cell="Quad" --x-elements=8 --y-elements=8 --z-elements=4 --basis-order=${ORDER} --output-filename="multiblock-"
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
OUTPUT_FILE MPE-Multiblock-ConvTest-Quad-${ORDER}-08
TEST_1 EXEC MixedCurlLaplacianExample
ARGS --use-tpetra --use-twod --x-blocks=2 --cell="Quad" --x-elements=16 --y-elements=16 --z-elements=4 --basis-order=${ORDER} --output-filename="multiblock-"
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
OUTPUT_FILE MPE-Multiblock-ConvTest-Quad-${ORDER}-16
TEST_2 EXEC MixedCurlLaplacianExample
ARGS --use-tpetra --use-twod --x-blocks=2 --cell="Quad" --x-elements=32 --y-elements=32 --z-elements=4 --basis-order=${ORDER} --output-filename="multiblock-"
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
OUTPUT_FILE MPE-Multiblock-ConvTest-Quad-${ORDER}-32
TEST_3 CMND python
ARGS ${CMAKE_CURRENT_SOURCE_DIR}/convergence_rate.py
${ORDER}
MPE-Multiblock-ConvTest-Quad-${ORDER}-
8
16
32
PASS_REGULAR_EXPRESSION "Test Passed"
COMM mpi
)
ENDFOREACH()

FOREACH( ORDER 1 )
TRIBITS_ADD_ADVANCED_TEST(
MixedCurlLaplacianExample-ConvTest-Tri-Order-${ORDER}
EXCLUDE_IF_NOT_TRUE ${PARENT_PACKAGE_NAME}_ADD_EXPENSIVE_CUDA_TESTS
TEST_0 EXEC MixedCurlLaplacianExample
ARGS --use-tpetra --use-twod --cell="Tri" --x-elements=8 --y-elements=8 --z-elements=4 --basis-order=${ORDER}
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
OUTPUT_FILE MPE-ConvTest-Tri-${ORDER}-08
TEST_1 EXEC MixedCurlLaplacianExample
ARGS --use-tpetra --use-twod --cell="Tri" --x-elements=16 --y-elements=16 --z-elements=4 --basis-order=${ORDER}
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
OUTPUT_FILE MPE-ConvTest-Tri-${ORDER}-16
TEST_2 EXEC MixedCurlLaplacianExample
ARGS --use-tpetra --use-twod --cell="Tri" --x-elements=32 --y-elements=32 --z-elements=4 --basis-order=${ORDER}
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
OUTPUT_FILE MPE-ConvTest-Tri-${ORDER}-32
TEST_3 EXEC MixedCurlLaplacianExample
ARGS --use-tpetra --use-twod --cell="Tri" --x-elements=64 --y-elements=64 --z-elements=4 --basis-order=${ORDER}
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
OUTPUT_FILE MPE-ConvTest-Tri-${ORDER}-64
TEST_4 CMND python
ARGS ${CMAKE_CURRENT_SOURCE_DIR}/convergence_rate.py
${ORDER}
MPE-ConvTest-Tri-${ORDER}-
8
16
32
64
PASS_REGULAR_EXPRESSION "Test Passed"
COMM mpi
)
ENDFOREACH()

FOREACH( ORDER 2 )
TRIBITS_ADD_ADVANCED_TEST(
MixedCurlLaplacianExample-ConvTest-Tri-Order-${ORDER}
EXCLUDE_IF_NOT_TRUE ${PARENT_PACKAGE_NAME}_ADD_EXPENSIVE_CUDA_TESTS
TEST_0 EXEC MixedCurlLaplacianExample
ARGS --use-tpetra --use-twod --cell="Tri" --x-elements=4 --y-elements=4 --z-elements=4 --basis-order=${ORDER}
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
OUTPUT_FILE MPE-ConvTest-Tri-${ORDER}-04
TEST_1 EXEC MixedCurlLaplacianExample
ARGS --use-tpetra --use-twod --cell="Tri" --x-elements=8 --y-elements=8 --z-elements=4 --basis-order=${ORDER}
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
OUTPUT_FILE MPE-ConvTest-Tri-${ORDER}-08
TEST_2 EXEC MixedCurlLaplacianExample
ARGS --use-tpetra --use-twod --cell="Tri" --x-elements=16 --y-elements=16 --z-elements=4 --basis-order=${ORDER}
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
OUTPUT_FILE MPE-ConvTest-Tri-${ORDER}-16
TEST_3 CMND python
ARGS ${CMAKE_CURRENT_SOURCE_DIR}/convergence_rate.py
${ORDER}
MPE-ConvTest-Tri-${ORDER}-
4
8
16
PASS_REGULAR_EXPRESSION "Test Passed"
COMM mpi
)
ENDFOREACH()

# FOREACH( ORDER 1 2 3 4 )
# TRIBITS_ADD_ADVANCED_TEST(
# CurlLaplacianExample-ConvTest-Hex-Order-${ORDER}
# EXCLUDE_IF_NOT_TRUE ${PARENT_PACKAGE_NAME}_ADD_EXPENSIVE_CUDA_TESTS
# TEST_0 EXEC CurlLaplacianExample
# ARGS --use-epetra --use-threed --x-elements=4 --y-elements=4 --z-elements=4 --basis-order=${ORDER} --
# PASS_REGULAR_EXPRESSION "ALL PASSED: Epetra"
# NUM_MPI_PROCS 4
# OUTPUT_FILE MPE-ConvTest-Hex-${ORDER}-04
# TEST_1 EXEC CurlLaplacianExample
# ARGS --use-epetra --use-threed --x-elements=8 --y-elements=8 --z-elements=4 --basis-order=${ORDER}
# PASS_REGULAR_EXPRESSION "ALL PASSED: Epetra"
# NUM_MPI_PROCS 4
# OUTPUT_FILE MPE-ConvTest-Hex-${ORDER}-08
# TEST_2 EXEC CurlLaplacianExample
# ARGS --use-epetra --use-threed --x-elements=16 --y-elements=16 --z-elements=4 --basis-order=${ORDER}
# PASS_REGULAR_EXPRESSION "ALL PASSED: Epetra"
# NUM_MPI_PROCS 4
# OUTPUT_FILE MPE-ConvTest-Hex-${ORDER}-16
# TEST_3 EXEC CurlLaplacianExample
# ARGS --use-epetra --use-threed --x-elements=32 --y-elements=32 --z-elements=4 --basis-order=${ORDER}
# PASS_REGULAR_EXPRESSION "ALL PASSED: Epetra"
# NUM_MPI_PROCS 4
# OUTPUT_FILE MPE-ConvTest-Hex-${ORDER}-32
# TEST_4 CMND python
# ARGS ${CMAKE_CURRENT_SOURCE_DIR}/convergence_rate.py
# ${ORDER}
# MPE-ConvTest-Hex-${ORDER}-
# 4
# 8
# 16
# 32
# PASS_REGULAR_EXPRESSION "Test Passed"
# COMM mpi
# )
# ENDFOREACH()
Loading

0 comments on commit 4fa2e7e

Please sign in to comment.