Discontinuous Galerkin Library
#include "dg/algorithm.h"
dg::aRealRefinementX2d< real_type > Struct Template Referenceabstract

Abstract base class for 2d grid refinement that increases the number of grid cells of a fixed basis grid. More...

Inheritance diagram for dg::aRealRefinementX2d< real_type >:
[legend]

Public Member Functions

void generate (const RealGridX2d< real_type > &g_old, thrust::host_vector< real_type > &weightsX, thrust::host_vector< real_type > &weightsY, thrust::host_vector< real_type > &abscissasX, thrust::host_vector< real_type > &abscissasY) const
 Generate the grid transformation. More...
 
unsigned nx_new (unsigned Nx_old, real_type fx_old) const
 the new number of cells More...
 
unsigned ny_new (unsigned Ny_old, real_type fy_old) const
 
real_type fx_new (unsigned Nx_old, real_type fx_old) const
 
real_type fy_new (unsigned Ny_old, real_type fy_old) const
 
virtual aRealRefinementX2dclone () const =0
 
virtual ~aRealRefinementX2d ()=default
 

Protected Member Functions

 aRealRefinementX2d ()=default
 
 aRealRefinementX2d (const aRealRefinementX2d &src)=default
 
aRealRefinementX2doperator= (const aRealRefinementX2d &src)=default
 

Detailed Description

template<class real_type>
struct dg::aRealRefinementX2d< real_type >

Abstract base class for 2d grid refinement that increases the number of grid cells of a fixed basis grid.

Constructor & Destructor Documentation

◆ ~aRealRefinementX2d()

template<class real_type >
virtual dg::aRealRefinementX2d< real_type >::~aRealRefinementX2d ( )
virtualdefault

◆ aRealRefinementX2d() [1/2]

template<class real_type >
dg::aRealRefinementX2d< real_type >::aRealRefinementX2d ( )
protecteddefault

◆ aRealRefinementX2d() [2/2]

template<class real_type >
dg::aRealRefinementX2d< real_type >::aRealRefinementX2d ( const aRealRefinementX2d< real_type > &  src)
protecteddefault

Member Function Documentation

◆ clone()

◆ fx_new()

template<class real_type >
real_type dg::aRealRefinementX2d< real_type >::fx_new ( unsigned  Nx_old,
real_type  fx_old 
) const
inline

◆ fy_new()

template<class real_type >
real_type dg::aRealRefinementX2d< real_type >::fy_new ( unsigned  Ny_old,
real_type  fy_old 
) const
inline

◆ generate()

template<class real_type >
void dg::aRealRefinementX2d< real_type >::generate ( const RealGridX2d< real_type > &  g_old,
thrust::host_vector< real_type > &  weightsX,
thrust::host_vector< real_type > &  weightsY,
thrust::host_vector< real_type > &  abscissasX,
thrust::host_vector< real_type > &  abscissasY 
) const
inline

Generate the grid transformation.

Parameters
g_oldThe 1d grid to refine
weightsXA 2d vector of size nx_new()*ny_new(). These represent the Jacobian of the transformation

\[\frac{\partial \zeta}{\partial x} \]

. The new metric element has thus to be multiplied by weights^2 and the volume by 1/weights
weightsYA 2d vector of size nx_new()*ny_new(). These represent the Jacobian of the transformation

\[\frac{\partial \eta}{\partial y} \]

. The new metric element has thus to be multiplied by weights^2 and the volume by 1/weights
abscissasXA 2d vector of size nx_new()*ny_new(). These are the new abscissas \( x(\zeta) \) of the grid.
abscissasYA 2d vector of size nx_new()*ny_new(). These are the new abscissas \( y(\eta) \) of the grid.

◆ nx_new()

template<class real_type >
unsigned dg::aRealRefinementX2d< real_type >::nx_new ( unsigned  Nx_old,
real_type  fx_old 
) const
inline

the new number of cells

Parameters
Nx_oldthe old number of cells
fx_oldFactor to partition x-axis

◆ ny_new()

template<class real_type >
unsigned dg::aRealRefinementX2d< real_type >::ny_new ( unsigned  Ny_old,
real_type  fy_old 
) const
inline

◆ operator=()

template<class real_type >
aRealRefinementX2d & dg::aRealRefinementX2d< real_type >::operator= ( const aRealRefinementX2d< real_type > &  src)
protecteddefault

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