CAPD::DynSys Library  6.0.0
capd::pdes::OneDimKSSineVectorField Class Reference

The class implements vector field of the one-dimensional real Kuramoto-Shivashinsky PDE under the following assumptions 1 .The solutions are represented in the Fourier basis. More...

#include <capd/pdes/OneDimKSSineVectorField.h>

Public Types

typedef capd::interval ScalarType
 
typedef capd::pdes::GeometricBound< capd::intervalVectorType
 
typedef capd::IMatrix MatrixType
 
typedef capd::IVector::size_type size_type
 
typedef std::vector< VectorTypeVectorArray
 
typedef std::vector< VectorArrayMatrixArray
 
typedef std::vector< ScalarTypeScalarArray
 
typedef std::pair< VectorArray *, VectorArray * > C1Data
 
typedef MatrixType::RowVectorType FiniteVectorType
 

Public Member Functions

 OneDimKSSineVectorField (ScalarType nu, size_type dim, size_type firstDissipativeVariable)
 constructs vector field of KS-equation. More...
 
VectorType operator() (ScalarType h, const VectorType &v)
 
VectorType operator() (ScalarType h, const VectorType &v, MatrixType &A)
 
MatrixType derivative (ScalarType h, const VectorType &v)
 this method computes finite-dimensional square block of the derivative of the vector field More...
 
void computeODECoefficients (VectorArray &a, size_type order)
 computes Taylor coefficients for C^0 part More...
 
void computeODECoefficients (const VectorArray &a, VectorArray &c, size_type order)
 given coefficients for C^0 part, it computes Taylor coefficient for variational equation (one column) with initial condition 'c' More...
 
void makeSelfConsistentBound (VectorArray &a)
 This function should refine the tail so that the vector field is pointing inwards the tail. More...
 
void makeSelfConsistentBound (VectorArray &a, MatrixArray &J1, MatrixArray &J2, size_type numberOfColumns)
 This function should refine the tail so that the vector field for variational equation is pointing inwards the tail. Here we assume two different initial conditions J1=(Id,0) and J2=(0,something) More...
 
size_type dimension () const
 
size_type firstDissipativeIndex () const
 
void updateTail (VectorType &x, const VectorArray &enc, ScalarType h) const
 Update tail for C^0 part using linear differential inequality. More...
 
void updateTail (VectorArray &DyxId, VectorArray &Dyx, const MatrixArray &Enc, const MatrixArray &DyxEnc, ScalarType h) const
 Update tail for two C^1 blocks using linear differential inequality. More...
 
MatrixType blockNorms (const VectorType &a, size_type m) const
 This function should compute a matrix M such that M_ii is logarithmic norm of the diagonal block M_ij is a norm of ij block The infinite dimensional space is split onto m+1 blocks. More...
 
void setParameter (ScalarType nu)
 
std::tuple< ScalarType, ScalarType, ScalarTypecomputeD1D2DI (const VectorType &a)
 
ScalarType getLambda (size_type k)
 
void computeODECoefficients (VectorArray &a, MatrixArray &J, size_type p, size_type numberOfColumns)
 This function should compute ODE coefficients up to given order at the set a Moreover, block derivative of first group of variables has to be computed. More...
 

Detailed Description

The class implements vector field of the one-dimensional real Kuramoto-Shivashinsky PDE under the following assumptions 1 .The solutions are represented in the Fourier basis.

  1. We impose periodic and odd solutions, thus only sine components are present. The functions are represented as $ u(t,x) = -2 \sum_{k=1}^\infty a_k(t) \sin (ikx) $
  2. Domain is restricted to some subset of analytic functions. We impose geometric-like decay of Fourier coefficients. |a_k| < C/(q^k k^s), for some real constants q>1 and s

The implementation provides

  • evaluation of vector field on a representable set of analytic functions
  • computation of partial derivatives of the vector field with respect to finite number of variables
  • automatic differentiation for d/dt^i, i-natural number
  • automatic differentiation for d/da_k dt^i - -natural number k-bounded

Member Typedef Documentation

◆ C1Data

◆ FiniteVectorType

◆ MatrixArray

◆ MatrixType

◆ ScalarArray

◆ ScalarType

◆ size_type

◆ VectorArray

◆ VectorType

Constructor & Destructor Documentation

◆ OneDimKSSineVectorField()

capd::pdes::OneDimKSSineVectorField::OneDimKSSineVectorField ( ScalarType  nu,
size_type  dim,
size_type  firstDissipativeVariable 
)

constructs vector field of KS-equation.

Parameters
[in]nu- viscosity parameter in the KS-equation

Member Function Documentation

◆ blockNorms()

MatrixType capd::pdes::OneDimKSSineVectorField::blockNorms ( const VectorType a,
size_type  m 
) const
inlinevirtual

This function should compute a matrix M such that M_ii is logarithmic norm of the diagonal block M_ij is a norm of ij block The infinite dimensional space is split onto m+1 blocks.

Implements capd::pdes::DissipativeVectorField< capd::pdes::GeometricBound< capd::interval > >.

◆ computeD1D2DI()

std::tuple<ScalarType,ScalarType,ScalarType> capd::pdes::OneDimKSSineVectorField::computeD1D2DI ( const VectorType a)
inline

◆ computeODECoefficients() [1/3]

void capd::pdes::OneDimKSSineVectorField::computeODECoefficients ( const VectorArray a,
VectorArray c,
size_type  order 
)
virtual

given coefficients for C^0 part, it computes Taylor coefficient for variational equation (one column) with initial condition 'c'

Implements capd::pdes::DissipativeVectorField< capd::pdes::GeometricBound< capd::interval > >.

◆ computeODECoefficients() [2/3]

void capd::pdes::DissipativeVectorField< capd::pdes::GeometricBound< capd::interval > >::computeODECoefficients ( VectorArray a,
MatrixArray J,
size_type  p,
size_type  numberOfColumns 
)
inlineinherited

This function should compute ODE coefficients up to given order at the set a Moreover, block derivative of first group of variables has to be computed.

◆ computeODECoefficients() [3/3]

void capd::pdes::OneDimKSSineVectorField::computeODECoefficients ( VectorArray a,
size_type  order 
)
virtual

computes Taylor coefficients for C^0 part

Implements capd::pdes::DissipativeVectorField< capd::pdes::GeometricBound< capd::interval > >.

◆ derivative()

MatrixType capd::pdes::OneDimKSSineVectorField::derivative ( ScalarType  h,
const VectorType v 
)
inlinevirtual

this method computes finite-dimensional square block of the derivative of the vector field

Implements capd::pdes::DissipativeVectorField< capd::pdes::GeometricBound< capd::interval > >.

◆ dimension()

size_type capd::pdes::OneDimKSSineVectorField::dimension ( ) const
inlinevirtual

◆ firstDissipativeIndex()

size_type capd::pdes::OneDimKSSineVectorField::firstDissipativeIndex ( ) const
inlinevirtual

◆ getLambda()

ScalarType capd::pdes::OneDimKSSineVectorField::getLambda ( size_type  k)
inline

◆ makeSelfConsistentBound() [1/2]

void capd::pdes::OneDimKSSineVectorField::makeSelfConsistentBound ( VectorArray a)
inlinevirtual

This function should refine the tail so that the vector field is pointing inwards the tail.

Implements capd::pdes::DissipativeVectorField< capd::pdes::GeometricBound< capd::interval > >.

◆ makeSelfConsistentBound() [2/2]

void capd::pdes::OneDimKSSineVectorField::makeSelfConsistentBound ( VectorArray a,
MatrixArray J1,
MatrixArray J2,
size_type  numberOfColumns 
)
virtual

This function should refine the tail so that the vector field for variational equation is pointing inwards the tail. Here we assume two different initial conditions J1=(Id,0) and J2=(0,something)

Implements capd::pdes::DissipativeVectorField< capd::pdes::GeometricBound< capd::interval > >.

◆ operator()() [1/2]

VectorType capd::pdes::OneDimKSSineVectorField::operator() ( ScalarType  h,
const VectorType v 
)
inlinevirtual

◆ operator()() [2/2]

VectorType capd::pdes::OneDimKSSineVectorField::operator() ( ScalarType  h,
const VectorType v,
MatrixType A 
)
inlinevirtual

◆ setParameter()

void capd::pdes::OneDimKSSineVectorField::setParameter ( ScalarType  nu)
inline

◆ updateTail() [1/2]

void capd::pdes::OneDimKSSineVectorField::updateTail ( VectorArray DyxId,
VectorArray Dyx,
const MatrixArray Enc,
const MatrixArray DyxEnc,
ScalarType  h 
) const
inlinevirtual

Update tail for two C^1 blocks using linear differential inequality.

Implements capd::pdes::DissipativeVectorField< capd::pdes::GeometricBound< capd::interval > >.

◆ updateTail() [2/2]

void capd::pdes::OneDimKSSineVectorField::updateTail ( VectorType x,
const VectorArray enc,
ScalarType  h 
) const
inlinevirtual

Update tail for C^0 part using linear differential inequality.

Implements capd::pdes::DissipativeVectorField< capd::pdes::GeometricBound< capd::interval > >.


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