|
| DDR_Spaces (Mesh< dimension > const &mesh, int r, bool use_threads=true, std::array< int, dimension > const *dqr_p=nullptr, std::ostream &output=std::cout) |
|
template<size_t k> |
Eigen::VectorXd | interpolate (FunctionType< k > const &func, std::array< int, dimension > const *dqr_p=nullptr) const |
| Interpolate the given function on the discrete spaces. More...
|
|
const Eigen::MatrixXd & | full_diff (size_t k, size_t d, size_t i_cell) const |
| Compute the full differential operator. More...
|
|
Eigen::MatrixXd | compose_diff (size_t k, size_t d, size_t i_cell) const |
| Compute the projected differential operator. More...
|
|
const Eigen::MatrixXd & | potential (size_t k, size_t d, size_t i_cell) const |
| Compute the potential operator. More...
|
|
DOFSpace< dimension > const & | dofspace (size_t k) const |
| Return DOFSpace associated to k forms. More...
|
|
const Mesh< dimension > * | mesh () const |
| Return the Mesh associated with the class. More...
|
|
int | degree () const |
| Return the polynomial degree associated with the class. More...
|
|
Eigen::MatrixXd | computeL2Product (size_t k, size_t i_cell) const |
| Compute the local \(L^2\) product (including the cell boundary) More...
|
|
double | hmax () const |
| Return the mesh size. More...
|
|
template<size_t dimension>
class Manicore::DDR_Spaces< dimension >
Implement the discrete operators of DDR-PEC.
Interpolator, discrete differential and potential reconstruction.
This class compute store a matrix for each operator on each cell. It also create and store the corresponding PEC object (holding the masses and traces of the cells)
- Template Parameters
-
dimension | Dimension of the manifold |
- Warning
- This does not take ownership of the mesh but keep a pointer of it. Ensure that the mesh survives this class.
template<size_t dimension>
Eigen::MatrixXd DDR_Spaces::computeL2Product |
( |
size_t |
k, |
|
|
size_t |
i_cell |
|
) |
| const |
Compute the local \(L^2\) product (including the cell boundary)
The contribution on the cell is \(\int_f \langle P^k , P^k \rangle \text{vol}_f \). The contribution from a cell \(f' \in \partial f \) of the boundary is \(\int_f \langle \text{tr}_{f'} P^k_f - P^k_{f'} , \text{tr}_{f'} P^k_f - P^k_{f'} \rangle \text{vol}_{f'} \) multiplied by a scaling factor.
- Parameters
-
k | Form degree |
i_cell | Cell index |