-
Notifications
You must be signed in to change notification settings - Fork 122
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
114 changed files
with
3,634 additions
and
14,336 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,7 +7,6 @@ on: | |
pull_request: | ||
branches: | ||
- master | ||
- devel | ||
types: | ||
- opened | ||
- reopened | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,7 +7,6 @@ on: | |
pull_request: | ||
branches: | ||
- master | ||
- devel | ||
types: | ||
- opened | ||
- reopened | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -59,6 +59,7 @@ main | |
#Output files | ||
applications/*/*.vtk | ||
*.vtu | ||
*.pvtu | ||
*.vts | ||
*.frt | ||
integratedFields.txt | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
## | ||
# CMake script for the PRISMS-PF applications | ||
# Adapted from the ASPECT CMake file | ||
## | ||
|
||
cmake_minimum_required(VERSION 3.3.0) | ||
|
||
include(${CMAKE_SOURCE_DIR}/../../cmake/setup_application.cmake) | ||
|
||
project(myapp) | ||
|
||
# Set location of files | ||
include_directories(${CMAKE_SOURCE_DIR}/../../include) | ||
include_directories(${CMAKE_SOURCE_DIR}/../../src) | ||
include_directories(${CMAKE_SOURCE_DIR}) | ||
|
||
# Set the location of the main.cc file | ||
set(TARGET_SRC "${CMAKE_SOURCE_DIR}/main.cc" "${CMAKE_SOURCE_DIR}/equations.cc") | ||
|
||
# Check if there has been updates to main library | ||
set(dir ${PROJECT_SOURCE_DIR}/../..) | ||
EXECUTE_PROCESS(COMMAND "rm" "CMakeCache.txt" WORKING_DIRECTORY ${dir}) | ||
EXECUTE_PROCESS(COMMAND "cmake" "CMakeLists.txt" WORKING_DIRECTORY ${dir}) | ||
EXECUTE_PROCESS(COMMAND "make" WORKING_DIRECTORY ${dir}) | ||
|
||
# Set targets & link libraries for the build type | ||
if(${PRISMS_PF_BUILD_DEBUG} STREQUAL "ON") | ||
add_executable(main_debug ${TARGET_SRC}) | ||
set_property(TARGET main_debug PROPERTY OUTPUT_NAME main-debug) | ||
deal_ii_setup_target(main_debug DEBUG) | ||
target_link_libraries(main_debug ${CMAKE_SOURCE_DIR}/../../libprisms-pf-debug.a) | ||
endif() | ||
|
||
if(${PRISMS_PF_BUILD_RELEASE} STREQUAL "ON") | ||
add_executable(main_release ${TARGET_SRC}) | ||
set_property(TARGET main_release PROPERTY OUTPUT_NAME main) | ||
deal_ii_setup_target(main_release RELEASE) | ||
target_link_libraries(main_release ${CMAKE_SOURCE_DIR}/../../libprisms-pf-release.a) | ||
endif() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
#ifndef CUSTOM_PDE_H_ | ||
#define CUSTOM_PDE_H_ | ||
|
||
#include <core/matrix_free_operator.h> | ||
#include <core/user_input_parameters.h> | ||
#include <core/variable_attributes.h> | ||
|
||
using namespace dealii; | ||
|
||
/** | ||
* \brief This is a derived class of `matrixFreeOperator` where the user implements their | ||
* PDEs. | ||
* | ||
* \tparam dim The number of dimensions in the problem. | ||
* \tparam degree The polynomial degree of the shape functions. | ||
* \tparam number Datatype to use. Either double or float. | ||
*/ | ||
template <int dim, int degree, typename number> | ||
class customPDE : public matrixFreeOperator<dim, degree, number> | ||
{ | ||
public: | ||
using scalarValue = dealii::VectorizedArray<number>; | ||
using scalarGrad = dealii::Tensor<1, dim, dealii::VectorizedArray<number>>; | ||
using scalarHess = dealii::Tensor<2, dim, dealii::VectorizedArray<number>>; | ||
using vectorValue = typename std::conditional< | ||
dim == 1, | ||
dealii::VectorizedArray<number>, | ||
dealii::Tensor<1, dim, dealii::VectorizedArray<number>>>::type; | ||
using vectorGrad = typename std::conditional< | ||
dim == 1, | ||
dealii::Tensor<1, dim, dealii::VectorizedArray<number>>, | ||
dealii::Tensor<2, dim, dealii::VectorizedArray<number>>>::type; | ||
using vectorHess = typename std::conditional< | ||
dim == 1, | ||
dealii::Tensor<2, dim, dealii::VectorizedArray<number>>, | ||
dealii::Tensor<3, dim, dealii::VectorizedArray<number>>>::type; | ||
|
||
/** | ||
* \brief Constructor. | ||
*/ | ||
customPDE(const userInputParameters<dim> &_user_inputs) | ||
: matrixFreeOperator<dim, degree, number>(_user_inputs.var_attributes) | ||
, user_inputs(_user_inputs) | ||
{} | ||
|
||
private: | ||
/** | ||
* \brief User-implemented class for the RHS of explicit equations. | ||
*/ | ||
void | ||
compute_explicit_RHS(variableContainer<dim, degree, number> &variable_list, | ||
const dealii::Point<dim, dealii::VectorizedArray<number>> | ||
&q_point_loc) const override; | ||
|
||
/** | ||
* \brief User-implemented class for the RHS of nonexplicit equations. | ||
*/ | ||
void | ||
compute_nonexplicit_RHS(variableContainer<dim, degree, number> &variable_list, | ||
const dealii::Point<dim, dealii::VectorizedArray<number>> | ||
&q_point_loc) const override; | ||
|
||
/** | ||
* \brief User-implemented class for the LHS of nonexplicit equations. | ||
*/ | ||
void | ||
compute_nonexplicit_LHS(variableContainer<dim, degree, number> &variable_list, | ||
const dealii::Point<dim, dealii::VectorizedArray<number>> | ||
&q_point_loc) const override; | ||
|
||
/** | ||
* \brief The userinputs. | ||
*/ | ||
const userInputParameters<dim> &user_inputs; | ||
}; | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
#include "custom_pde.h" | ||
|
||
#include <config.h> | ||
#include <core/variable_attribute_loader.h> | ||
|
||
void | ||
customAttributeLoader::loadVariableAttributes() | ||
{ | ||
set_variable_name(0, "phi"); | ||
set_variable_type(0, SCALAR); | ||
set_variable_equation_type(0, TIME_INDEPENDENT); | ||
|
||
set_dependencies_value_term_RHS(0, ""); | ||
set_dependencies_gradient_term_RHS(0, "grad(phi)"); | ||
set_dependencies_value_term_LHS(0, ""); | ||
set_dependencies_gradient_term_LHS(0, "grad(change(phi))"); | ||
} | ||
|
||
void | ||
customAttributeLoader::loadPostProcessorVariableAttributes() | ||
{} | ||
|
||
template <int dim, int degree, typename number> | ||
void | ||
customPDE<dim, degree, number>::compute_explicit_RHS( | ||
[[maybe_unused]] variableContainer<dim, degree, number> &variable_list, | ||
[[maybe_unused]] const Point<dim, VectorizedArray<number>> &q_point_loc) const | ||
{} | ||
|
||
template <int dim, int degree, typename number> | ||
void | ||
customPDE<dim, degree, number>::compute_nonexplicit_RHS( | ||
[[maybe_unused]] variableContainer<dim, degree, number> &variable_list, | ||
[[maybe_unused]] const Point<dim, VectorizedArray<number>> &q_point_loc) const | ||
{ | ||
scalarGrad phix = variable_list.get_scalar_gradient(0); | ||
|
||
scalarValue coefficient = 1.0 / (0.05 + 2.0 * q_point_loc.square()); | ||
|
||
variable_list.set_scalar_gradient_term(0, phix * coefficient); | ||
} | ||
|
||
template <int dim, int degree, typename number> | ||
void | ||
customPDE<dim, degree, number>::compute_nonexplicit_LHS( | ||
[[maybe_unused]] variableContainer<dim, degree, number> &variable_list, | ||
[[maybe_unused]] const Point<dim, VectorizedArray<number>> &q_point_loc) const | ||
{} | ||
|
||
INSTANTIATE_TRI_TEMPLATE(customPDE) |
Oops, something went wrong.