Forked from
agnumpde / dune-tectonic
891 commits behind the upstream repository.
-
Elias Pipping authoredElias Pipping authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
assemblers_tmpl.cc 2.66 KiB
#include <dune/common/fmatrix.hh>
#include <dune/common/fvector.hh>
#include <dune/grid/yaspgrid.hh>
#include <dune/fufem/functionspacebases/p1nodalbasis.hh>
// {{{ 2D
typedef Dune::FieldVector<double, 2> SmallVector2;
typedef Dune::FieldMatrix<double, 2, 2> SmallMatrix2;
typedef Dune::BCRSMatrix<SmallMatrix2> OperatorType2;
typedef Dune::BlockVector<SmallVector2> VectorType2;
typedef Dune::YaspGrid<2> GridType2;
typedef GridType2::LeafGridView GridView2;
typedef P1NodalBasis<GridView2, double> P1Basis2;
template void assemble_neumann<GridType2, GridView2, SmallVector2, P1Basis2>(
GridView2 const &gridView, P1Basis2 const &feBasis,
Dune::BitSetVector<1> const &neumannNodes,
Dune::BlockVector<SmallVector2> &f,
Dune::VirtualFunction<double, double> const &neumann, double time);
template Dune::shared_ptr<Dune::BlockVector<Dune::FieldVector<double, 1>>>
assemble_frictional<GridType2, GridView2, SmallVector2, P1Basis2>(
GridView2 const &gridView, P1Basis2 const &feBasis,
Dune::BitSetVector<1> const &frictionalNodes);
template Dune::shared_ptr<
Dune::GlobalNonlinearity<VectorType2, OperatorType2> const>
assemble_nonlinearity<VectorType2, OperatorType2>(
int size, Dune::ParameterTree const &parset,
Dune::shared_ptr<Dune::BlockVector<Dune::FieldVector<double, 1>>>
nodalIntegrals,
Dune::shared_ptr<Dune::BlockVector<Dune::FieldVector<double, 1>>> state,
double h);
// }}}
// {{{ 3D
typedef Dune::FieldVector<double, 3> SmallVector3;
typedef Dune::FieldMatrix<double, 3, 3> SmallMatrix3;
typedef Dune::BCRSMatrix<SmallMatrix3> OperatorType3;
typedef Dune::BlockVector<SmallVector3> VectorType3;
typedef Dune::YaspGrid<3> GridType3;
typedef GridType3::LeafGridView GridView3;
typedef P1NodalBasis<GridView3, double> P1Basis3;
template void assemble_neumann<GridType3, GridView3, SmallVector3, P1Basis3>(
GridView3 const &gridView, P1Basis3 const &feBasis,
Dune::BitSetVector<1> const &neumannNodes,
Dune::BlockVector<SmallVector3> &f,
Dune::VirtualFunction<double, double> const &neumann, double time);
template Dune::shared_ptr<Dune::BlockVector<Dune::FieldVector<double, 1>>>
assemble_frictional<GridType3, GridView3, SmallVector3, P1Basis3>(
GridView3 const &gridView, P1Basis3 const &feBasis,
Dune::BitSetVector<1> const &frictionalNodes);
template Dune::shared_ptr<
Dune::GlobalNonlinearity<VectorType3, OperatorType3> const>
assemble_nonlinearity<VectorType3, OperatorType3>(
int size, Dune::ParameterTree const &parset,
Dune::shared_ptr<Dune::BlockVector<Dune::FieldVector<double, 1>>>
nodalIntegrals,
Dune::shared_ptr<Dune::BlockVector<Dune::FieldVector<double, 1>>> state,
double h);
// }}}