Skip to content
Snippets Groups Projects
assemblers.hh 1.23 KiB
Newer Older
#ifndef ASSEMBLERS_HH
#define ASSEMBLERS_HH

#include <dune/common/bitsetvector.hh>
#include <dune/common/function.hh>
#include <dune/common/fvector.hh>
#include <dune/common/shared_ptr.hh>
#include <dune/istl/bvector.hh>

#include <dune/fufem/assemblers/assembler.hh>

#include <dune/tectonic/globalnonlinearity.hh>

template <class GridView, class LocalVector, class Assembler>
void assembleNeumann(GridView const &gridView, Assembler const &assembler,
                     Dune::BitSetVector<1> const &neumannNodes,
                     Dune::BlockVector<LocalVector> &f,
                     Dune::VirtualFunction<double, double> const &neumann,
                     double relativeTime);
template <class GridView, class LocalVector, class Assembler>
Dune::shared_ptr<Dune::BlockVector<Dune::FieldVector<double, 1>>>
assembleFrictionWeightsal(GridView const &gridView, Assembler const &assembler,
                          Dune::BitSetVector<1> const &frictionalNodes);
template <class Matrix, class Vector>
Dune::shared_ptr<Dune::GlobalNonlinearity<Matrix, Vector>> assembleNonlinearity(
    Dune::BitSetVector<1> const &frictionalNodes,
    Dune::BlockVector<Dune::FieldVector<double, 1>> const &nodalIntegrals,
Elias Pipping's avatar
Elias Pipping committed
    FrictionData const &fd);