Loading [MathJax]/jax/output/HTML-CSS/config.js
QUGaR 0.0.4
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Concepts
lagrange_tp_utils.hpp
Go to the documentation of this file.
1// --------------------------------------------------------------------------
2//
3// Copyright (C) 2025-present by Pablo Antolin
4//
5// This file is part of the QUGaR library.
6//
7// SPDX-License-Identifier: MIT
8//
9// --------------------------------------------------------------------------
10
11#ifndef QUGAR_IMPL_LAGRANGE_TP_UTILS_HPP
12#define QUGAR_IMPL_LAGRANGE_TP_UTILS_HPP
13
20
21#include <qugar/point.hpp>
23#include <qugar/types.hpp>
24#include <qugar/vector.hpp>
25
26#include <vector>
27
28namespace qugar::impl {
29
41void evaluate_Lagrange_basis_1D(real point, int order, bool chebyshev, std::vector<real> &values);
42
55void evaluate_Lagrange_basis_der_1D(real point, int order, bool chebyshev, std::vector<real> &values);
56
57
66template<int dim>
68 const TensorSizeTP<dim> &order,
69 bool chebyshev,
70 std::vector<real> &basis);
71
80template<int dim>
82 const TensorSizeTP<dim> &order,
83 bool chebyshev,
84 Vector<std::vector<real>, dim> &basis_ders);
85
86
87}// namespace qugar::impl
88
89#endif// QUGAR_IMPL_LAGRANGE_TP_UTIL_HPP
Class representing a dim-dimensional tensor-product sizes container.
Definition tensor_index_tp.hpp:38
Definition affine_transf.hpp:28
void evaluate_Lagrange_derivative(const Point< dim > &point, const TensorSizeTP< dim > &order, bool chebyshev, Vector< std::vector< real >, dim > &basis_ders)
Evaluates the derivative of the Lagrange basis functions at a given point, along all directions.
void evaluate_Lagrange_basis_1D(real point, int order, bool chebyshev, std::vector< real > &values)
Evaluates the Lagrange basis polynomials in 1D at a given point.
void evaluate_Lagrange_basis(const Point< dim > &point, const TensorSizeTP< dim > &order, bool chebyshev, std::vector< real > &basis)
Evaluates the tensor-product Lagrange basis functions at a given point.
void evaluate_Lagrange_basis_der_1D(real point, int order, bool chebyshev, std::vector< real > &values)
Evaluates the first derivative of the Lagrange basis polynomial in 1D.
double real
Definition types.hpp:18
::algoim::uvector< T, dim > Vector
Class representing a vector.
Definition vector.hpp:31
Vector< T, dim > Point
Class representing a dim-dimensional Point.
Definition point.hpp:34
Definition and implementation of Point class.
Declaration of tensor-product index and size related classes.
Declaration of types.