include/meltpooldg/utilities/matrix_free_util.hpp File Reference

Developer Documentation: include/meltpooldg/utilities/matrix_free_util.hpp File Reference
Developer Documentation
matrix_free_util.hpp File Reference
#include <deal.II/base/tensor.h>
#include <deal.II/grid/grid_tools.h>
#include <deal.II/grid/tria.h>
#include <deal.II/matrix_free/fe_evaluation.h>
#include <deal.II/matrix_free/matrix_free.h>
#include <deal.II/matrix_free/tools.h>
#include <meltpooldg/utilities/fe_integrator.hpp>
#include <vector>
Include dependency graph for matrix_free_util.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MeltPoolDG::MatrixFreeContext< dim, Number >
 

Namespaces

namespace  MeltPoolDG
 Interface for a general preconditioner.
 

Concepts

concept  MeltPoolDG::HasJacobianQuadraturePointKernels
 

Enumerations

enum  MeltPoolDG::MatrixRepresentationType { MeltPoolDG::DiagonalMatrix , MeltPoolDG::SystemMatrix }
 

Functions

template<typename FeEval >
dealii::Tensor< 1, FeEval::n_components, dealii::VectorizedArray< typename FeEval::number_type > > MeltPoolDG::fe_evaluation_tensor_value_at_q (const FeEval &fe_eval, const unsigned q_index)
 
template<int dim, typename number >
std::vector< dealii::TriaIterator< dealii::CellAccessor< dim > > > MeltPoolDG::cells_in_cell_batch (const dealii::MatrixFree< dim, number > &mf, const unsigned int cell_batch_id)
 
template<int dim, int n_components, typename number , HasJacobianQuadraturePointKernels< dim, number > OperatorType>
void MeltPoolDG::compute_jacobian_matrix_representation (const OperatorType &implicit_operator, std::variant< dealii::LinearAlgebra::distributed::Vector< number > *, dealii::TrilinosWrappers::SparseMatrix * > dst, const MatrixRepresentationType type, const dealii::LinearAlgebra::distributed::Vector< number > &current_solution, const dealii::MatrixFree< dim, number > &matrix_free, const unsigned int dof_idx, const unsigned int quad_idx)
 
template<int dim, typename number , int n_components>
std::vector< std::pair< dealii::Tensor< 1, n_components, number >, dealii::Tensor< 1, n_components, dealii::Tensor< 1, dim, number > > > > MeltPoolDG::compute_cell_average_quantities (const MatrixFreeContext< dim, number > &mf_context, const dealii::LinearAlgebra::distributed::Vector< number > &solution)