1 #include <amandus/integrator.h> 2 #include <deal.II/integrators/advection.h> 3 #include <deal.II/integrators/laplace.h> 14 Matrix(
double diffusion,
const Function<dim>& advection);
16 virtual void cell(MeshWorker::DoFInfo<dim>& dinfo, MeshWorker::IntegrationInfo<dim>& info)
const;
25 : diffusion(diffusion)
26 , advection(&advection)
28 this->use_cell =
true;
29 this->use_face =
false;
30 this->use_boundary =
false;
35 Matrix<dim>::cell(MeshWorker::DoFInfo<dim>& dinfo, MeshWorker::IntegrationInfo<dim>& info)
const 37 AssertDimension(dinfo.n_matrices(), 4);
38 Assert(info.values.size() > 0, ExcDimensionMismatch(info.values.size(), 1));
41 const std::vector<double>& point_of_linearization = info.values[0][1];
44 std::vector<double> minus_dd_potential(point_of_linearization.size());
45 for (
unsigned int q = 0; q < minus_dd_potential.size(); ++q)
47 minus_dd_potential[q] =
48 (1.0 - 3.0 * point_of_linearization[q] * point_of_linearization[q]) /
diffusion;
51 const unsigned int n_qpoints = info.fe_values(1).n_quadrature_points;
52 std::vector<std::vector<double>> direction(dim, std::vector<double>(n_qpoints));
53 this->
advection->vector_values(info.fe_values(1).get_quadrature_points(), direction);
55 L2::mass_matrix(dinfo.matrix(0).matrix, info.fe_values(0));
Definition: cahn_hilliard/matrix.h:11
void weighted_mass_matrix(dealii::FullMatrix< double > &M, const dealii::FEValuesBase< dim > &fe, const dealii::TensorFunction< 2, dim > &weight)
Definition: darcy/integrators.h:41
void cell_matrix(dealii::FullMatrix< double > &M, const dealii::FEValuesBase< dim > &fe, const dealii::VectorSlice< const std::vector< std::vector< dealii::Tensor< 1, dim >>>> &input, double lambda=0., double mu=1.)
Definition: matrix_integrators.h:23
virtual void cell(MeshWorker::DoFInfo< dim > &dinfo, MeshWorker::IntegrationInfo< dim > &info) const
Definition: cahn_hilliard/matrix.h:35
const Function< dim > *const advection
Definition: cahn_hilliard/matrix.h:20
Matrix(double diffusion, const Function< dim > &advection)
Definition: cahn_hilliard/matrix.h:24
const double diffusion
Definition: cahn_hilliard/matrix.h:19
Definition: integrator.h:29