20 #include <dune/common/parallel/mpihelper.hh>
21 #include <dune/common/parametertreeparser.hh>
22 #include <dune/common/classname.hh>
23 #include <dune/common/exceptions.hh>
24 #include <dune/common/fvector.hh>
26 #include <dune/geometry/type.hh>
27 #include <dune/geometry/quadraturerules.hh>
29 #include <dune/grid/onedgrid.hh>
30 #include <dune/grid/io/file/vtk.hh>
31 #include <dune/grid/yaspgrid.hh>
33 #include <dune/grid/uggrid.hh>
36 #include<dune/grid/albertagrid.hh>
37 #include <dune/grid/albertagrid/dgfparser.hh>
40 #include<dune/grid/uggrid.hh>
43 #include<dune/alugrid/grid.hh>
44 #include<dune/grid/io/file/dgfparser/dgfalu.hh>
45 #include<dune/grid/io/file/dgfparser/dgfparser.hh>
47 #include <dune/grid/utility/structuredgridfactory.hh>
48 #include <dune/grid/io/file/gmshreader.hh>
50 #include <dune/istl/bvector.hh>
51 #include <dune/istl/operators.hh>
52 #include <dune/istl/solvers.hh>
53 #include <dune/istl/solvercategory.hh>
54 #include <dune/istl/preconditioners.hh>
55 #include <dune/istl/io.hh>
57 #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 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 array<double,dimworld> lower_left, array<double,dimworld> upper_right,
121 array<unsigned int,dim> cells)
123 FieldVector<ctype,dimworld> lowerLeft;
124 FieldVector<ctype,dimworld> upperRight;
125 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 Dune::array<int,dimworld> N(Dune::fill_array<int,dimworld>(cells));
215 std::bitset<dimworld> B(
false);
218 gridp = std::shared_ptr<Grid>(
new Grid(L,N,B,overlap,Dune::MPIHelper::getCollectiveCommunication()));
223 array<double,dimworld> lower_left, array<double,dimworld> upper_right,
224 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 Dune::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 array<double,dimworld> lower_left, array<double,dimworld> upper_right,
254 array<unsigned int,dim> cells, 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 Dune::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));
407 const FEM&
getFEM()
const {
return *femp;}
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));
425 const FEM&
getFEM()
const {
return *femp;}
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>
463 const CON&
getCON()
const {
return *conp;}
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>
489 const CON&
getCON()
const {
return *conp;}
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>
515 const CON&
getCON()
const {
return *conp;}
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>
541 const CON&
getCON()
const {
return *conp;}
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>
562 CGCONBase (Grid& grid,
const BCType& bctype,
const GV& gv)
564 conp = std::shared_ptr<CON>(
new CON(gv));
569 conp = std::shared_ptr<CON>(
new CON(grid.leafGridView()));
572 template<
typename GFS>
575 const CON&
getCON()
const {
return *conp;}
576 template<
typename GFS,
typename DOF>
579 std::shared_ptr<CON> conp;
584 template<
typename T,
typename N,
unsigned int degree,
typename BCType,
585 Dune::GeometryType::BasicType gt,
MeshType mt, SolverCategory::Category st = SolverCategory::sequential,
586 typename VBET=istl::VectorBackend<> >
592 typedef typename T::LeafGridView
GV;
594 static const int dim = T::dimension;
600 typedef typename FEMB::FEM
FEM;
601 typedef typename CONB::CON
CON;
609 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
614 : gv(grid.leafGridView()), femb(gv), conb(grid,bctype)
616 gfsp = std::shared_ptr<GFS>(
new GFS(gv,femb.getFEM(),conb.getCON()));
617 gfsp->name(
"cgspace");
620 conb.postGFSHook(*gfsp);
621 ccp = std::shared_ptr<CC>(
new CC());
626 return femb.getFEM();
631 return femb.getFEM();
672 conb.make_consistent(*gfsp,x);
678 conb.make_consistent(*gfsp,x);
684 conb.make_consistent(*gfsp,xout);
690 conb.make_consistent(*gfsp,xout);
697 std::shared_ptr<GFS> gfsp;
698 std::shared_ptr<CC> ccp;
707 template<SolverCategory::Category st>
718 conp = std::shared_ptr<CON>(
new CON());
721 const CON&
getCON()
const {
return *conp;}
722 template<
typename GFS,
typename DOF>
725 std::shared_ptr<CON> conp;
735 conp = std::shared_ptr<CON>(
new CON());
738 const CON&
getCON()
const {
return *conp;}
739 template<
typename GFS,
typename DOF>
742 std::shared_ptr<CON> conp;
752 conp = std::shared_ptr<CON>(
new CON());
755 const CON&
getCON()
const {
return *conp;}
756 template<
typename GFS,
typename DOF>
763 if (gfs.gridView().comm().size()>1)
764 gfs.gridView().communicate(adddh,Dune::InteriorBorder_All_Interface,Dune::ForwardCommunication);
767 std::shared_ptr<CON> conp;
772 template<
typename T,
typename N,
unsigned int degree,
773 Dune::GeometryType::BasicType gt, SolverCategory::Category st = SolverCategory::sequential,
781 typedef typename T::LeafGridView
GV;
783 static const int dim = T::dimension;
792 typedef typename CONB::CON
CON;
797 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
803 femp = std::shared_ptr<FEM>(
new FEM());
804 gfsp = std::shared_ptr<GFS>(
new GFS(gv,*femp));
807 ccp = std::shared_ptr<CC>(
new CC());
811 const FEM&
getFEM()
const {
return *femp; }
817 const GFS&
getGFS ()
const {
return *gfsp;}
823 const CC&
getCC ()
const {
return *ccp;}
825 template<
class BCTYPE>
840 conb.make_consistent(*gfsp,x);
846 conb.make_consistent(*gfsp,x);
852 conb.make_consistent(*gfsp,xout);
858 conb.make_consistent(*gfsp,xout);
864 std::shared_ptr<FEM> femp;
865 std::shared_ptr<GFS> gfsp;
866 std::shared_ptr<CC> ccp;
871 template<
typename T,
typename N,
unsigned int degree,
872 Dune::GeometryType::BasicType gt, SolverCategory::Category st = SolverCategory::sequential,
874 typename VBET=istl::VectorBackend<> >
881 typedef typename T::LeafGridView
GV;
883 static const int dim = T::dimension;
892 typedef typename CONB::CON
CON;
897 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
903 femp = std::shared_ptr<FEM>(
new FEM());
904 gfsp = std::shared_ptr<GFS>(
new GFS(gv,*femp));
907 ccp = std::shared_ptr<CC>(
new CC());
911 const FEM&
getFEM()
const {
return *femp; }
917 const GFS&
getGFS ()
const {
return *gfsp;}
923 const CC&
getCC ()
const {
return *ccp;}
925 template<
class BCTYPE>
940 conb.make_consistent(*gfsp,x);
946 conb.make_consistent(*gfsp,x);
952 conb.make_consistent(*gfsp,xout);
958 conb.make_consistent(*gfsp,xout);
964 std::shared_ptr<FEM> femp;
965 std::shared_ptr<GFS> gfsp;
966 std::shared_ptr<CC> ccp;
971 template<
typename T,
typename N,
unsigned int degree,
972 Dune::GeometryType::BasicType gt, SolverCategory::Category st = SolverCategory::sequential,
980 typedef typename T::LeafGridView
GV;
982 static const int dim = T::dimension;
987 typedef typename CONB::CON
CON;
992 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
998 femp = std::shared_ptr<FEM>(
new FEM());
999 gfsp = std::shared_ptr<GFS>(
new GFS(gv,*femp));
1002 ccp = std::shared_ptr<CC>(
new CC());
1018 const CC&
getCC ()
const {
return *ccp;}
1020 template<
class BCTYPE>
1035 conb.make_consistent(*gfsp,x);
1041 conb.make_consistent(*gfsp,x);
1047 conb.make_consistent(*gfsp,xout);
1053 conb.make_consistent(*gfsp,xout);
1059 std::shared_ptr<FEM> femp;
1060 std::shared_ptr<GFS> gfsp;
1061 std::shared_ptr<CC> ccp;
1066 template<
typename T,
typename N,
unsigned int degree,
1067 Dune::GeometryType::BasicType gt, SolverCategory::Category st = SolverCategory::sequential,
1069 typename VBET=istl::VectorBackend<> >
1076 typedef typename T::LeafGridView
GV;
1078 static const int dim = T::dimension;
1083 typedef typename CONB::CON
CON;
1088 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
1094 femp = std::shared_ptr<FEM>(
new FEM());
1095 gfsp = std::shared_ptr<GFS>(
new GFS(gv,*femp));
1098 ccp = std::shared_ptr<CC>(
new CC());
1114 const CC&
getCC ()
const {
return *ccp;}
1116 template<
class BCTYPE>
1131 conb.make_consistent(*gfsp,x);
1137 conb.make_consistent(*gfsp,x);
1143 conb.make_consistent(*gfsp,xout);
1149 conb.make_consistent(*gfsp,xout);
1155 std::shared_ptr<FEM> femp;
1156 std::shared_ptr<GFS> gfsp;
1157 std::shared_ptr<CC> ccp;
1163 template<
typename T,
typename N,
1164 Dune::GeometryType::BasicType gt, SolverCategory::Category st = SolverCategory::sequential,
1165 typename VBET=istl::VectorBackend<> >
1172 typedef typename T::LeafGridView
GV;
1174 static const int dim = T::dimension;
1179 typedef typename CONB::CON
CON;
1184 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
1188 P0Space (
const GV& gridview) : gv(gridview), conb()
1190 femp = std::shared_ptr<FEM>(
new FEM(Dune::GeometryType(gt,dim)));
1191 gfsp = std::shared_ptr<GFS>(
new GFS(gv,*femp));
1194 ccp = std::shared_ptr<CC>(
new CC());
1210 const CC&
getCC ()
const {
return *ccp;}
1212 template<
class BCTYPE>
1227 conb.make_consistent(*gfsp,x);
1233 conb.make_consistent(*gfsp,x);
1239 conb.make_consistent(*gfsp,xout);
1245 conb.make_consistent(*gfsp,xout);
1251 std::shared_ptr<FEM> femp;
1252 std::shared_ptr<GFS> gfsp;
1253 std::shared_ptr<CC> ccp;
1259 template<
typename FS,
typename Functor>
1261 :
public GridFunctionBase<GridFunctionTraits<typename FS::GV, typename FS::NT,
1262 1,FieldVector<typename FS::NT,1> >
1263 ,UserFunction<FS,Functor> >
1280 std::vector<double> x__(x.size());
1281 for (
size_t i=0; i<x.size(); ++i) x__[i]=x_[i];
1287 return fs.getGFS().gridView();
1296 template<
typename FS,
typename LOP, SolverCategory::Category st = SolverCategory::sequential>
1303 typename FS::NT,
typename FS::NT,
typename FS::NT,
1304 typename FS::CC,
typename FS::CC>
GO;
1309 gop = std::shared_ptr<GO>(
new GO(fs.getGFS(),fs.getCC(),fs.getGFS(),fs.getCC(),lop));
1331 return gop.operator->();
1341 return gop.operator->();
1345 std::shared_ptr<GO> gop;
1349 template<
typename FS,
typename LOP>
1356 typename FS::NT,
typename FS::NT,
typename FS::NT,
1357 typename FS::CC,
typename FS::CC,
true>
GO;
1362 gop = std::shared_ptr<GO>(
new GO(fs.getGFS(),fs.getCC(),fs.getGFS(),fs.getCC(),lop));
1384 return gop.operator->();
1394 return gop.operator->();
1398 std::shared_ptr<GO> gop;
1402 template<
typename FS,
typename LOP, SolverCategory::Category st = SolverCategory::sequential>
1409 typename FS::NT,
typename FS::NT,
typename FS::NT,
1410 typename FS::CC,
typename FS::CC>
GO;
1415 gop = std::shared_ptr<GO>(
new GO(fs.getGFS(),fs.getCC(),fs.getGFS(),fs.getCC(),lop,mbe));
1437 return gop.operator->();
1447 return gop.operator->();
1451 std::shared_ptr<GO> gop;
1455 template<
typename FS,
typename LOP>
1462 typename FS::NT,
typename FS::NT,
typename FS::NT,
1463 typename FS::CC,
typename FS::CC,
true>
GO;
1468 gop = std::shared_ptr<GO>(
new GO(fs.getGFS(),fs.getCC(),fs.getGFS(),fs.getCC(),lop,mbe));
1490 return gop.operator->();
1500 return gop.operator->();
1504 std::shared_ptr<GO> gop;
1511 template<
typename FSU,
typename FSV,
typename LOP, SolverCategory::Category st>
1518 typename FSU::NT,
typename FSU::NT,
typename FSU::NT,
1519 typename FSU::CC,
typename FSV::CC>
GO;
1524 gop = std::shared_ptr<GO>(
new GO(fsu.getGFS(),fsu.getCC(),fsv.getGFS(),fsv.getCC(),lop));
1546 return gop.operator->();
1556 return gop.operator->();
1560 std::shared_ptr<GO> gop;
1564 template<
typename FSU,
typename FSV,
typename LOP>
1571 typename FSU::NT,
typename FSU::NT,
typename FSU::NT,
1572 typename FSU::CC,
typename FSV::CC,
true>
GO;
1577 gop = std::shared_ptr<GO>(
new GO(fsu.getGFS(),fsu.getCC(),fsv.getGFS(),fsv.getCC(),lop));
1599 return gop.operator->();
1609 return gop.operator->();
1613 std::shared_ptr<GO> gop;
1618 template<
typename GO1,
typename GO2,
bool implicit = true>
1629 gop = std::shared_ptr<GO>(
new GO(*go1,*go2));
1651 return gop.operator->();
1661 return gop.operator->();
1665 std::shared_ptr<GO> gop;
1670 template<
typename FS,
typename ASS, SolverCategory::Category st = SolverCategory::sequential>
1678 int verbose_=1,
bool reuse_=
false,
bool usesuperlu_=
true)
1680 lsp = std::shared_ptr<LS>(
new LS(maxiter_,verbose_,reuse_,usesuperlu_));
1684 const LS&
getLS ()
const {
return *lsp;}
1691 std::shared_ptr<LS> lsp;
1695 template<
typename FS,
typename ASS>
1703 int verbose_=1,
bool reuse_=
false,
bool usesuperlu_=
true)
1705 lsp = std::shared_ptr<LS>(
new LS(fs.getGFS(),maxiter_,verbose_,reuse_,usesuperlu_));
1709 const LS&
getLS ()
const {
return *lsp;}
1716 std::shared_ptr<LS> lsp;
1720 template<
typename FS,
typename ASS>
1728 int verbose_=1,
bool reuse_=
false,
bool usesuperlu_=
true)
1730 lsp = std::shared_ptr<LS>(
new LS(fs.getGFS(),maxiter_,verbose_,reuse_,usesuperlu_));
1734 const LS&
getLS ()
const {
return *lsp;}
1741 std::shared_ptr<LS> lsp;
1745 template<
typename FS,
typename ASS, SolverCategory::Category st = SolverCategory::sequential>
1753 int steps_=5,
int verbose_=1)
1755 lsp = std::shared_ptr<LS>(
new LS(maxiter_,verbose_));
1759 const LS&
getLS ()
const {
return *lsp;}
1766 std::shared_ptr<LS> lsp;
1770 template<
typename FS,
typename ASS>
1778 int steps_=5,
int verbose_=1)
1780 lsp = std::shared_ptr<LS>(
new LS(fs.getGFS(),maxiter_,steps_,verbose_));
1784 const LS&
getLS ()
const {
return *lsp;}
1791 std::shared_ptr<LS> lsp;
1795 template<
typename FS,
typename ASS>
1803 int steps_=5,
int verbose_=1)
1805 lsp = std::shared_ptr<LS>(
new LS(fs.getGFS(),fs.getCC(),maxiter_,steps_,verbose_));
1809 const LS&
getLS ()
const {
return *lsp;}
1816 std::shared_ptr<LS> lsp;
1822 template<
typename FS,
typename ASS, SolverCategory::Category st = SolverCategory::sequential>
1831 lsp = std::shared_ptr<LS>(
new LS(maxiter_,verbose_));
1835 const LS&
getLS ()
const {
return *lsp;}
1842 std::shared_ptr<LS> lsp;
1846 template<
typename FS,
typename ASS>
1855 lsp = std::shared_ptr<LS>(
new LS(fs.getGFS(),maxiter_,verbose_));
1859 const LS&
getLS ()
const {
return *lsp;}
1866 std::shared_ptr<LS> lsp;
1870 template<
typename FS,
typename ASS>
1879 lsp = std::shared_ptr<LS>(
new LS(fs.getGFS(),fs.getCC(),maxiter_,3,verbose_));
1883 const LS&
getLS ()
const {
return *lsp;}
1890 std::shared_ptr<LS> lsp;
1895 template<
typename FS,
typename ASS, SolverCategory::Category st = SolverCategory::sequential>
1904 lsp = std::shared_ptr<LS>(
new LS());
1908 const LS&
getLS ()
const {
return *lsp;}
1915 std::shared_ptr<LS> lsp;
1920 template<
typename FS,
typename ASS>
1929 lsp = std::shared_ptr<LS>(
new LS(fs.getGFS()));
1933 const LS&
getLS ()
const {
return *lsp;}
1940 std::shared_ptr<LS> lsp;
1945 template<
typename FS,
typename ASS>
1954 lsp = std::shared_ptr<LS>(
new LS(fs.getGFS()));
1958 const LS&
getLS ()
const {
return *lsp;}
1965 std::shared_ptr<LS> lsp;
CGCONBase(Grid &grid, const BCType &bctype, const GV &gv)
Definition: pdelab.hh:502
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:955
CONB::CON CON
Definition: pdelab.hh:1179
Dune::PDELab::OneStepGridOperator< typename GO1::GO, typename GO2::GO, implicit > GO
Definition: pdelab.hh:1624
static const int dimworld
Definition: pdelab.hh:884
static const int dimworld
Definition: pdelab.hh:96
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:849
const GO & getGO() const
Definition: pdelab.hh:1587
QkDGGLLocalFiniteElementMap< ctype, NT, degree, dim > FEM
Definition: pdelab.hh:1081
FEM & getFEM()
Definition: pdelab.hh:1101
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:577
T Grid
Definition: pdelab.hh:591
const FS::GV & getGridView() const
Definition: pdelab.hh:1285
StructuredGrid(Dune::GeometryType::BasicType meshtype, unsigned int cells)
Definition: pdelab.hh:99
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:837
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:740
CGCONBase(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:567
const FEM & getFEM() const
Definition: pdelab.hh:811
T::ctype ctype
Definition: pdelab.hh:331
CONB::CON CON
Definition: pdelab.hh:892
Backend::Vector< GFS, N > DOF
Definition: pdelab.hh:607
const CON & getCON() const
Definition: pdelab.hh:738
T::LeafGridView GV
Definition: pdelab.hh:1076
UnstructuredGrid(std::string filename, bool verbose=true, bool insert_boundary_segments=true)
Definition: pdelab.hh:336
GFS & getGFS()
Definition: pdelab.hh:1105
const LS & getLS() const
Definition: pdelab.hh:1908
ISTLSolverBackend_ExplicitDiagonal(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1)
Definition: pdelab.hh:1902
ISTLSolverBackend_ExplicitDiagonal(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1)
Definition: pdelab.hh:1927
const CON & getCON() const
Definition: pdelab.hh:721
Definition: pdelab.hh:1403
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1224
Nonoverlapping parallel BiCGStab solver with Jacobi preconditioner.
Definition: istl/novlpistlsolverbackend.hh:555
void copy_nonconstrained_dofs(const CG &cg, const XG &xgin, XG &xgout)
Definition: constraints.hh:994
const FEM & getFEM() const
Definition: pdelab.hh:911
Parallel P0 constraints for overlapping grids.
Definition: p0.hh:15
Dune::PDELab::ISTLBackend_NOVLP_ExplicitDiagonal< typename FS::GFS > LS
Definition: pdelab.hh:1950
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1230
const CC & getCC() const
Definition: pdelab.hh:653
extend conforming constraints class by processor boundary
Definition: conforming.hh:152
void copy_constrained_dofs(const CG &cg, const XG &xgin, XG &xgout)
Definition: constraints.hh:943
Solver to be used for explicit time-steppers with (block-)diagonal mass matrix.
Definition: istl/ovlpistlsolverbackend.hh:859
QkLocalFiniteElementMap< GV, C, R, degree > FEM
Definition: pdelab.hh:417
const GFS & getGFS() const
Definition: pdelab.hh:1108
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1038
LS * operator->()
Definition: pdelab.hh:1811
CON & getCON()
Definition: pdelab.hh:737
const CC & getCC() const
Definition: pdelab.hh:1018
GO & operator*()
Definition: pdelab.hh:1430
ISTLSolverBackend_IterativeDefault(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1)
Definition: pdelab.hh:1877
Grid & operator*()
Definition: pdelab.hh:300
LS & getLS()
Definition: pdelab.hh:1683
LS & operator*()
Definition: pdelab.hh:1785
static const int dimworld
Definition: pdelab.hh:1175
const GO & operator*() const
Definition: pdelab.hh:1493
const GFS & getGFS() const
Definition: pdelab.hh:1204
CC & getCC()
Definition: pdelab.hh:820
Hanging Node constraints construction.
Definition: hangingnode.hh:320
T::ctype ctype
Definition: pdelab.hh:981
const T & operator*() const
Definition: pdelab.hh:179
static const int dim
Definition: pdelab.hh:1078
GO::Jacobian MAT
Definition: pdelab.hh:1464
const LS * operator->() const
Definition: pdelab.hh:1788
T & getGrid()
Definition: pdelab.hh:350
GO::Jacobian MAT
Definition: pdelab.hh:1411
const LS & operator*() const
Definition: pdelab.hh:1886
Nonoverlapping parallel CG solver preconditioned with AMG smoothed by SSOR.
Definition: istl/novlpistlsolverbackend.hh:1046
OPBLocalFiniteElementMap< ctype, NT, degree, dim, gt > FEM
Definition: pdelab.hh:789
const GO * operator->() const
Definition: pdelab.hh:1607
void set_constrained_dofs(const CG &cg, typename XG::ElementType x, XG &xg)
construct constraints from given boundary condition function
Definition: constraints.hh:803
GO & operator*()
Definition: pdelab.hh:1324
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:675
DGQkSpace(const GV &gridview)
Definition: pdelab.hh:996
DGQkGLSpace(const GV &gridview)
Definition: pdelab.hh:1092
static const int dim
Definition: pdelab.hh:982
LS & operator*()
Definition: pdelab.hh:1836
const GO & getGO() const
Definition: pdelab.hh:1319
const FEM & getFEM() const
Definition: pdelab.hh:407
GO * operator->()
Definition: pdelab.hh:1329
CC & getCC()
Definition: pdelab.hh:1015
GO & operator*()
Definition: pdelab.hh:1539
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:1677
CGCONBase(Grid &grid, const BCType &bctype, const GV &gv)
Definition: pdelab.hh:476
convert a grid function space and a coefficient vector into a grid function
Definition: gridfunctionspaceutilities.hh:53
Definition: pdelab.hh:1260
const GO & getGO() const
Definition: pdelab.hh:1639
void postGFSHook(const GFS &gfs)
Definition: pdelab.hh:487
DGCONBase< st > CONB
Definition: pdelab.hh:791
StructuredGrid(Dune::GeometryType::BasicType meshtype, unsigned int cells, int overlap=1)
Definition: pdelab.hh:206
const LS & operator*() const
Definition: pdelab.hh:1687
T::ctype ctype
Definition: pdelab.hh:1173
CONB::CON CON
Definition: pdelab.hh:601
const LS * operator->() const
Definition: pdelab.hh:1912
const LS * operator->() const
Definition: pdelab.hh:1839
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:1185
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1242
DGCONBase()
Definition: pdelab.hh:716
Grid::ctype ctype
Definition: pdelab.hh:202
const GO & getGO() const
Definition: pdelab.hh:1372
FEM & getFEM()
Definition: pdelab.hh:624
static const int dim
Definition: pdelab.hh:1174
static const int dimworld
Definition: pdelab.hh:1079
GalerkinGlobalAssemblerNewBackend(const FS &fs, LOP &lop, const MBE &mbe)
Definition: pdelab.hh:1413
ISTLSolverBackend_CG_SSOR(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int steps_=5, int verbose_=1)
Definition: pdelab.hh:1777
Dune::PDELab::P0LocalFiniteElementMap< ctype, NT, dim > FEM
Definition: pdelab.hh:1177
CC & getCC()
Definition: pdelab.hh:1111
const GFS & getGFS() const
Definition: pdelab.hh:917
CGCONBase(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:507
GlobalAssembler(const FSU &fsu, const FSV &fsv, LOP &lop)
Definition: pdelab.hh:1522
const LS & getLS() const
Definition: pdelab.hh:1809
const CC & getCC() const
Definition: pdelab.hh:1114
void maskForeignDOFs(X &x) const
Mask out all DOFs not owned by the current process with 0.
Definition: parallelhelper.hh:106
GalerkinGlobalAssembler(const FS &fs, LOP &lop)
Definition: pdelab.hh:1307
T * operator->()
Definition: pdelab.hh:174
void set_nonconstrained_dofs(const CG &cg, typename XG::ElementType x, XG &xg)
Definition: constraints.hh:967
void clearConstraints()
Definition: pdelab.hh:1219
ISTLSolverBackend_ExplicitDiagonal(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1)
Definition: pdelab.hh:1952
LS & getLS()
Definition: pdelab.hh:1932
VBET VBE
Definition: pdelab.hh:988
FEM & getFEM()
Definition: pdelab.hh:910
P0ParallelConstraints CON
Definition: pdelab.hh:749
const GO * operator->() const
Definition: pdelab.hh:1498
T::ctype ctype
Definition: pdelab.hh:782
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:1727
typename impl::BackendVectorSelector< GridFunctionSpace, FieldType >::Type Vector
alias of the return type of BackendVectorSelector
Definition: backend/interface.hh:112
const LS & operator*() const
Definition: pdelab.hh:1961
FEM & getFEM()
Definition: pdelab.hh:1197
const E & e
Definition: interpolate.hh:172
CC & getCC()
Definition: pdelab.hh:647
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:610
ISTLBackend_SEQ_BCGS_SSOR LS
Definition: pdelab.hh:1827
const FEM & getFEM() const
Definition: pdelab.hh:1102
GFS & getGFS()
Definition: pdelab.hh:914
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:681
const LS & operator*() const
Definition: pdelab.hh:1812
CON & getCON()
Definition: pdelab.hh:754
GO & getGO()
Definition: pdelab.hh:1633
const CON & getCON() const
Definition: pdelab.hh:575
const GFS & getGFS() const
Definition: pdelab.hh:641
LS * operator->()
Definition: pdelab.hh:1861
GO & getGO()
Definition: pdelab.hh:1528
static const int dimworld
Definition: pdelab.hh:784
T::ctype ctype
Definition: pdelab.hh:1077
Dune::PDELab::istl::BCRSMatrixBackend MBE
Definition: pdelab.hh:1460
N NT
Definition: pdelab.hh:1176
Backend::Vector< GFS, N > DOF
Definition: pdelab.hh:795
DGCONBase< st > CONB
Definition: pdelab.hh:891
CGCONBase(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:533
Definition: parallelhelper.hh:45
GO & getGO()
Definition: pdelab.hh:1366
const Grid & operator*() const
Definition: pdelab.hh:310
static const int dim
Definition: pdelab.hh:783
LS & getLS()
Definition: pdelab.hh:1758
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:517
Definition: pdelab.hh:1070
Backend::Vector< GFS, N > DOF
Definition: pdelab.hh:1086
static const int dimworld
Definition: pdelab.hh:333
FEM & getFEM()
Definition: pdelab.hh:1005
GO * operator->()
Definition: pdelab.hh:1544
void postGFSHook(const GFS &gfs)
Definition: pdelab.hh:513
LS * operator->()
Definition: pdelab.hh:1761
void clearConstraints()
Definition: pdelab.hh:832
FEM & getFEM()
Definition: pdelab.hh:406
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:669
const GO & getGO() const
Definition: pdelab.hh:1534
const GO & operator*() const
Definition: pdelab.hh:1387
Definition: pdelab.hh:1512
GO * operator->()
Definition: pdelab.hh:1435
N NT
Definition: pdelab.hh:785
Definition: l2orthonormal.hh:254
GO & getGO()
Definition: pdelab.hh:1419
const GO * operator->() const
Definition: pdelab.hh:1659
CON & getCON()
Definition: pdelab.hh:574
Backend::Vector< GFS, N > DOF
Definition: pdelab.hh:990
OneStepGlobalAssembler(GO1 &go1, GO2 &go2)
Definition: pdelab.hh:1627
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:796
const LS & getLS() const
Definition: pdelab.hh:1933
Sequential conjugate gradient solver preconditioned with AMG smoothed by SSOR.
Definition: istl/seqistlsolverbackend.hh:682
CGCONBase(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:455
const LS & getLS() const
Definition: pdelab.hh:1958
const LS & getLS() const
Definition: pdelab.hh:1784
DGCONBase< st > CONB
Definition: pdelab.hh:1178
Standard grid operator implementation.
Definition: gridoperator.hh:34
Dirichlet Constraints construction.
Definition: conforming.hh:36
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:943
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:991
const LS * operator->() const
Definition: pdelab.hh:1962
static const unsigned int value
Definition: gridfunctionspace/tags.hh:175
std::shared_ptr< T > getSharedPtr()
Definition: pdelab.hh:152
LS & operator*()
Definition: pdelab.hh:1934
QkDGLocalFiniteElementMap< ctype, NT, degree, dim > FEM
Definition: pdelab.hh:985
Definition: pdelab.hh:326
const T & operator*() const
Definition: pdelab.hh:371
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:993
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1140
GO::Jacobian MAT
Definition: pdelab.hh:1520
ISTLSolverBackend_CG_SSOR(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int steps_=5, int verbose_=1)
Definition: pdelab.hh:1802
LS * operator->()
Definition: pdelab.hh:1736
NonoverlappingConformingDirichletConstraints< GV > CON
Definition: pdelab.hh:560
leaf of a function tree
Definition: function.hh:576
HangingNodesDirichletConstraints< Grid, HangingNodesConstraintsAssemblers::CubeGridQ1Assembler, BCType > CON
Definition: pdelab.hh:474
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:1181
CGFEMBase(const GV &gridview)
Definition: pdelab.hh:419
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1032
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:992
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:894
T::LeafGridView GV
Definition: pdelab.hh:980
LS * operator->()
Definition: pdelab.hh:1910
Solver to be used for explicit time-steppers with (block-)diagonal mass matrix.
Definition: istl/seqistlsolverbackend.hh:500
CON & getCON()
Definition: pdelab.hh:462
const LS * operator->() const
Definition: pdelab.hh:1738
const LS * operator->() const
Definition: pdelab.hh:1887
Definition: pdelab.hh:441
CON & getCON()
Definition: pdelab.hh:720
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:843
void assembleConstraints(const BCTYPE &bctype)
Definition: pdelab.hh:926
const LS & operator*() const
Definition: pdelab.hh:1911
LS & getLS()
Definition: pdelab.hh:1907
const LS & operator*() const
Definition: pdelab.hh:1787
GO * operator->()
Definition: pdelab.hh:1649
std::shared_ptr< Grid > getSharedPtr()
Definition: pdelab.hh:283
LS & operator*()
Definition: pdelab.hh:1685
void postGFSHook(const GFS &gfs)
Definition: pdelab.hh:461
ISTLBackend_OVLP_BCGS_SSORk< typename FS::GFS, typename FS::CC > LS
Definition: pdelab.hh:1875
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:608
void assembleConstraints(const BCType &bctype)
Definition: pdelab.hh:658
T Grid
Definition: pdelab.hh:780
const LS & getLS() const
Definition: pdelab.hh:1835
const LS * operator->() const
Definition: pdelab.hh:1713
CGCONBase(Grid &grid, const BCType &bctype, const GV &gv)
Definition: pdelab.hh:528
const T & getGrid() const
Definition: pdelab.hh:164
T Grid
Definition: pdelab.hh:1075
Definition: l2orthonormal.hh:254
LS & operator*()
Definition: pdelab.hh:1959
const LS & operator*() const
Definition: pdelab.hh:1712
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:797
CONB::CON CON
Definition: pdelab.hh:792
void assembleConstraints(const BCTYPE &bctype)
Definition: pdelab.hh:826
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1134
void assembleConstraints(const BCTYPE &bctype)
Definition: pdelab.hh:1213
LS * operator->()
Definition: pdelab.hh:1786
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:1085
T Grid
Definition: pdelab.hh:880
const GO & operator*() const
Definition: pdelab.hh:1549
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:989
T::LeafGridView GV
Definition: pdelab.hh:592
GO * operator->()
Definition: pdelab.hh:1597
const LS & getLS() const
Definition: pdelab.hh:1734
Backend::Vector< GFS, N > DOF
Definition: pdelab.hh:895
LS & getLS()
Definition: pdelab.hh:1783
std::enable_if< std::is_base_of< impl::WrapperBase, T >::value, Native< T > & >::type native(T &t)
Definition: backend/interface.hh:198
Definition: pdelab.hh:1823
ISTLBackend_NOVLP_CG_SSORk< typename ASS::GO > LS
Definition: pdelab.hh:1775
LS & operator*()
Definition: pdelab.hh:1860
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1128
const T * operator->() const
Definition: pdelab.hh:184
const LS * operator->() const
Definition: pdelab.hh:1763
GridFunctionTraits< typename FS::GV, typename FS::NT, 1, FieldVector< typename FS::NT, 1 > > Traits
Definition: pdelab.hh:1267
Definition: pdelab.hh:1166
Definition: pdelab.hh:435
T Grid
Definition: pdelab.hh:93
T * operator->()
Definition: pdelab.hh:366
FEMB::FEM FEM
Definition: pdelab.hh:600
const LS & operator*() const
Definition: pdelab.hh:1862
const CON & getCON() const
Definition: pdelab.hh:541
CGCONBase(Grid &grid, const BCType &bctype, const GV &gv)
Definition: pdelab.hh:562
Dune::FieldVector< GV::Grid::ctype, GV::dimension > DomainType
domain type in dim-size coordinates
Definition: function.hh:48
Definition: pdelab.hh:775
T & getGrid()
Definition: pdelab.hh:158
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:896
GO::Jacobian MAT
Definition: pdelab.hh:1625
GO * operator->()
Definition: pdelab.hh:1382
PkLocalFiniteElementMap< GV, C, R, degree > FEM
Definition: pdelab.hh:399
Definition: gridoperator/onestep.hh:14
const LS * operator->() const
Definition: pdelab.hh:1863
static const int dimworld
Definition: pdelab.hh:983
N NT
Definition: pdelab.hh:1080
ISTLMatrixBackend MBE
Definition: pdelab.hh:1569
CGFEMBase(const GV &gridview)
Definition: pdelab.hh:401
const LS & operator*() const
Definition: pdelab.hh:1737
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:757
Solver to be used for explicit time-steppers with (block-)diagonal mass matrix.
Definition: istl/novlpistlsolverbackend.hh:630
Definition: pdelab.hh:436
ISTLSolverBackend_IterativeDefault(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1)
Definition: pdelab.hh:1829
OPBLocalFiniteElementMap< ctype, NT, degree, dim, gt, N, Dune::PB::BasisType::Qk > FEM
Definition: pdelab.hh:889
const CC & getCC() const
Definition: pdelab.hh:823
GO::Jacobian MAT
Definition: pdelab.hh:1358
void clearConstraints()
Definition: pdelab.hh:1027
Dune::PDELab::Backend::Matrix< MB, Domain, Range, JF > Jacobian
The type of the jacobian.
Definition: gridoperator.hh:46
Dune::PDELab::ISTLBackend_CG_AMG_SSOR< typename ASS::GO > LS
Definition: pdelab.hh:1725
CGCONBase(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:481
traits class holding the function signature, same as in local function
Definition: function.hh:175
VBET VBE
Definition: pdelab.hh:793
wrap a GridFunction so it can be used with the VTKWriter from dune-grid.
Definition: vtkexport.hh:22
GO & operator*()
Definition: pdelab.hh:1483
N NT
Definition: pdelab.hh:984
VBET VBE
Definition: pdelab.hh:603
const GO & operator*() const
Definition: pdelab.hh:1334
const CC & getCC() const
Definition: pdelab.hh:1210
GO & operator*()
Definition: pdelab.hh:1377
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:543
Grid & getGrid()
Definition: pdelab.hh:289
VBET VBE
Definition: pdelab.hh:1084
CONB::CON CON
Definition: pdelab.hh:1083
VBET VBE
Definition: pdelab.hh:893
Definition: noconstraints.hh:16
GO & getGO()
Definition: pdelab.hh:1313
const T & getGrid() const
Definition: pdelab.hh:356
Definition: genericdatahandle.hh:622
Traits::Jacobian Jacobian
Definition: gridoperator/onestep.hh:53
static const int dim
Definition: pdelab.hh:95
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:609
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:687
CGSpace(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:613
CON & getCON()
Definition: pdelab.hh:540
void clearConstraints()
Definition: pdelab.hh:664
void assembleConstraints(const BCTYPE &bctype)
Definition: pdelab.hh:1021
const CON & getCON() const
Definition: pdelab.hh:489
CGCONBase< Grid, degree, gt, mt, st, BCType > CONB
Definition: pdelab.hh:598
GO & getGO()
Definition: pdelab.hh:1581
LS & operator*()
Definition: pdelab.hh:1735
LS * operator->()
Definition: pdelab.hh:1960
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:1184
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:491
T Grid
Definition: pdelab.hh:979
const GO & operator*() const
Definition: pdelab.hh:1602
const GFS & getGFS() const
Definition: pdelab.hh:817
void constraints(const GFS &gfs, CG &cg, const bool verbose=false)
construct constraints
Definition: constraints.hh:754
T::LeafGridView GV
Definition: pdelab.hh:881
T::ctype ctype
Definition: pdelab.hh:882
const CON & getCON() const
Definition: pdelab.hh:515
GFS & getGFS()
Definition: pdelab.hh:1201
P0ParallelGhostConstraints CON
Definition: pdelab.hh:732
Definition: adaptivity.hh:27
static const int dim
Definition: pdelab.hh:332
Definition: pdelab.hh:1297
const LS * operator->() const
Definition: pdelab.hh:1813
Dune::PDELab::istl::BCRSMatrixBackend MBE
Definition: pdelab.hh:1407
CGFEMBase< GV, ctype, N, degree, dim, gt > FEMB
Definition: pdelab.hh:597
Dune::PDELab::ISTLBackend_SEQ_CG_AMG_SSOR< typename ASS::GO > LS
Definition: pdelab.hh:1675
T::LeafGridView GV
Definition: pdelab.hh:781
Overlapping parallel CGS solver with SSOR preconditioner.
Definition: istl/ovlpistlsolverbackend.hh:659
const LS & getLS() const
Definition: pdelab.hh:1759
DGCONBase()
Definition: pdelab.hh:750
DGCONBase< st > CONB
Definition: pdelab.hh:986
LS & operator*()
Definition: pdelab.hh:1810
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:1089
Overlapping parallel BiCGStab solver with SSOR preconditioner.
Definition: istl/ovlpistlsolverbackend.hh:593
const GO * operator->() const
Definition: pdelab.hh:1392
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:794
const LS & operator*() const
Definition: pdelab.hh:1838
LS & getLS()
Definition: pdelab.hh:1708
const GO & operator*() const
Definition: pdelab.hh:1654
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:465
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:1410
DGPkSpace(const GV &gridview)
Definition: pdelab.hh:801
void clearConstraints()
Definition: pdelab.hh:1123
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:937
LS * operator->()
Definition: pdelab.hh:1686
Backend using (possibly nested) ISTL BCRSMatrices.
Definition: bcrsmatrixbackend.hh:187
StructuredGrid(Dune::GeometryType::BasicType meshtype, array< double, dimworld > lower_left, array< double, dimworld > upper_right, array< unsigned int, dim > cells, array< bool, dim > periodic, int overlap=1)
Definition: pdelab.hh:252
T & operator*()
Definition: pdelab.hh:361
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:1304
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:1519
LS & getLS()
Definition: pdelab.hh:1808
const CC & getCC() const
Definition: pdelab.hh:923
LS & operator*()
Definition: pdelab.hh:1884
static const int dim
Definition: adaptivity.hh:83
Definition: pdelab.hh:392
const GO * operator->() const
Definition: pdelab.hh:1339
DGQkOPBSpace(const GV &gridview)
Definition: pdelab.hh:901
CC & getCC()
Definition: pdelab.hh:1207
LS * operator->()
Definition: pdelab.hh:1885
ISTLBackend_SEQ_CG_SSOR LS
Definition: pdelab.hh:1750
const LS & getLS() const
Definition: pdelab.hh:1709
Backend for sequential BiCGSTAB solver with SSOR preconditioner.
Definition: istl/seqistlsolverbackend.hh:258
CON & getCON()
Definition: pdelab.hh:514
LS * operator->()
Definition: pdelab.hh:1935
Definition: pdelab.hh:708
const LS & getLS() const
Definition: pdelab.hh:1883
GO & operator*()
Definition: pdelab.hh:1592
const CON & getCON() const
Definition: pdelab.hh:463
GO * operator->()
Definition: pdelab.hh:1488
LS & getLS()
Definition: pdelab.hh:1834
Definition: pdelab.hh:1671
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:723
T Grid
Definition: pdelab.hh:1171
Definition: pdelab.hh:974
const GO & getGO() const
Definition: pdelab.hh:1425
const LS & operator*() const
Definition: pdelab.hh:1762
GV::Traits::template Codim< 0 >::Entity ElementType
codim 0 entity
Definition: function.hh:117
ISTLSolverBackend_IterativeDefault(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1)
Definition: pdelab.hh:1853
const LS * operator->() const
Definition: pdelab.hh:1937
Definition: pdelab.hh:1619
ISTLMatrixBackend MBE
Definition: pdelab.hh:1301
FEM & getFEM()
Definition: pdelab.hh:810
const Grid * operator->() const
Definition: pdelab.hh:315
Backend for sequential conjugate gradient solver with SSOR preconditioner.
Definition: istl/seqistlsolverbackend.hh:345
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1050
Nonoverlapping parallel CG solver preconditioned by block SSOR.
Definition: istl/novlpistlsolverbackend.hh:843
void postGFSHook(const GFS &gfs)
Definition: pdelab.hh:573
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:604
const GO & getGO() const
Definition: pdelab.hh:1478
Definition: qkdggl.hh:353
LS & getLS()
Definition: pdelab.hh:1858
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:1088
Definition: pdelab.hh:587
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:855
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:1087
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:897
MeshType
Definition: pdelab.hh:434
GFS & getGFS()
Definition: pdelab.hh:1009
LS & operator*()
Definition: pdelab.hh:1710
GFS & getGFS()
Definition: pdelab.hh:635
const FEM & getFEM() const
Definition: pdelab.hh:1006
const FEM & getFEM() const
Definition: pdelab.hh:1198
LS * operator->()
Definition: pdelab.hh:1711
const FEM & getFEM() const
Definition: pdelab.hh:425
const CON & getCON() const
Definition: pdelab.hh:755
T Grid
Definition: pdelab.hh:330
GalerkinGlobalAssembler(const FS &fs, LOP &lop)
Definition: pdelab.hh:1360
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:1702
OverlappingConformingDirichletConstraints CON
Definition: pdelab.hh:526
ISTLMatrixBackend MBE
Definition: pdelab.hh:1354
ISTLBackend_OVLP_CG_SSORk< typename FS::GFS, typename FS::CC > LS
Definition: pdelab.hh:1800
static const int dim
Definition: pdelab.hh:883
P0Space(const GV &gridview)
Definition: pdelab.hh:1188
Definition: pdelab.hh:1746
N NT
Definition: pdelab.hh:885
GO & getGO()
Definition: pdelab.hh:1472
LS & getLS()
Definition: pdelab.hh:1733
YaspGrid< dim > Grid
Definition: pdelab.hh:201
VBET VBE
Definition: pdelab.hh:1180
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, true > GO
Definition: pdelab.hh:1572
const FEM & getFEM() const
Definition: pdelab.hh:629
const LS * operator->() const
Definition: pdelab.hh:1688
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:798
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, true > GO
Definition: pdelab.hh:1357
GO & operator*()
Definition: pdelab.hh:1644
R RangeType
range type
Definition: function.hh:60
T::LeafGridView GV
Definition: pdelab.hh:1172
std::shared_ptr< T > getSharedPtr()
Definition: pdelab.hh:344
const GO & operator*() const
Definition: pdelab.hh:1440
Backend::Vector< GFS, N > DOF
Definition: pdelab.hh:1182
Dune::PDELab::ISTLBackend_OVLP_ExplicitDiagonal< typename FS::GFS > LS
Definition: pdelab.hh:1925
Parallel P0 constraints for nonoverlapping grids with ghosts.
Definition: p0ghost.hh:16
ISTLMatrixBackend MBE
Definition: pdelab.hh:1516
FEM & getFEM()
Definition: pdelab.hh:424
LS & operator*()
Definition: pdelab.hh:1760
GO::Jacobian MAT
Definition: pdelab.hh:1573
Definition: pdelab.hh:1896
A grid function space.
Definition: gridfunctionspace.hh:108
GlobalAssembler(const FSU &fsu, const FSV &fsv, LOP &lop)
Definition: pdelab.hh:1575
CONB::CON CON
Definition: pdelab.hh:987
LS & getLS()
Definition: pdelab.hh:1882
const LS & getLS() const
Definition: pdelab.hh:1859
NoConstraints CON
Definition: pdelab.hh:715
GalerkinGlobalAssemblerNewBackend(const FS &fs, LOP &lop, const MBE &mbe)
Definition: pdelab.hh:1466
ISTLSolverBackend_CG_SSOR(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int steps_=5, int verbose_=1)
Definition: pdelab.hh:1752
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:949
CON & getCON()
Definition: pdelab.hh:488
const LS & getLS() const
Definition: pdelab.hh:1684
HangingNodesDirichletConstraints< Grid, HangingNodesConstraintsAssemblers::SimplexGridP1Assembler, BCType > CON
Definition: pdelab.hh:448
Grid * operator->()
Definition: pdelab.hh:305
CC & getCC()
Definition: pdelab.hh:920
StructuredGrid(Dune::GeometryType::BasicType meshtype, array< double, dimworld > lower_left, array< double, dimworld > upper_right, array< unsigned int, dim > cells)
Definition: pdelab.hh:119
ISTLMatrixBackend MBE
Definition: pdelab.hh:1623
UserFunction(const FS &fs_, const Functor &f_)
constructor
Definition: pdelab.hh:1270
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1044
T::ctype ctype
Definition: pdelab.hh:94
N NT
Definition: pdelab.hh:606
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, true > GO
Definition: pdelab.hh:1463
void postGFSHook(const GFS &gfs)
Definition: pdelab.hh:539
ConformingDirichletConstraints CON
Definition: pdelab.hh:500
DGCONBase< st > CONB
Definition: pdelab.hh:1082
const Grid & getGrid() const
Definition: pdelab.hh:295
const GO * operator->() const
Definition: pdelab.hh:1445
StructuredGrid(Dune::GeometryType::BasicType meshtype, array< double, dimworld > lower_left, array< double, dimworld > upper_right, array< unsigned int, dim > cells, int overlap=1)
Definition: pdelab.hh:222
const GO * operator->() const
Definition: pdelab.hh:1554
Dune::PDELab::ISTLBackend_SEQ_ExplicitDiagonal LS
Definition: pdelab.hh:1900
T::ctype ctype
Definition: pdelab.hh:593
const T * operator->() const
Definition: pdelab.hh:376
ISTLBackend_NOVLP_BCGS_Jacobi< typename FS::GFS > LS
Definition: pdelab.hh:1851
Backend using ISTL matrices.
Definition: istl/descriptors.hh:111
T & operator*()
Definition: pdelab.hh:169
Definition: pdelab.hh:875
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:898
void clearConstraints()
Definition: pdelab.hh:932
static const int dimworld
Definition: pdelab.hh:595
DGCONBase()
Definition: pdelab.hh:733
extend conforming constraints class by processor boundary
Definition: conforming.hh:101
const GFS & getGFS() const
Definition: pdelab.hh:1012
LS * operator->()
Definition: pdelab.hh:1837
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1236
LS & operator*()
Definition: pdelab.hh:1909
static const int dim
Definition: pdelab.hh:594
GFS & getGFS()
Definition: pdelab.hh:814
CGCONBase(Grid &grid, const BCType &bctype, const GV &gv)
Definition: pdelab.hh:450
LS & getLS()
Definition: pdelab.hh:1957
void assembleConstraints(const BCTYPE &bctype)
Definition: pdelab.hh:1117
Dune::PDELab::ISTLBackend_NOVLP_CG_AMG_SSOR< typename ASS::GO > LS
Definition: pdelab.hh:1700
const LS & operator*() const
Definition: pdelab.hh:1936
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:1183
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:1275
Overlapping parallel conjugate gradient solver preconditioned with AMG smoothed by SSOR...
Definition: istl/ovlpistlsolverbackend.hh:1100
GO::Jacobian MAT
Definition: pdelab.hh:1305
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1146