Skip to content
Snippets Groups Projects
Forked from agnumpde / dune-tectonic
653 commits behind the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
assemblers_tmpl.cc 1.39 KiB
#ifndef DIM
#error DIM unset
#endif

#include <dune/common/fmatrix.hh>
#include <dune/common/fvector.hh>
#include <dune/grid/alugrid.hh>

#include <dune/fufem/functionspacebases/p1nodalbasis.hh>

typedef Dune::FieldVector<double, DIM> SmallVector;
typedef Dune::FieldMatrix<double, DIM, DIM> SmallMatrix;
typedef Dune::BCRSMatrix<SmallMatrix> MatrixType;
typedef Dune::BlockVector<SmallVector> VectorType;

typedef Dune::ALUGrid<DIM, DIM, Dune::simplex, Dune::nonconforming> GridType;
typedef GridType::LeafGridView GridView;
typedef P1NodalBasis<GridView, double> P1Basis;

template void assemble_neumann<GridType, GridView, SmallVector, P1Basis>(
    GridView const &gridView, P1Basis const &feBasis,
    Dune::BitSetVector<1> const &neumannNodes,
    Dune::BlockVector<SmallVector> &f,
    Dune::VirtualFunction<double, double> const &neumann, double time);
template Dune::shared_ptr<Dune::BlockVector<Dune::FieldVector<double, 1>>>
assemble_frictional<GridType, GridView, SmallVector, P1Basis>(
    GridView const &gridView, P1Basis const &feBasis,
    Dune::BitSetVector<1> const &frictionalNodes);

template Dune::shared_ptr<
    Dune::GlobalNonlinearity<MatrixType, VectorType> const>
assemble_nonlinearity<MatrixType, VectorType>(
    Dune::ParameterTree const &parset,
    Dune::BlockVector<Dune::FieldVector<double, 1>> const &nodalIntegrals,
    Dune::BlockVector<Dune::FieldVector<double, 1>> const &state);