Go to the documentation of this file.
3 #ifndef DUNE_PDELAB_BOILERPLATE_PDELAB_HH
4 #define DUNE_PDELAB_BOILERPLATE_PDELAB_HH
21 #include <dune/common/parallel/mpihelper.hh>
22 #include <dune/common/parametertreeparser.hh>
23 #include <dune/common/classname.hh>
24 #include <dune/common/exceptions.hh>
25 #include <dune/common/filledarray.hh>
26 #include <dune/common/fvector.hh>
28 #include <dune/geometry/type.hh>
29 #include <dune/geometry/quadraturerules.hh>
31 #include <dune/grid/onedgrid.hh>
32 #include <dune/grid/io/file/vtk.hh>
33 #include <dune/grid/yaspgrid.hh>
35 #include <dune/grid/uggrid.hh>
38 #include<dune/grid/albertagrid.hh>
39 #include <dune/grid/albertagrid/dgfparser.hh>
42 #include<dune/grid/uggrid.hh>
45 #include<dune/alugrid/grid.hh>
46 #include <dune/alugrid/dgf.hh>
48 #include <dune/grid/utility/structuredgridfactory.hh>
49 #include <dune/grid/io/file/gmshreader.hh>
51 #include <dune/istl/bvector.hh>
52 #include <dune/istl/operators.hh>
53 #include <dune/istl/solvers.hh>
54 #include <dune/istl/solvercategory.hh>
55 #include <dune/istl/preconditioners.hh>
56 #include <dune/istl/io.hh>
58 #include <dune/istl/paamg/amg.hh>
94 typedef typename T::ctype
ctype;
95 static const int dim = T::dimension;
101 FieldVector<ctype,dimworld> lowerLeft(0.0);
102 FieldVector<ctype,dimworld> upperRight(1.0);
103 std::array<unsigned int,dim> elements; elements.fill(cells);
105 StructuredGridFactory<T> factory;
107 if (meshtype==Dune::GeometryType::cube)
108 gridp = factory.createCubeGrid(lowerLeft,upperRight,elements);
109 else if (meshtype==Dune::GeometryType::simplex)
110 gridp = factory.createSimplexGrid(lowerLeft,upperRight,elements);
113 DUNE_THROW(GridError, className<StructuredGrid>()
114 <<
"::StructuredGrid(): grid type must be simplex or cube ");
120 std::array<double,dimworld> lower_left, std::array<double,dimworld> upper_right,
121 std::array<unsigned int,dim> cells)
123 FieldVector<ctype,dimworld> lowerLeft;
124 FieldVector<ctype,dimworld> upperRight;
125 std::array<unsigned int,dim> elements;
130 lowerLeft[i] = lower_left[i];
131 upperRight[i] = upper_right[i];
133 for (
size_t i=0; i<
dim; i++)
135 elements[i] = cells[i];
138 StructuredGridFactory<T> factory;
140 if (meshtype==Dune::GeometryType::cube)
141 gridp = factory.createCubeGrid(lowerLeft,upperRight,elements);
142 else if (meshtype==Dune::GeometryType::simplex)
143 gridp = factory.createSimplexGrid(lowerLeft,upperRight,elements);
146 DUNE_THROW(GridError, className<StructuredGrid>()
147 <<
"::StructuredGrid(): grid type must be simplex or cube ");
176 return gridp.operator->();
186 return gridp.operator->();
191 std::shared_ptr<T> gridp;
206 StructuredGrid (Dune::GeometryType::BasicType meshtype,
unsigned int cells,
int overlap=1)
209 if (meshtype!=Dune::GeometryType::cube)
210 std::cout <<
"StructuredGrid(): element type " << meshtype <<
" is ignored" << std::endl;
213 Dune::FieldVector<double,dimworld> L(1.0);
214 std::array<int,dimworld> N(Dune::filledArray<dimworld, int>(cells));
215 std::bitset<dimworld> B(
false);
218 gridp = std::shared_ptr<Grid>(
new Grid(L,N,B,overlap,Dune::MPIHelper::getCollectiveCommunication()));
223 std::array<double,dimworld> lower_left, std::array<double,dimworld> upper_right,
224 std::array<unsigned int,dim> cells,
int overlap=1)
228 if(std::abs(lower_left[d]) > std::abs(upper_right[d])*1
e-10)
229 DUNE_THROW(GridError, className<StructuredGrid>()
230 <<
"::createCubeGrid(): The lower coordinates "
231 "must be at the origin for YaspGrid.");
234 if (meshtype!=Dune::GeometryType::cube)
235 std::cout <<
"StructuredGrid(): element type " << meshtype <<
" is ignored" << std::endl;
238 Dune::FieldVector<double,dimworld> L;
239 std::array<int,dimworld> N;
240 std::bitset<dimworld> B(
false);
243 L[i] = upper_right[i];
248 gridp = std::shared_ptr<Grid>(
new Grid(L,N,B,overlap,Dune::MPIHelper::getCollectiveCommunication()));
253 std::array<double,dimworld> lower_left, std::array<double,dimworld> upper_right,
254 std::array<unsigned int,dim> cells, std::array<bool,dim> periodic,
int overlap=1)
258 if(std::abs(lower_left[d]) > std::abs(upper_right[d])*1
e-10)
259 DUNE_THROW(GridError, className<StructuredGrid>()
260 <<
"::createCubeGrid(): The lower coordinates "
261 "must be at the origin for YaspGrid.");
264 if (meshtype!=Dune::GeometryType::cube)
265 std::cout <<
"StructuredGrid(): element type " << meshtype <<
" is ignored" << std::endl;
268 Dune::FieldVector<double,dimworld> L;
269 std::array<int,dimworld> N;
270 std::bitset<dimworld> B(
false);
273 L[i] = upper_right[i];
279 gridp = std::shared_ptr<Grid>(
new Grid(L,N,B,overlap,Dune::MPIHelper::getCollectiveCommunication()));
307 return gridp.operator->();
317 return gridp.operator->();
321 std::shared_ptr<Grid> gridp;
332 static const int dim = T::dimension;
336 UnstructuredGrid (std::string filename,
bool verbose =
true,
bool insert_boundary_segments=
true)
338 Dune::GridFactory<T> factory;
339 Dune::GmshReader<T>::read(factory,filename,verbose,insert_boundary_segments);
340 gridp = std::shared_ptr<T>(factory.createGrid());
368 return gridp.operator->();
378 return gridp.operator->();
382 std::shared_ptr<T> gridp;
391 template<
typename GV,
typename C,
typename R,
unsigned int degree,
unsigned int dim, Dune::GeometryType::BasicType gt>
395 template<
typename GV,
typename C,
typename R,
unsigned int degree,
unsigned int dim>
403 femp = std::shared_ptr<FEM>(
new FEM(gridview));
410 std::shared_ptr<FEM> femp;
413 template<
typename GV,
typename C,
typename R,
unsigned int degree,
unsigned int dim>
421 femp = std::shared_ptr<FEM>(
new FEM(gridview));
428 std::shared_ptr<FEM> femp;
440 template<
typename Gr
id,
unsigned int degree, Dune::GeometryType::BasicType gt, MeshType mt, SolverCategory::Category st,
typename BCType,
typename GV =
typename Gr
id::LeafGr
idView>
444 template<
typename Gr
id,
typename BCType,
typename GV>
450 CGCONBase (Grid& grid,
const BCType& bctype,
const GV& gv)
452 conp = std::shared_ptr<CON>(
new CON(grid,
true,bctype));
457 conp = std::shared_ptr<CON>(
new CON(grid,
true,bctype));
460 template<
typename GFS>
464 template<
typename GFS,
typename DOF>
467 std::shared_ptr<CON> conp;
470 template<
typename Gr
id,
typename BCType,
typename GV>
476 CGCONBase (Grid& grid,
const BCType& bctype,
const GV& gv)
478 conp = std::shared_ptr<CON>(
new CON(grid,
true,bctype));
483 conp = std::shared_ptr<CON>(
new CON(grid,
true,bctype));
486 template<
typename GFS>
490 template<
typename GFS,
typename DOF>
493 std::shared_ptr<CON> conp;
496 template<
typename Gr
id,
unsigned int degree, Dune::GeometryType::BasicType gt,
typename BCType,
typename GV>
502 CGCONBase (Grid& grid,
const BCType& bctype,
const GV& gv)
504 conp = std::shared_ptr<CON>(
new CON());
509 conp = std::shared_ptr<CON>(
new CON());
512 template<
typename GFS>
516 template<
typename GFS,
typename DOF>
519 std::shared_ptr<CON> conp;
522 template<
typename Gr
id,
unsigned int degree, Dune::GeometryType::BasicType gt,
typename BCType,
typename GV>
528 CGCONBase (Grid& grid,
const BCType& bctype,
const GV& gv)
530 conp = std::shared_ptr<CON>(
new CON());
535 conp = std::shared_ptr<CON>(
new CON());
538 template<
typename GFS>
542 template<
typename GFS,
typename DOF>
549 if (gfs.gridView().comm().size()>1)
550 gfs.gridView().communicate(adddh,Dune::InteriorBorder_All_Interface,Dune::ForwardCommunication);
553 std::shared_ptr<CON> conp;
556 template<
typename Gr
id,
unsigned int degree, Dune::GeometryType::BasicType gt,
typename BCType,
typename GV>
563 conp = std::shared_ptr<CON>(
new CON);
566 template<
typename GFS>
569 template<
typename GFS,
typename DOF>
572 std::shared_ptr<CON> conp;
577 template<
typename T,
typename N,
unsigned int degree,
typename BCType,
578 Dune::GeometryType::BasicType gt,
MeshType mt, SolverCategory::Category st = SolverCategory::sequential,
579 typename VBET=ISTL::VectorBackend<> >
585 typedef typename T::LeafGridView
GV;
587 static const int dim = T::dimension;
593 typedef typename FEMB::FEM
FEM;
594 typedef typename CONB::CON
CON;
602 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
607 : gv(grid.leafGridView()), femb(gv), conb(grid,bctype)
609 gfsp = std::shared_ptr<GFS>(
new GFS(gv,femb.getFEM(),conb.getCON()));
610 gfsp->name(
"cgspace");
613 conb.postGFSHook(*gfsp);
614 ccp = std::shared_ptr<CC>(
new CC());
619 return femb.getFEM();
624 return femb.getFEM();
665 conb.make_consistent(*gfsp,x);
671 conb.make_consistent(*gfsp,x);
677 conb.make_consistent(*gfsp,xout);
683 conb.make_consistent(*gfsp,xout);
690 std::shared_ptr<GFS> gfsp;
691 std::shared_ptr<CC> ccp;
695 template<
typename T,
typename N,
unsigned int degree,
typename BCType,
696 Dune::GeometryType::BasicType gt,
MeshType mt,
698 class CGSpace<T, N, degree, BCType, gt, mt, SolverCategory::nonoverlapping, VBET> {
703 typedef typename T::LeafGridView
GV;
706 static const int dim = T::dimension;
712 typedef typename FEMB::FEM
FEM;
713 typedef typename CONB::CON
CON;
721 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
726 : gv(grid.leafGridView()), es(gv), femb(es), conb(grid,bctype)
728 gfsp = std::shared_ptr<GFS>(
new GFS(es,femb.getFEM(),conb.getCON()));
729 gfsp->name(
"cgspace");
733 ccp = std::shared_ptr<CC>(
new CC());
738 return femb.getFEM();
743 return femb.getFEM();
784 conb.make_consistent(*gfsp,x);
790 conb.make_consistent(*gfsp,x);
796 conb.make_consistent(*gfsp,xout);
802 conb.make_consistent(*gfsp,xout);
810 std::shared_ptr<GFS> gfsp;
811 std::shared_ptr<CC> ccp;
821 template<SolverCategory::Category st>
832 conp = std::shared_ptr<CON>(
new CON());
836 template<
typename GFS,
typename DOF>
839 std::shared_ptr<CON> conp;
849 conp = std::shared_ptr<CON>(
new CON());
853 template<
typename GFS,
typename DOF>
856 std::shared_ptr<CON> conp;
866 conp = std::shared_ptr<CON>(
new CON());
870 template<
typename GFS,
typename DOF>
877 if (gfs.gridView().comm().size()>1)
878 gfs.gridView().communicate(adddh,Dune::InteriorBorder_All_Interface,Dune::ForwardCommunication);
881 std::shared_ptr<CON> conp;
886 template<
typename T,
typename N,
unsigned int degree,
887 Dune::GeometryType::BasicType gt, SolverCategory::Category st = SolverCategory::sequential,
895 typedef typename T::LeafGridView
GV;
897 static const int dim = T::dimension;
906 typedef typename CONB::CON
CON;
911 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
917 femp = std::shared_ptr<FEM>(
new FEM());
918 gfsp = std::shared_ptr<GFS>(
new GFS(gv,*femp));
921 ccp = std::shared_ptr<CC>(
new CC());
939 template<
class BCTYPE>
954 conb.make_consistent(*gfsp,x);
960 conb.make_consistent(*gfsp,x);
966 conb.make_consistent(*gfsp,xout);
972 conb.make_consistent(*gfsp,xout);
978 std::shared_ptr<FEM> femp;
979 std::shared_ptr<GFS> gfsp;
980 std::shared_ptr<CC> ccp;
985 template<
typename T,
typename N,
unsigned int degree,
986 Dune::GeometryType::BasicType gt, SolverCategory::Category st = SolverCategory::sequential,
988 typename VBET=ISTL::VectorBackend<> >
995 typedef typename T::LeafGridView
GV;
997 static const int dim = T::dimension;
1006 typedef typename CONB::CON
CON;
1011 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
1017 femp = std::shared_ptr<FEM>(
new FEM());
1018 gfsp = std::shared_ptr<GFS>(
new GFS(gv,*femp));
1021 ccp = std::shared_ptr<CC>(
new CC());
1039 template<
class BCTYPE>
1054 conb.make_consistent(*gfsp,x);
1060 conb.make_consistent(*gfsp,x);
1066 conb.make_consistent(*gfsp,xout);
1072 conb.make_consistent(*gfsp,xout);
1078 std::shared_ptr<FEM> femp;
1079 std::shared_ptr<GFS> gfsp;
1080 std::shared_ptr<CC> ccp;
1085 template<
typename T,
typename N,
unsigned int degree,
1086 Dune::GeometryType::BasicType gt, SolverCategory::Category st = SolverCategory::sequential,
1094 typedef typename T::LeafGridView
GV;
1096 static const int dim = T::dimension;
1099 typedef QkDGLocalFiniteElementMap<ctype,NT,degree,dim>
FEM;
1101 typedef typename CONB::CON
CON;
1106 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
1112 femp = std::shared_ptr<FEM>(
new FEM());
1113 gfsp = std::shared_ptr<GFS>(
new GFS(gv,*femp));
1116 ccp = std::shared_ptr<CC>(
new CC());
1134 template<
class BCTYPE>
1149 conb.make_consistent(*gfsp,x);
1155 conb.make_consistent(*gfsp,x);
1161 conb.make_consistent(*gfsp,xout);
1167 conb.make_consistent(*gfsp,xout);
1173 std::shared_ptr<FEM> femp;
1174 std::shared_ptr<GFS> gfsp;
1175 std::shared_ptr<CC> ccp;
1180 template<
typename T,
typename N,
unsigned int degree,
1181 Dune::GeometryType::BasicType gt, SolverCategory::Category st = SolverCategory::sequential,
1183 typename VBET=ISTL::VectorBackend<> >
1190 typedef typename T::LeafGridView
GV;
1192 static const int dim = T::dimension;
1195 typedef QkDGLocalFiniteElementMap<ctype,NT,degree,dim,QkDGBasisPolynomial::lobatto>
FEM;
1197 typedef typename CONB::CON
CON;
1202 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
1208 femp = std::shared_ptr<FEM>(
new FEM());
1209 gfsp = std::shared_ptr<GFS>(
new GFS(gv,*femp));
1212 ccp = std::shared_ptr<CC>(
new CC());
1230 template<
class BCTYPE>
1245 conb.make_consistent(*gfsp,x);
1251 conb.make_consistent(*gfsp,x);
1257 conb.make_consistent(*gfsp,xout);
1263 conb.make_consistent(*gfsp,xout);
1269 std::shared_ptr<FEM> femp;
1270 std::shared_ptr<GFS> gfsp;
1271 std::shared_ptr<CC> ccp;
1276 template<
typename T,
typename N,
unsigned int degree,
1277 Dune::GeometryType::BasicType gt, SolverCategory::Category st = SolverCategory::sequential,
1279 typename VBET=ISTL::VectorBackend<> >
1286 typedef typename T::LeafGridView
GV;
1288 static const int dim = T::dimension;
1291 typedef QkDGLocalFiniteElementMap<ctype,NT,degree,dim,QkDGBasisPolynomial::legendre>
FEM;
1293 typedef typename CONB::CON
CON;
1298 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
1304 femp = std::shared_ptr<FEM>(
new FEM());
1305 gfsp = std::shared_ptr<GFS>(
new GFS(gv,*femp));
1308 ccp = std::shared_ptr<CC>(
new CC());
1326 template<
class BCTYPE>
1341 conb.make_consistent(*gfsp,x);
1347 conb.make_consistent(*gfsp,x);
1353 conb.make_consistent(*gfsp,xout);
1359 conb.make_consistent(*gfsp,xout);
1365 std::shared_ptr<FEM> femp;
1366 std::shared_ptr<GFS> gfsp;
1367 std::shared_ptr<CC> ccp;
1372 template<
typename T,
typename N,
1373 Dune::GeometryType::BasicType gt, SolverCategory::Category st = SolverCategory::sequential,
1374 typename VBET=ISTL::VectorBackend<> >
1381 typedef typename T::LeafGridView
GV;
1383 static const int dim = T::dimension;
1388 typedef typename CONB::CON
CON;
1393 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
1399 femp = std::shared_ptr<FEM>(
new FEM(Dune::GeometryType(gt,
dim)));
1400 gfsp = std::shared_ptr<GFS>(
new GFS(gv,*femp));
1403 ccp = std::shared_ptr<CC>(
new CC());
1421 template<
class BCTYPE>
1436 conb.make_consistent(*gfsp,x);
1442 conb.make_consistent(*gfsp,x);
1448 conb.make_consistent(*gfsp,xout);
1454 conb.make_consistent(*gfsp,xout);
1460 std::shared_ptr<FEM> femp;
1461 std::shared_ptr<GFS> gfsp;
1462 std::shared_ptr<CC> ccp;
1468 template<
typename FS,
typename Functor>
1470 :
public GridFunctionBase<GridFunctionTraits<typename FS::GV, typename FS::NT,
1471 1,FieldVector<typename FS::NT,1> >
1472 ,UserFunction<FS,Functor> >
1489 std::vector<double> x__(x.size());
1490 for (
size_t i=0; i<x.size(); ++i) x__[i]=x_[i];
1496 return fs.getGFS().gridView();
1505 template<
typename FS,
typename LOP, SolverCategory::Category st = SolverCategory::sequential>
1512 typename FS::NT,
typename FS::NT,
typename FS::NT,
1513 typename FS::CC,
typename FS::CC>
GO;
1518 gop = std::shared_ptr<GO>(
new GO(fs.getGFS(),fs.getCC(),fs.getGFS(),fs.getCC(),lop,
MBE(nonzeros)));
1540 return gop.operator->();
1550 return gop.operator->();
1554 std::shared_ptr<GO> gop;
1558 template<
typename FS,
typename LOP, SolverCategory::Category st = SolverCategory::sequential>
1565 typename FS::NT,
typename FS::NT,
typename FS::NT,
1566 typename FS::CC,
typename FS::CC>
GO;
1571 gop = std::shared_ptr<GO>(
new GO(fs.getGFS(),fs.getCC(),fs.getGFS(),fs.getCC(),lop,mbe));
1593 return gop.operator->();
1603 return gop.operator->();
1607 std::shared_ptr<GO> gop;
1612 template<
typename FSU,
typename FSV,
typename LOP, SolverCategory::Category st>
1619 typename FSU::NT,
typename FSU::NT,
typename FSU::NT,
1620 typename FSU::CC,
typename FSV::CC>
GO;
1625 gop = std::shared_ptr<GO>(
new GO(fsu.getGFS(),fsu.getCC(),fsv.getGFS(),fsv.getCC(),lop,
MBE(nonzeros)));
1647 return gop.operator->();
1657 return gop.operator->();
1661 std::shared_ptr<GO> gop;
1665 template<
typename GO1,
typename GO2,
bool implicit = true>
1676 gop = std::shared_ptr<GO>(
new GO(*go1,*go2));
1698 return gop.operator->();
1708 return gop.operator->();
1712 std::shared_ptr<GO> gop;
1717 template<
typename FS,
typename ASS, SolverCategory::Category st = SolverCategory::sequential>
1725 int verbose_=1,
bool reuse_=
false,
bool usesuperlu_=
true)
1727 lsp = std::shared_ptr<LS>(
new LS(maxiter_,verbose_,reuse_,usesuperlu_));
1738 std::shared_ptr<LS> lsp;
1742 template<
typename FS,
typename ASS>
1750 int verbose_=1,
bool reuse_=
false,
bool usesuperlu_=
true)
1752 lsp = std::shared_ptr<LS>(
new LS(fs.getGFS(),maxiter_,verbose_,reuse_,usesuperlu_));
1763 std::shared_ptr<LS> lsp;
1767 template<
typename FS,
typename ASS>
1775 int verbose_=1,
bool reuse_=
false,
bool usesuperlu_=
true)
1777 lsp = std::shared_ptr<LS>(
new LS(fs.getGFS(),maxiter_,verbose_,reuse_,usesuperlu_));
1788 std::shared_ptr<LS> lsp;
1792 template<
typename FS,
typename ASS, SolverCategory::Category st = SolverCategory::sequential>
1800 int steps_=5,
int verbose_=1)
1802 lsp = std::shared_ptr<LS>(
new LS(maxiter_,verbose_));
1813 std::shared_ptr<LS> lsp;
1817 template<
typename FS,
typename ASS>
1825 int steps_=5,
int verbose_=1)
1827 lsp = std::shared_ptr<LS>(
new LS(fs.getGFS(),maxiter_,steps_,verbose_));
1838 std::shared_ptr<LS> lsp;
1842 template<
typename FS,
typename ASS>
1850 int steps_=5,
int verbose_=1)
1852 lsp = std::shared_ptr<LS>(
new LS(fs.getGFS(),fs.getCC(),maxiter_,steps_,verbose_));
1863 std::shared_ptr<LS> lsp;
1869 template<
typename FS,
typename ASS, SolverCategory::Category st = SolverCategory::sequential>
1878 lsp = std::shared_ptr<LS>(
new LS(maxiter_,verbose_));
1889 std::shared_ptr<LS> lsp;
1893 template<
typename FS,
typename ASS>
1902 lsp = std::shared_ptr<LS>(
new LS(ass.getGO(),maxiter_,3,verbose_));
1913 std::shared_ptr<LS> lsp;
1917 template<
typename FS,
typename ASS>
1926 lsp = std::shared_ptr<LS>(
new LS(fs.getGFS(),fs.getCC(),maxiter_,3,verbose_));
1937 std::shared_ptr<LS> lsp;
1942 template<
typename FS,
typename ASS, SolverCategory::Category st = SolverCategory::sequential>
1951 lsp = std::shared_ptr<LS>(
new LS());
1962 std::shared_ptr<LS> lsp;
1967 template<
typename FS,
typename ASS>
1976 lsp = std::shared_ptr<LS>(
new LS(fs.getGFS()));
1987 std::shared_ptr<LS> lsp;
1992 template<
typename FS,
typename ASS>
2001 lsp = std::shared_ptr<LS>(
new LS(fs.getGFS()));
2012 std::shared_ptr<LS> lsp;
2019 #endif // DUNE_PDELAB_BOILERPLATE_PDELAB_HH
const T & operator*() const
Definition: pdelab.hh:371
ISTL::BCRSMatrixBackend MBE
Definition: pdelab.hh:1670
GO::Jacobian MAT
Definition: pdelab.hh:1672
static const int dimworld
Definition: pdelab.hh:1097
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:597
QkDGLocalFiniteElementMap< ctype, NT, degree, dim, QkDGBasisPolynomial::lobatto > FEM
Definition: pdelab.hh:1195
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1069
const CC & getCC() const
Definition: pdelab.hh:1132
LS & getLS()
Definition: pdelab.hh:2004
ISTLSolverBackend_ExplicitDiagonal(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1)
Definition: pdelab.hh:1949
void assembleConstraints(const BCType &bctype)
Definition: pdelab.hh:651
ISTLSolverBackend_CG_SSOR(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int steps_=5, int verbose_=1)
Definition: pdelab.hh:1799
Backend::Vector< GFS, N > DOF
Definition: pdelab.hh:719
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1356
const T * operator->() const
Definition: pdelab.hh:376
CGCONBase(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:561
GFS & getGFS()
Definition: pdelab.hh:628
static const int dim
Definition: pdelab.hh:332
std::shared_ptr< Grid > getSharedPtr()
Definition: pdelab.hh:283
QkLocalFiniteElementMap< GV, C, R, degree > FEM
Definition: pdelab.hh:417
Sequential conjugate gradient solver preconditioned with AMG smoothed by SSOR.
Definition: seqistlsolverbackend.hh:698
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:837
CON & getCON()
Definition: pdelab.hh:540
void copy_nonconstrained_dofs(const CG &cg, const XG &xgin, XG &xgout)
Definition: constraints.hh:989
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:1010
Definition: pdelab.hh:1184
GO::Jacobian MAT
Definition: pdelab.hh:1621
VBET VBE
Definition: pdelab.hh:1294
ISTLSolverBackend_CG_AMG_SSOR(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
Definition: pdelab.hh:1749
void clearConstraints()
Definition: pdelab.hh:946
StructuredGrid(Dune::GeometryType::BasicType meshtype, std::array< double, dimworld > lower_left, std::array< double, dimworld > upper_right, std::array< unsigned int, dim > cells, int overlap=1)
Definition: pdelab.hh:222
void set_nonconstrained_dofs(const CG &cg, typename XG::ElementType x, XG &xg)
Definition: constraints.hh:962
Solver to be used for explicit time-steppers with (block-)diagonal mass matrix.
Definition: seqistlsolverbackend.hh:503
P0ParallelConstraints CON
Definition: pdelab.hh:863
const LS * operator->() const
Definition: pdelab.hh:1835
GV::Traits::template Codim< 0 >::Entity ElementType
codim 0 entity
Definition: function.hh:118
const LS & getLS() const
Definition: pdelab.hh:1906
GalerkinGlobalAssembler(const FS &fs, LOP &lop, const std::size_t nonzeros)
Definition: pdelab.hh:1516
Parallel P0 constraints for overlapping grids.
Definition: p0.hh:15
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1248
static const int dim
Definition: pdelab.hh:95
Definition: pdelab.hh:889
const Grid * operator->() const
Definition: pdelab.hh:315
T Grid
Definition: pdelab.hh:93
ISTLSolverBackend_ExplicitDiagonal(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1)
Definition: pdelab.hh:1999
T & operator*()
Definition: pdelab.hh:169
const LS * operator->() const
Definition: pdelab.hh:1785
DGCONBase()
Definition: pdelab.hh:830
LS & getLS()
Definition: pdelab.hh:1954
static const int dimworld
Definition: pdelab.hh:588
ISTLSolverBackend_CG_SSOR(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int steps_=5, int verbose_=1)
Definition: pdelab.hh:1849
N NT
Definition: pdelab.hh:999
GFS & getGFS()
Definition: pdelab.hh:1219
T Grid
Definition: pdelab.hh:702
Backend::Vector< GFS, N > DOF
Definition: pdelab.hh:600
ISTL::BCRSMatrixBackend MBE
Definition: pdelab.hh:1510
void assembleConstraints(const BCTYPE &bctype)
Definition: pdelab.hh:1040
ConformingDirichletConstraints CON
Definition: pdelab.hh:500
PkLocalFiniteElementMap< GV, C, R, degree > FEM
Definition: pdelab.hh:399
ISTLSolverBackend_CG_AMG_SSOR(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
Definition: pdelab.hh:1774
@ Pk
Definition: l2orthonormal.hh:154
CGCONBase(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:533
const GO * operator->() const
Definition: pdelab.hh:1655
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:570
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:465
CGFEMBase(const GV &gridview)
Definition: pdelab.hh:419
void postGFSHook(const GFS &gfs)
Definition: pdelab.hh:487
const FEM & getFEM() const
Definition: pdelab.hh:425
LS & getLS()
Definition: pdelab.hh:1805
const GO & getGO() const
Definition: pdelab.hh:1581
Overlapping parallel BiCGStab solver with SSOR preconditioner.
Definition: ovlpistlsolverbackend.hh:659
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:908
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:1394
@ conforming
Definition: pdelab.hh:435
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1057
Standard grid operator implementation.
Definition: gridoperator.hh:35
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:1008
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:1103
Definition: pdelab.hh:1793
ISTLSolverBackend_ExplicitDiagonal(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1)
Definition: pdelab.hh:1974
CGSpace(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:606
T Grid
Definition: pdelab.hh:330
Nonoverlapping parallel CG solver preconditioned by block SSOR.
Definition: novlpistlsolverbackend.hh:860
const CON & getCON() const
Definition: pdelab.hh:541
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:1201
void clearConstraints()
Definition: pdelab.hh:657
static const int dim
Definition: adaptivity.hh:84
YaspGrid< dim > Grid
Definition: pdelab.hh:201
T Grid
Definition: pdelab.hh:994
CONB::CON CON
Definition: pdelab.hh:1388
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:662
CONB::CON CON
Definition: pdelab.hh:713
Backend for sequential conjugate gradient solver with SSOR preconditioner.
Definition: seqistlsolverbackend.hh:348
QkDGLocalFiniteElementMap< ctype, NT, degree, dim, QkDGBasisPolynomial::legendre > FEM
Definition: pdelab.hh:1291
const FEM & getFEM() const
Definition: pdelab.hh:1216
void postGFSHook(const GFS &gfs)
Definition: pdelab.hh:539
GO * operator->()
Definition: pdelab.hh:1591
Definition: pdelab.hh:1943
CGCONBase(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:455
void postGFSHook(const GFS &gfs)
Definition: pdelab.hh:513
convert a grid function space and a coefficient vector into a grid function
Definition: gridfunctionspaceutilities.hh:53
UserFunction(const FS &fs_, const Functor &f_)
constructor
Definition: pdelab.hh:1479
LS * operator->()
Definition: pdelab.hh:1833
const FEM & getFEM() const
Definition: pdelab.hh:925
Backend::Vector< GFS, N > DOF
Definition: pdelab.hh:1391
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:799
UnstructuredGrid(std::string filename, bool verbose=true, bool insert_boundary_segments=true)
Definition: pdelab.hh:336
const LS * operator->() const
Definition: pdelab.hh:2009
void assembleConstraints(const BCTYPE &bctype)
Definition: pdelab.hh:1135
Backend::Vector< GFS, N > DOF
Definition: pdelab.hh:909
CC & getCC()
Definition: pdelab.hh:1416
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1433
Definition: pdelab.hh:1088
LS & getLS()
Definition: pdelab.hh:1830
GO * operator->()
Definition: pdelab.hh:1538
DGCONBase< st > CONB
Definition: pdelab.hh:1292
const LS & getLS() const
Definition: pdelab.hh:2005
std::enable_if< std::is_base_of< impl::WrapperBase, T >::value, Native< T > & >::type native(T &t)
Definition: backend/interface.hh:192
Definition: noconstraints.hh:16
CON & getCON()
Definition: pdelab.hh:462
void clearConstraints()
Definition: pdelab.hh:1333
static const int dim
Definition: pdelab.hh:1096
GO & getGO()
Definition: pdelab.hh:1522
LS & getLS()
Definition: pdelab.hh:1855
const CON & getCON() const
Definition: pdelab.hh:463
LS & getLS()
Definition: pdelab.hh:1881
R RangeType
range type
Definition: function.hh:61
N NT
Definition: pdelab.hh:599
Dune::PDELab::Backend::Matrix< MB, Domain, Range, JF > Jacobian
The type of the jacobian.
Definition: gridoperator.hh:47
static const int dimworld
Definition: pdelab.hh:1384
For backward compatibility – Do not use this!
Definition: adaptivity.hh:28
GFS & getGFS()
Definition: pdelab.hh:1123
const LS & operator*() const
Definition: pdelab.hh:1784
CON & getCON()
Definition: pdelab.hh:567
Dune::PDELab::P0LocalFiniteElementMap< ctype, NT, dim > FEM
Definition: pdelab.hh:1386
StructuredGrid(Dune::GeometryType::BasicType meshtype, unsigned int cells)
Definition: pdelab.hh:99
LS & operator*()
Definition: pdelab.hh:1807
const FEM & getFEM() const
Definition: pdelab.hh:1407
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:543
Dune::PDELab::ISTLBackend_SEQ_CG_AMG_SSOR< typename ASS::GO > LS
Definition: pdelab.hh:1722
const LS * operator->() const
Definition: pdelab.hh:1886
LS & operator*()
Definition: pdelab.hh:1956
FEMB::FEM FEM
Definition: pdelab.hh:712
Definition: pdelab.hh:1613
Definition: pdelab.hh:326
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:722
const LS & getLS() const
Definition: pdelab.hh:1756
LS & operator*()
Definition: pdelab.hh:1782
LS & getLS()
Definition: pdelab.hh:1905
T Grid
Definition: pdelab.hh:1380
Nonoverlapping parallel CG solver preconditioned with AMG smoothed by SSOR.
Definition: novlpistlsolverbackend.hh:1073
CGCONBase(Grid &grid, const BCType &bctype, const GV &gv)
Definition: pdelab.hh:450
LS & operator*()
Definition: pdelab.hh:1907
Backend::Vector< GFS, N > DOF
Definition: pdelab.hh:1200
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:1012
Dune::PDELab::GridOperator< typename FS::GFS, typename FS::GFS, LOP, MBE, typename FS::NT, typename FS::NT, typename FS::NT, typename FS::CC, typename FS::CC > GO
Definition: pdelab.hh:1513
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1260
const GO & operator*() const
Definition: pdelab.hh:1650
const LS * operator->() const
Definition: pdelab.hh:1760
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:781
const GO & operator*() const
Definition: pdelab.hh:1596
Backend::Vector< GFS, N > DOF
Definition: pdelab.hh:1296
const GO & operator*() const
Definition: pdelab.hh:1701
LS * operator->()
Definition: pdelab.hh:1957
OverlappingConformingDirichletConstraints CON
Definition: pdelab.hh:526
ISTLBackend_OVLP_BCGS_SSORk< typename FS::GFS, typename FS::CC > LS
Definition: pdelab.hh:1922
Dune::PDELab::ISTLBackend_NOVLP_BCGS_SSORk< typename ASS::GO > LS
Definition: pdelab.hh:1898
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1350
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:603
Hanging Node constraints construction.
Definition: hangingnode.hh:312
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:1107
ISTLBackend_SEQ_BCGS_SSOR LS
Definition: pdelab.hh:1874
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:1298
CON & getCON()
Definition: pdelab.hh:514
static const int dimworld
Definition: pdelab.hh:1193
Traits::Jacobian Jacobian
Definition: gridoperator/onestep.hh:56
Definition: parallelhelper.hh:50
T::LeafGridView GV
Definition: pdelab.hh:1381
GO & operator*()
Definition: pdelab.hh:1533
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1146
const LS & operator*() const
Definition: pdelab.hh:1809
T::LeafGridView GV
Definition: pdelab.hh:585
const LS & operator*() const
Definition: pdelab.hh:1834
const CC & getCC() const
Definition: pdelab.hh:1419
N NT
Definition: pdelab.hh:1385
const GFS & getGFS() const
Definition: pdelab.hh:931
Definition: pdelab.hh:1280
GridFunctionSpace< ES, FEM, CON, VBE > GFS
Definition: pdelab.hh:716
const CC & getCC() const
Definition: pdelab.hh:1228
CC & getCC()
Definition: pdelab.hh:1225
T * operator->()
Definition: pdelab.hh:366
const LS * operator->() const
Definition: pdelab.hh:1984
T::ctype ctype
Definition: pdelab.hh:896
Parallel P0 constraints for nonoverlapping grids with ghosts.
Definition: p0ghost.hh:16
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:854
void maskForeignDOFs(X &x) const
Mask out all DOFs not owned by the current process with 0.
Definition: parallelhelper.hh:126
DGQkSpace(const GV &gridview)
Definition: pdelab.hh:1110
Definition: pdelab.hh:1718
CC & getCC()
Definition: pdelab.hh:1129
Solver to be used for explicit time-steppers with (block-)diagonal mass matrix.
Definition: novlpistlsolverbackend.hh:635
wrap a GridFunction so it can be used with the VTKWriter from dune-grid.
Definition: vtkexport.hh:22
Backend using (possibly nested) ISTL BCRSMatrices.
Definition: bcrsmatrixbackend.hh:187
CON & getCON()
Definition: pdelab.hh:851
void clearConstraints()
Definition: pdelab.hh:776
LS & operator*()
Definition: pdelab.hh:1883
const CON & getCON() const
Definition: pdelab.hh:852
T Grid
Definition: pdelab.hh:1285
LS & operator*()
Definition: pdelab.hh:1757
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:1299
@ nonconforming
Definition: pdelab.hh:436
Overlapping parallel CGS solver with SSOR preconditioner.
Definition: ovlpistlsolverbackend.hh:725
LS & operator*()
Definition: pdelab.hh:1931
const LS * operator->() const
Definition: pdelab.hh:1934
T::LeafGridView GV
Definition: pdelab.hh:995
const GFS & getGFS() const
Definition: pdelab.hh:1413
Definition: pdelab.hh:1870
DGCONBase< st > CONB
Definition: pdelab.hh:1100
void assembleConstraints(const BCTYPE &bctype)
Definition: pdelab.hh:1327
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:963
void assembleConstraints(const BCTYPE &bctype)
Definition: pdelab.hh:940
const GFS & getGFS() const
Definition: pdelab.hh:1126
extend conforming constraints class by processor boundary
Definition: conforming.hh:96
static const int dimworld
Definition: pdelab.hh:998
GFS & getGFS()
Definition: pdelab.hh:747
FEM & getFEM()
Definition: pdelab.hh:406
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1344
FEM & getFEM()
Definition: pdelab.hh:617
void assembleConstraints(const BCTYPE &bctype)
Definition: pdelab.hh:1231
LS & getLS()
Definition: pdelab.hh:1780
CGCONBase(Grid &grid, const BCType &bctype, const GV &gv)
Definition: pdelab.hh:528
CON & getCON()
Definition: pdelab.hh:868
const FEM & getFEM() const
Definition: pdelab.hh:741
Dune::PDELab::NonOverlappingEntitySet< GV > ES
Definition: pdelab.hh:705
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1158
StructuredGrid(Dune::GeometryType::BasicType meshtype, std::array< double, dimworld > lower_left, std::array< double, dimworld > upper_right, std::array< unsigned int, dim > cells)
Definition: pdelab.hh:119
T::ctype ctype
Definition: pdelab.hh:1382
const GFS & getGFS() const
Definition: pdelab.hh:753
Dune::PDELab::GridOperator< typename FS::GFS, typename FS::GFS, LOP, MBE, typename FS::NT, typename FS::NT, typename FS::NT, typename FS::CC, typename FS::CC > GO
Definition: pdelab.hh:1566
LS * operator->()
Definition: pdelab.hh:1733
const Grid & operator*() const
Definition: pdelab.hh:310
VBET VBE
Definition: pdelab.hh:1102
const FEM & getFEM() const
Definition: pdelab.hh:1312
VBET VBE
Definition: pdelab.hh:596
CGSpace(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:725
const LS & operator*() const
Definition: pdelab.hh:1859
const LS & getLS() const
Definition: pdelab.hh:1930
const LS & getLS() const
Definition: pdelab.hh:1781
T Grid
Definition: pdelab.hh:584
const GO * operator->() const
Definition: pdelab.hh:1548
FEM & getFEM()
Definition: pdelab.hh:736
N NT
Definition: pdelab.hh:718
void constraints(const GFS &gfs, CG &cg, const bool verbose=false)
construct constraints
Definition: constraints.hh:751
Definition: pdelab.hh:1469
StructuredGrid(Dune::GeometryType::BasicType meshtype, unsigned int cells, int overlap=1)
Definition: pdelab.hh:206
const LS & operator*() const
Definition: pdelab.hh:1983
DGCONBase()
Definition: pdelab.hh:864
N NT
Definition: pdelab.hh:1290
const LS * operator->() const
Definition: pdelab.hh:1735
VBET VBE
Definition: pdelab.hh:715
ISTLSolverBackend_CG_AMG_SSOR(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
Definition: pdelab.hh:1724
T Grid
Definition: pdelab.hh:894
const CON & getCON() const
Definition: pdelab.hh:869
LS & getLS()
Definition: pdelab.hh:1979
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:491
Grid::ctype ctype
Definition: pdelab.hh:202
const FEM & getFEM() const
Definition: pdelab.hh:1025
LS & getLS()
Definition: pdelab.hh:1730
const CC & getCC() const
Definition: pdelab.hh:1324
ISTL::BCRSMatrixBackend MBE
Definition: pdelab.hh:1617
T * operator->()
Definition: pdelab.hh:174
LS & operator*()
Definition: pdelab.hh:2006
A grid function space.
Definition: gridfunctionspace.hh:166
VBET VBE
Definition: pdelab.hh:1389
const LS & operator*() const
Definition: pdelab.hh:1933
void clearConstraints()
Definition: pdelab.hh:1141
GlobalAssembler(const FSU &fsu, const FSV &fsv, LOP &lop, const std::size_t nonzeros)
Definition: pdelab.hh:1623
HangingNodesDirichletConstraints< Grid, HangingNodesConstraintsAssemblers::SimplexGridP1Assembler, BCType > CON
Definition: pdelab.hh:448
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:793
void clearConstraints()
Definition: pdelab.hh:1428
const LS & getLS() const
Definition: pdelab.hh:1856
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:720
const LS & getLS() const
Definition: pdelab.hh:1731
LS & getLS()
Definition: pdelab.hh:1755
static const int dim
Definition: pdelab.hh:997
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1152
const CC & getCC() const
Definition: pdelab.hh:1037
CC & getCC()
Definition: pdelab.hh:759
T & getGrid()
Definition: pdelab.hh:158
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1063
const LS & operator*() const
Definition: pdelab.hh:1958
const FEM & getFEM() const
Definition: pdelab.hh:1120
T::ctype ctype
Definition: pdelab.hh:1095
FEMB::FEM FEM
Definition: pdelab.hh:593
CON & getCON()
Definition: pdelab.hh:488
const GO & getGO() const
Definition: pdelab.hh:1635
T::ctype ctype
Definition: pdelab.hh:1287
LS * operator->()
Definition: pdelab.hh:1982
Dune::PDELab::OneStepGridOperator< typename GO1::GO, typename GO2::GO, implicit > GO
Definition: pdelab.hh:1671
T Grid
Definition: pdelab.hh:1189
MeshType
Definition: pdelab.hh:434
ISTLSolverBackend_IterativeDefault(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1)
Definition: pdelab.hh:1900
CGCONBase< Grid, degree, gt, mt, SolverCategory::nonoverlapping, BCType > CONB
Definition: pdelab.hh:710
HangingNodesDirichletConstraints< Grid, HangingNodesConstraintsAssemblers::CubeGridQ1Assembler, BCType > CON
Definition: pdelab.hh:474
const LS & operator*() const
Definition: pdelab.hh:1759
LS * operator->()
Definition: pdelab.hh:2007
GO & getGO()
Definition: pdelab.hh:1629
Grid * operator->()
Definition: pdelab.hh:305
Dune::PDELab::ISTLBackend_NOVLP_ExplicitDiagonal< typename FS::GFS > LS
Definition: pdelab.hh:1997
T::ctype ctype
Definition: pdelab.hh:94
CGFEMBase< GV, ctype, N, degree, dim, gt > FEMB
Definition: pdelab.hh:590
T::LeafGridView GV
Definition: pdelab.hh:895
Backend for sequential BiCGSTAB solver with SSOR preconditioner.
Definition: seqistlsolverbackend.hh:261
Backend::Vector< GFS, N > DOF
Definition: pdelab.hh:1104
ISTLBackend_NOVLP_CG_SSORk< typename ASS::GO > LS
Definition: pdelab.hh:1822
CGCONBase< Grid, degree, gt, mt, st, BCType > CONB
Definition: pdelab.hh:591
LS & getLS()
Definition: pdelab.hh:1929
CONB::CON CON
Definition: pdelab.hh:1101
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:1011
ISTLSolverBackend_IterativeDefault(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1)
Definition: pdelab.hh:1924
const LS & operator*() const
Definition: pdelab.hh:1909
void postGFSHook(const GFS &gfs)
Definition: pdelab.hh:461
const GO * operator->() const
Definition: pdelab.hh:1601
T::ctype ctype
Definition: pdelab.hh:704
CONB::CON CON
Definition: pdelab.hh:1006
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:787
LS * operator->()
Definition: pdelab.hh:1932
GO * operator->()
Definition: pdelab.hh:1645
const GFS & getGFS() const
Definition: pdelab.hh:1031
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:602
DGPkSpace(const GV &gridview)
Definition: pdelab.hh:915
Dune::FieldVector< GV::Grid::ctype, GV::dimension > DomainType
domain type in dim-size coordinates
Definition: function.hh:49
CGCONBase(Grid &grid, const BCType &bctype, const GV &gv)
Definition: pdelab.hh:502
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:969
DGCONBase< st > CONB
Definition: pdelab.hh:1005
CONB::CON CON
Definition: pdelab.hh:594
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1051
FEM & getFEM()
Definition: pdelab.hh:1311
GO * operator->()
Definition: pdelab.hh:1696
T::LeafGridView GV
Definition: pdelab.hh:1190
LS * operator->()
Definition: pdelab.hh:1808
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:911
StructuredGrid(Dune::GeometryType::BasicType meshtype, std::array< double, dimworld > lower_left, std::array< double, dimworld > upper_right, std::array< unsigned int, dim > cells, std::array< bool, dim > periodic, int overlap=1)
Definition: pdelab.hh:252
const CC & getCC() const
Definition: pdelab.hh:646
const GFS & getGFS() const
Definition: pdelab.hh:1222
T::ctype ctype
Definition: pdelab.hh:996
CONB::CON CON
Definition: pdelab.hh:1197
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1242
T & operator*()
Definition: pdelab.hh:361
T::ctype ctype
Definition: pdelab.hh:1191
const Entity & e
Definition: localfunctionspace.hh:120
T::LeafGridView GV
Definition: pdelab.hh:703
LS * operator->()
Definition: pdelab.hh:1908
const LS & operator*() const
Definition: pdelab.hh:2008
Definition: pdelab.hh:441
const LS & getLS() const
Definition: pdelab.hh:1980
const LS * operator->() const
Definition: pdelab.hh:1860
const LS & operator*() const
Definition: pdelab.hh:1885
const LS & getLS() const
Definition: pdelab.hh:1806
OneStepGlobalAssembler(GO1 &go1, GO2 &go2)
Definition: pdelab.hh:1674
GO & operator*()
Definition: pdelab.hh:1691
DGCONBase< st > CONB
Definition: pdelab.hh:905
const CC & getCC() const
Definition: pdelab.hh:937
DGQkGLSpace(const GV &gridview)
Definition: pdelab.hh:1206
static const int dim
Definition: pdelab.hh:1288
const LS & getLS() const
Definition: pdelab.hh:1831
Definition: pdelab.hh:1666
FEM & getFEM()
Definition: pdelab.hh:924
Definition: pdelab.hh:392
Solver to be used for explicit time-steppers with (block-)diagonal mass matrix.
Definition: ovlpistlsolverbackend.hh:1008
DGCONBase< st > CONB
Definition: pdelab.hh:1387
@ periodic
periodic boundary intersection (neighbor() == true && boundary() == true)
Grid & operator*()
Definition: pdelab.hh:300
leaf of a function tree
Definition: function.hh:298
CGCONBase(Grid &grid, const BCType &bctype, const GV &gv)
Definition: pdelab.hh:476
LS & operator*()
Definition: pdelab.hh:1832
DGCONBase()
Definition: pdelab.hh:847
Definition: partitionviewentityset.hh:34
GridFunctionTraits< typename FS::GV, typename FS::NT, 1, FieldVector< typename FS::NT, 1 > > Traits
Definition: pdelab.hh:1476
const LS & getLS() const
Definition: pdelab.hh:1955
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:601
std::shared_ptr< T > getSharedPtr()
Definition: pdelab.hh:344
FEM & getFEM()
Definition: pdelab.hh:1119
VBET VBE
Definition: pdelab.hh:907
T::ctype ctype
Definition: pdelab.hh:586
static const int dimworld
Definition: pdelab.hh:333
VBET VBE
Definition: pdelab.hh:1198
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:1295
Backend::Vector< GFS, N > DOF
Definition: pdelab.hh:1009
static const int dimworld
Definition: pdelab.hh:1289
std::shared_ptr< T > getSharedPtr()
Definition: pdelab.hh:152
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:957
CGFEMBase< ES, ctype, N, degree, dim, gt > FEMB
Definition: pdelab.hh:709
T::LeafGridView GV
Definition: pdelab.hh:1286
const GO & operator*() const
Definition: pdelab.hh:1543
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:674
Dune::PDELab::ISTLBackend_SEQ_ExplicitDiagonal LS
Definition: pdelab.hh:1947
const T & operator*() const
Definition: pdelab.hh:179
const FEM & getFEM() const
Definition: pdelab.hh:407
const T & getGrid() const
Definition: pdelab.hh:356
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:1393
const GO & getGO() const
Definition: pdelab.hh:1528
Definition: gridoperator/onestep.hh:17
void clearConstraints()
Definition: pdelab.hh:1046
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:1297
LS & operator*()
Definition: pdelab.hh:1981
const GO * operator->() const
Definition: pdelab.hh:1706
CGFEMBase(const GV &gridview)
Definition: pdelab.hh:401
FEM & getFEM()
Definition: pdelab.hh:424
CC & getCC()
Definition: pdelab.hh:640
Definition: pdelab.hh:1559
GFS & getGFS()
Definition: pdelab.hh:1315
void assembleConstraints(const BCTYPE &bctype)
Definition: pdelab.hh:1422
const FS::GV & getGridView() const
Definition: pdelab.hh:1494
Nonoverlapping parallel BiCGSTAB solver preconditioned by block SSOR.
Definition: novlpistlsolverbackend.hh:835
const CON & getCON() const
Definition: pdelab.hh:835
@ Qk
Definition: l2orthonormal.hh:154
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:1203
Definition: pdelab.hh:1375
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1164
void copy_constrained_dofs(const CG &cg, const XG &xgin, XG &xgout)
Definition: constraints.hh:938
GO & getGO()
Definition: pdelab.hh:1575
VBET VBE
Definition: pdelab.hh:1007
traits class holding the function signature, same as in local function
Definition: function.hh:176
N NT
Definition: pdelab.hh:1194
Definition: pdelab.hh:580
static const int dimworld
Definition: pdelab.hh:898
LS * operator->()
Definition: pdelab.hh:1758
P0ParallelGhostConstraints CON
Definition: pdelab.hh:846
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1338
Overlapping parallel conjugate gradient solver preconditioned with AMG smoothed by SSOR.
Definition: ovlpistlsolverbackend.hh:1256
void assembleConstraints(const BCType &bctype)
Definition: pdelab.hh:770
GO::Jacobian MAT
Definition: pdelab.hh:1514
const T * operator->() const
Definition: pdelab.hh:184
Definition: pdelab.hh:989
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:680
ISTLSolverBackend_IterativeDefault(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1)
Definition: pdelab.hh:1876
Dune::PDELab::GridOperator< typename FSU::GFS, typename FSV::GFS, LOP, MBE, typename FSU::NT, typename FSU::NT, typename FSU::NT, typename FSU::CC, typename FSV::CC > GO
Definition: pdelab.hh:1620
CC & getCC()
Definition: pdelab.hh:1034
N NT
Definition: pdelab.hh:1098
const LS * operator->() const
Definition: pdelab.hh:1810
Dune::PDELab::ISTLBackend_OVLP_ExplicitDiagonal< typename FS::GFS > LS
Definition: pdelab.hh:1972
const FEM & getFEM() const
Definition: pdelab.hh:622
static const int dimworld
Definition: pdelab.hh:96
void set_constrained_dofs(const CG &cg, typename XG::ElementType x, XG &xg)
construct constraints from given boundary condition function
Definition: constraints.hh:798
Dune::PDELab::ISTLBackend_NOVLP_CG_AMG_SSOR< typename ASS::GO > LS
Definition: pdelab.hh:1747
Definition: genericdatahandle.hh:665
ISTLBackend_OVLP_CG_SSORk< typename FS::GFS, typename FS::CC > LS
Definition: pdelab.hh:1847
T Grid
Definition: pdelab.hh:1093
DGLegendreSpace(const GV &gridview)
Definition: pdelab.hh:1302
CC & getCC()
Definition: pdelab.hh:934
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:951
const LS * operator->() const
Definition: pdelab.hh:1959
ISTLBackend_SEQ_CG_SSOR LS
Definition: pdelab.hh:1797
GO & operator*()
Definition: pdelab.hh:1640
GalerkinGlobalAssemblerNewBackend(const FS &fs, LOP &lop, const MBE &mbe)
Definition: pdelab.hh:1569
const GFS & getGFS() const
Definition: pdelab.hh:1318
CGCONBase(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:481
static const unsigned int value
Definition: gridfunctionspace/tags.hh:139
Dune::PDELab::ISTL::BCRSMatrixBackend MBE
Definition: pdelab.hh:1563
const LS & getLS() const
Definition: pdelab.hh:1882
const CON & getCON() const
Definition: pdelab.hh:515
DGCONBase< st > CONB
Definition: pdelab.hh:1196
GFS & getGFS()
Definition: pdelab.hh:928
NoConstraints CON
Definition: pdelab.hh:829
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:1105
GO::Jacobian MAT
Definition: pdelab.hh:1567
typename impl::BackendVectorSelector< GridFunctionSpace, FieldType >::Type Vector
alias of the return type of BackendVectorSelector
Definition: backend/interface.hh:106
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:1202
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1439
LS * operator->()
Definition: pdelab.hh:1783
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:871
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:912
Definition: pdelab.hh:1506
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:910
static const int dim
Definition: pdelab.hh:1383
GFS & getGFS()
Definition: pdelab.hh:1028
ISTLSolverBackend_CG_SSOR(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int steps_=5, int verbose_=1)
Definition: pdelab.hh:1824
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1451
const GFS & getGFS() const
Definition: pdelab.hh:634
Definition: pdelab.hh:822
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:1392
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:1106
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1445
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:1199
const GO & getGO() const
Definition: pdelab.hh:1686
void evaluate(const typename Traits::ElementType &e, const typename Traits::DomainType &x, typename Traits::RangeType &y) const
Evaluate the GridFunction at given position.
Definition: pdelab.hh:1484
FEM & getFEM()
Definition: pdelab.hh:1215
DGQkOPBSpace(const GV &gridview)
Definition: pdelab.hh:1015
CONB::CON CON
Definition: pdelab.hh:906
OPBLocalFiniteElementMap< ctype, NT, degree, dim, gt, N, Dune::PB::BasisType::Qk > FEM
Definition: pdelab.hh:1003
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1254
static const int dim
Definition: pdelab.hh:897
GFS & getGFS()
Definition: pdelab.hh:1410
FEM & getFEM()
Definition: pdelab.hh:1406
GO & operator*()
Definition: pdelab.hh:1586
const CON & getCON() const
Definition: pdelab.hh:489
LS & operator*()
Definition: pdelab.hh:1857
const T & getGrid() const
Definition: pdelab.hh:164
GO & getGO()
Definition: pdelab.hh:1680
Dune::PDELab::ISTLBackend_CG_AMG_SSOR< typename ASS::GO > LS
Definition: pdelab.hh:1772
OPBLocalFiniteElementMap< ctype, NT, degree, dim, gt > FEM
Definition: pdelab.hh:903
FEM & getFEM()
Definition: pdelab.hh:1024
QkDGLocalFiniteElementMap< ctype, NT, degree, dim > FEM
Definition: pdelab.hh:1099
T & getGrid()
Definition: pdelab.hh:350
const CC & getCC() const
Definition: pdelab.hh:765
const LS & operator*() const
Definition: pdelab.hh:1734
P0Space(const GV &gridview)
Definition: pdelab.hh:1397
CGCONBase(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:507
LS * operator->()
Definition: pdelab.hh:1858
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:517
T::ctype ctype
Definition: pdelab.hh:331
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:668
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:1390
Grid & getGrid()
Definition: pdelab.hh:289
CON & getCON()
Definition: pdelab.hh:834
const LS * operator->() const
Definition: pdelab.hh:1910
CONB::CON CON
Definition: pdelab.hh:1293
const Grid & getGrid() const
Definition: pdelab.hh:295
const CON & getCON() const
Definition: pdelab.hh:568
void clearConstraints()
Definition: pdelab.hh:1237
LS * operator->()
Definition: pdelab.hh:1884
static const int dim
Definition: pdelab.hh:1192
CC & getCC()
Definition: pdelab.hh:1321
static const int dim
Definition: pdelab.hh:587
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:721
N NT
Definition: pdelab.hh:899
Dirichlet Constraints construction.
Definition: conforming.hh:36
T::LeafGridView GV
Definition: pdelab.hh:1094
LS & operator*()
Definition: pdelab.hh:1732