Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4654 from nikwit/Add-worldtube-library
- Loading branch information
Showing
5 changed files
with
82 additions
and
0 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
26 changes: 26 additions & 0 deletions
26
src/Evolution/Systems/CurvedScalarWave/Worldtube/CMakeLists.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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
# Distributed under the MIT License. | ||
# See LICENSE.txt for details. | ||
|
||
set(LIBRARY ScalarWaveWorldtube) | ||
|
||
add_spectre_library(${LIBRARY}) | ||
|
||
spectre_target_sources( | ||
${LIBRARY} | ||
PRIVATE | ||
Tags.cpp | ||
) | ||
|
||
spectre_target_headers( | ||
${LIBRARY} | ||
INCLUDE_DIRECTORY ${CMAKE_SOURCE_DIR}/src | ||
HEADERS | ||
Tags.hpp | ||
Worldtube.hpp | ||
) | ||
|
||
target_link_libraries( | ||
${LIBRARY} | ||
PUBLIC | ||
Options | ||
) |
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,5 @@ | ||
// Distributed under the MIT License. | ||
// See LICENSE.txt for details. | ||
|
||
#include "Evolution/Systems/CurvedScalarWave/Worldtube/Tags.hpp" | ||
|
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,20 @@ | ||
// Distributed under the MIT License. | ||
// See LICENSE.txt for details. | ||
|
||
#pragma once | ||
|
||
#include "Options/Options.hpp" | ||
|
||
namespace CurvedScalarWave::Worldtube { | ||
/*! | ||
* \brief Option tags for the worldtube | ||
*/ | ||
namespace OptionTags { | ||
/*! | ||
* \brief Options for the worldtube | ||
*/ | ||
struct Worldtube { | ||
static constexpr Options::String help = {"Options for the Worldtube"}; | ||
}; | ||
} // namespace OptionTags | ||
} // namespace CurvedScalarWave::Worldtube |
30 changes: 30 additions & 0 deletions
30
src/Evolution/Systems/CurvedScalarWave/Worldtube/Worldtube.hpp
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,30 @@ | ||
// Distributed under the MIT License. | ||
// See LICENSE.txt for details. | ||
|
||
#pragma once | ||
|
||
/*! | ||
* \brief The set of utilities for performing CurvedScalarWave evolution with a | ||
* worldtube excision scheme. | ||
* | ||
* \details The worldtube excision scheme is a method that aims to enable NR | ||
* evolutions of intermediate mass ratio binary black hole simulations. In | ||
* standard BBH simulations two excision spheres are cut out from the domain | ||
* within the apparent horizons of the respective black holes. For larger mass | ||
* ratios, this introduces a scale disparity in the evolution system because the | ||
* small grid spacing in the elements near the smaller black hole constrain the | ||
* time step to be orders of magnitude smaller than near the larger black hole | ||
* due to the CFL condition. The worldtube excision scheme avoids this by | ||
* excising a much larger region (the worldtube) around the smaller black hole. | ||
* Since the excision boundary no longer lies within the apparent horizon, | ||
* boundary conditions are required. These are derived by approximating the | ||
* solution inside the worldtube using a perturbative solution - a black hole | ||
* perturbed by another black hole. The solution is calibrated by the evolved | ||
* metric on the worldtube boundary and in turn provides boundary conditions to | ||
* the evolution system. | ||
* | ||
* Here, we test this scheme using a toy problem of a scalar charge in | ||
* circular orbit around a Schwarzschild black hole. | ||
*/ | ||
namespace CurvedScalarWave::Worldtube { | ||
} // namespace CurvedScalarWave::Worldtube |