SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
ScalarAdvection::Solutions::Kuzmin Class Reference

Initial data for the 2D scalar advection problem adopted from [123] and its analytic solution. More...

#include <Kuzmin.hpp>

Public Types

using options = implementation defined
 

Public Member Functions

 Kuzmin (const Kuzmin &)=default
 
Kuzminoperator= (const Kuzmin &)=default
 
 Kuzmin (Kuzmin &&)=default
 
Kuzminoperator= (Kuzmin &&)=default
 
auto get_clone () const -> std::unique_ptr< evolution::initial_data::InitialData > override
 
template<typename DataType >
tuples::TaggedTuple< ScalarAdvection::Tags::Uvariables (const tnsr::I< DataType, 2 > &x, double t, tmpl::list< ScalarAdvection::Tags::U >) const
 
void pup (PUP::er &p) override
 
virtual auto get_clone () const -> std::unique_ptr< InitialData >=0
 

Static Public Attributes

static constexpr Options::String help
 

Detailed Description

Initial data for the 2D scalar advection problem adopted from [123] and its analytic solution.

Let r(x,y)=(xx0)2+(yy0)2/r0 be the normalized distance from a point (x0,y0) within a circle with the radius r0=0.15. The initial profile consists of three bodies:

  • a slotted cylinder centered at (0.5,0.75)

    u(x,y)={1if |xx0|0.025 or y0.850otherwise},

  • a cone centered at (0.5,0.25)

    u(x,y)=1r(x,y),

  • and a hump centered at (0.25,0.5)

    u(x,y)=1+cos(πr(x,y))4.

The system is evolved over the domain [0,1]×[0,1] with the advection velocity field v(x,y)=(0.5y,0.5+x), which causes a solid rotation about (x,y)=(0.5,0.5) with angular velocity being 1.0. We use the periodic boundary condition for evolving this problem.

Member Function Documentation

◆ get_clone()

auto ScalarAdvection::Solutions::Kuzmin::get_clone ( ) const -> std::unique_ptr< evolution::initial_data::InitialData >
overridevirtual

Member Data Documentation

◆ help

constexpr Options::String ScalarAdvection::Solutions::Kuzmin::help
staticconstexpr
Initial value:
{
"A rotating 2D scalar advecting problem adopted from Kuzmin2014 paper"}

The documentation for this class was generated from the following file: