|
| | Hector (const CylindricalFunctorsLvl2 &psi, double psi0, double psi1, double X0, double Y0, unsigned n=13, unsigned Nx=2, unsigned Ny=10, double eps_u=1e-10, bool verbose=false) |
| | Construct a conformal grid.
|
| |
| | Hector (const CylindricalFunctorsLvl2 &psi, const CylindricalFunctorsLvl1 &chi, double psi0, double psi1, double X0, double Y0, unsigned n=13, unsigned Nx=2, unsigned Ny=10, double eps_u=1e-10, bool verbose=false) |
| | Construct an orthogonal grid with adaption.
|
| |
| | Hector (const CylindricalFunctorsLvl2 &psi, const CylindricalSymmTensorLvl1 &chi, double psi0, double psi1, double X0, double Y0, unsigned n=13, unsigned Nx=2, unsigned Ny=10, double eps_u=1e-10, bool verbose=false) |
| | Construct a curvilinear grid with monitor metric.
|
| |
| const dg::geo::CurvilinearGrid2d & | internal_grid () const |
| | Return the internally used orthogonal grid.
|
| |
| virtual Hector * | clone () const override final |
| | Abstract clone method that returns a copy on the heap.
|
| |
| bool | isConformal () const |
| |
| real_type | width () const |
| | length in \( \zeta\) of the computational space
|
| |
| real_type | height () const |
| | length in \( \eta\) of the computational space
|
| |
| bool | isOrthogonal () const |
| | sparsity pattern for metric
|
| |
| void | generate (const thrust::host_vector< real_type > &zeta1d, const thrust::host_vector< real_type > &eta1d, thrust::host_vector< real_type > &x, thrust::host_vector< real_type > &y, thrust::host_vector< real_type > &zetaX, thrust::host_vector< real_type > &zetaY, thrust::host_vector< real_type > &etaX, thrust::host_vector< real_type > &etaY) const |
| | Generate grid points and elements of the Jacobian.
|
| |
| virtual | ~aRealGenerator2d () |
| |
template<class IMatrix = dg::IHMatrix, class Matrix = dg::HMatrix, class container = dg::HVec>
struct dg::geo::Hector< IMatrix, Matrix, container >
The High PrEcision Conformal grid generaTOR.
- Note
- implements the algorithm described in M. Wiesenberger, M. Held, L. Einkemmer Streamline integration as a method for two-dimensional elliptic grid generation Journal of Computational Physics 340, 435-450 (2017)
unsigned nGrid = js["grid"]["generator"]["initial"]["n"].asUInt();
unsigned NxGrid = js["grid"]["generator"]["initial"]["Nx"].asUInt();
unsigned NyGrid = js["grid"]["generator"]["initial"]["Ny"].asUInt();
double epsHector = js["grid"]["generator"]["eps"].asDouble();
if( mode == 0)
{
std::cout << " ... of type conformal ...\n";
mag.
R0(), 0., nGrid, NxGrid, NyGrid, epsHector,
true);
}
else if( mode == 1)
{
std::cout << " ... of type adaption ...\n";
psi_1, mag.
R0(), 0., nGrid, NxGrid, NyGrid,
epsHector, true);
}
else
{
std::cout << " ... of type monitor metric ...\n";
psi_1, mag.
R0(), 0., nGrid, NxGrid, NyGrid,
epsHector, true);
}
- Template Parameters
-
| IMatrix | The interpolation matrix type |
- Template Parameters
-
| Matrix | A class for which the blas2 functions are callable in connection with the container class. The Matrix type can be one of:
|
- Template Parameters
-
| container | A data container class for which the blas1 functionality is overloaded. We assume that container is copyable/assignable and has a swap member function. Currently this is one of
|