From 0620590520cacf46530960a07c790c1502fc6bbc Mon Sep 17 00:00:00 2001 From: Oliver Sander <oliver.sander@tu-dresden.de> Date: Tue, 1 Dec 2020 15:24:44 +0100 Subject: [PATCH] Assemble the mass matrix --- src/relaxed-micromorphic-continuum.cc | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/relaxed-micromorphic-continuum.cc b/src/relaxed-micromorphic-continuum.cc index 3fedf2b..c4d10c6 100644 --- a/src/relaxed-micromorphic-continuum.cc +++ b/src/relaxed-micromorphic-continuum.cc @@ -23,9 +23,8 @@ #include <dune/fufem/dunepython.hh> #include <dune/fufem/assemblers/basisinterpolationmatrixassembler.hh> -#include <dune/fufem/assemblers/boundaryfunctionalassembler.hh> -#include <dune/fufem/assemblers/operatorassembler.hh> -#include <dune/fufem/assemblers/localassemblers/stvenantkirchhoffassembler.hh> +#include <dune/fufem/assemblers/localassemblers/dunefunctionsmassassembler.hh> +#include <dune/fufem/assemblers/dunefunctionsoperatorassembler.hh> #include <dune/fufem/functiontools/boundarydofs.hh> #include <dune/solvers/iterationsteps/blockgssteps.hh> @@ -480,7 +479,7 @@ int main (int argc, char *argv[]) try // parse data file ParameterTree parameterSet; if (argc < 2) - DUNE_THROW(Exception, "Usage: ./rt-dg-linear-elasticity <parameter file>"); + DUNE_THROW(Exception, "Usage: ./relaxed-micromorphic-continuum <parameter file>"); ParameterTreeParser::readINITree(argv[1], parameterSet); @@ -545,7 +544,7 @@ int main (int argc, char *argv[]) try power<dim>( nedelec<1,1>(), // First order, first kind flatInterleaved()) - , flatInterleaved())); + , flatLexicographic())); using namespace Indices; auto displacementBasis = Functions::subspaceBasis(basis, _0); @@ -651,6 +650,16 @@ int main (int argc, char *argv[]) try entry = (i==j) ? 1.0 : 0.0; #endif + ///////////////////////////////// + // Assemble the mass matrix + ///////////////////////////////// + + Fufem::DuneFunctionsLocalMassAssembler localMassAssembler; + auto massAssembler = Fufem::duneFunctionsOperatorAssembler(basis, basis); + + Matrix massMatrix; + massAssembler.assembleBulk(Fufem::istlMatrixBackend(massMatrix), localMassAssembler); + ///////////////////////////// // Create a solver ///////////////////////////// -- GitLab