19 #include <dune/common/parallel/mpihelper.hh>
20 #include <dune/common/parametertreeparser.hh>
21 #include <dune/common/shared_ptr.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/sgrid.hh>
30 #include <dune/grid/onedgrid.hh>
31 #include <dune/grid/io/file/vtk/subsamplingvtkwriter.hh>
32 #include <dune/grid/yaspgrid.hh>
34 #include <dune/grid/uggrid.hh>
37 #include<dune/grid/albertagrid.hh>
38 #include <dune/grid/albertagrid/dgfparser.hh>
41 #include<dune/grid/uggrid.hh>
44 #include<dune/grid/alugrid.hh>
45 #include<dune/grid/io/file/dgfparser/dgfalu.hh>
46 #include<dune/grid/io/file/dgfparser/dgfparser.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>
96 typedef typename T::ctype
ctype;
97 static const int dim = T::dimension;
103 FieldVector<ctype,dimworld> lowerLeft(0.0);
104 FieldVector<ctype,dimworld> upperRight(1.0);
105 array<unsigned int,dim> elements; elements.fill(cells);
107 StructuredGridFactory<T> factory;
109 if (meshtype==Dune::GeometryType::cube)
110 gridp = factory.createCubeGrid(lowerLeft,upperRight,elements);
111 else if (meshtype==Dune::GeometryType::simplex)
112 gridp = factory.createSimplexGrid(lowerLeft,upperRight,elements);
115 DUNE_THROW(GridError, className<StructuredGrid>()
116 <<
"::StructuredGrid(): grid type must be simplex or cube ");
122 array<double,dimworld> lower_left, array<double,dimworld> upper_right,
123 array<unsigned int,dim> cells)
125 FieldVector<ctype,dimworld> lowerLeft;
126 FieldVector<ctype,dimworld> upperRight;
127 array<unsigned int,dim> elements;
132 lowerLeft[i] = lower_left[i];
133 upperRight[i] = upper_right[i];
135 for (
size_t i=0; i<
dim; i++)
137 elements[i] = cells[i];
140 StructuredGridFactory<T> factory;
142 if (meshtype==Dune::GeometryType::cube)
143 gridp = factory.createCubeGrid(lowerLeft,upperRight,elements);
144 else if (meshtype==Dune::GeometryType::simplex)
145 gridp = factory.createSimplexGrid(lowerLeft,upperRight,elements);
148 DUNE_THROW(GridError, className<StructuredGrid>()
149 <<
"::StructuredGrid(): grid type must be simplex or cube ");
178 return gridp.operator->();
188 return gridp.operator->();
193 Dune::shared_ptr<T> gridp;
208 StructuredGrid (Dune::GeometryType::BasicType meshtype,
unsigned int cells,
int overlap=1)
211 if (meshtype!=Dune::GeometryType::cube)
212 std::cout <<
"StructuredGrid(): element type " << meshtype <<
" is ignored" << std::endl;
215 Dune::FieldVector<double,dimworld> L(1.0);
216 Dune::array<int,dimworld> N(Dune::fill_array<int,dimworld>(cells));
217 std::bitset<dimworld> B(
false);
221 gridp = shared_ptr<Grid>(
new Grid(Dune::MPIHelper::getCommunicator(),L,N,B,overlap));
223 gridp = shared_ptr<Grid>(
new Grid(L,N,B,overlap));
229 array<double,dimworld> lower_left, array<double,dimworld> upper_right,
230 array<unsigned int,dim> cells,
int overlap=1)
234 if(std::abs(lower_left[d]) > std::abs(upper_right[d])*1
e-10)
235 DUNE_THROW(GridError, className<StructuredGrid>()
236 <<
"::createCubeGrid(): The lower coordinates "
237 "must be at the origin for YaspGrid.");
240 if (meshtype!=Dune::GeometryType::cube)
241 std::cout <<
"StructuredGrid(): element type " << meshtype <<
" is ignored" << std::endl;
244 Dune::FieldVector<double,dimworld> L;
245 Dune::array<int,dimworld> N;
246 std::bitset<dimworld> B(
false);
249 L[i] = upper_right[i];
255 gridp = shared_ptr<Grid>(
new Grid(Dune::MPIHelper::getCommunicator(),L,N,B,overlap));
257 gridp = shared_ptr<Grid>(
new Grid(L,N,B,overlap));
263 array<double,dimworld> lower_left, array<double,dimworld> upper_right,
264 array<unsigned int,dim> cells, array<bool,dim> periodic,
int overlap=1)
268 if(std::abs(lower_left[d]) > std::abs(upper_right[d])*1
e-10)
269 DUNE_THROW(GridError, className<StructuredGrid>()
270 <<
"::createCubeGrid(): The lower coordinates "
271 "must be at the origin for YaspGrid.");
274 if (meshtype!=Dune::GeometryType::cube)
275 std::cout <<
"StructuredGrid(): element type " << meshtype <<
" is ignored" << std::endl;
278 Dune::FieldVector<double,dimworld> L;
279 Dune::array<int,dimworld> N;
280 std::bitset<dimworld> B(
false);
283 L[i] = upper_right[i];
290 gridp = shared_ptr<Grid>(
new Grid(Dune::MPIHelper::getCommunicator(),L,N,B,overlap));
292 gridp = shared_ptr<Grid>(
new Grid(L,N,B,overlap));
321 return gridp.operator->();
331 return gridp.operator->();
335 Dune::shared_ptr<Grid> gridp;
346 static const int dim = T::dimension;
350 UnstructuredGrid (std::string filename,
bool verbose =
true,
bool insert_boundary_segments=
true)
352 Dune::GridFactory<T> factory;
353 Dune::GmshReader<T>::read(factory,filename,verbose,insert_boundary_segments);
354 gridp = shared_ptr<T>(factory.createGrid());
382 return gridp.operator->();
392 return gridp.operator->();
396 Dune::shared_ptr<T> gridp;
405 template<
typename GV,
typename C,
typename R,
unsigned int degree,
unsigned int dim, Dune::GeometryType::BasicType gt>
409 template<
typename GV,
typename C,
typename R,
unsigned int degree,
unsigned int dim>
417 femp = shared_ptr<FEM>(
new FEM(gridview));
421 const FEM&
getFEM()
const {
return *femp;}
424 shared_ptr<FEM> femp;
427 template<
typename GV,
typename C,
typename R,
unsigned int degree,
unsigned int dim>
435 femp = shared_ptr<FEM>(
new FEM(gridview));
439 const FEM&
getFEM()
const {
return *femp;}
442 shared_ptr<FEM> femp;
454 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>
458 template<
typename Gr
id,
typename BCType,
typename GV>
464 CGCONBase (Grid& grid,
const BCType& bctype,
const GV& gv)
466 conp = shared_ptr<CON>(
new CON(grid,
true,bctype));
471 conp = shared_ptr<CON>(
new CON(grid,
true,bctype));
474 template<
typename GFS>
477 const CON&
getCON()
const {
return *conp;}
478 template<
typename GFS,
typename DOF>
481 shared_ptr<CON> conp;
484 template<
typename Gr
id,
typename BCType,
typename GV>
490 CGCONBase (Grid& grid,
const BCType& bctype,
const GV& gv)
492 conp = shared_ptr<CON>(
new CON(grid,
true,bctype));
497 conp = shared_ptr<CON>(
new CON(grid,
true,bctype));
500 template<
typename GFS>
503 const CON&
getCON()
const {
return *conp;}
504 template<
typename GFS,
typename DOF>
507 shared_ptr<CON> conp;
510 template<
typename Gr
id,
unsigned int degree, Dune::GeometryType::BasicType gt,
typename BCType,
typename GV>
516 CGCONBase (Grid& grid,
const BCType& bctype,
const GV& gv)
518 conp = shared_ptr<CON>(
new CON());
523 conp = shared_ptr<CON>(
new CON());
526 template<
typename GFS>
529 const CON&
getCON()
const {
return *conp;}
530 template<
typename GFS,
typename DOF>
533 shared_ptr<CON> conp;
536 template<
typename Gr
id,
unsigned int degree, Dune::GeometryType::BasicType gt,
typename BCType,
typename GV>
542 CGCONBase (Grid& grid,
const BCType& bctype,
const GV& gv)
544 conp = shared_ptr<CON>(
new CON());
549 conp = shared_ptr<CON>(
new CON());
552 template<
typename GFS>
555 const CON&
getCON()
const {
return *conp;}
556 template<
typename GFS,
typename DOF>
563 if (gfs.gridView().comm().size()>1)
564 gfs.gridView().communicate(adddh,Dune::InteriorBorder_All_Interface,Dune::ForwardCommunication);
567 shared_ptr<CON> conp;
570 template<
typename Gr
id,
unsigned int degree, Dune::GeometryType::BasicType gt,
typename BCType,
typename GV>
576 CGCONBase (Grid& grid,
const BCType& bctype,
const GV& gv)
578 conp = shared_ptr<CON>(
new CON(gv));
583 conp = shared_ptr<CON>(
new CON(grid.leafGridView()));
586 template<
typename GFS>
589 const CON&
getCON()
const {
return *conp;}
590 template<
typename GFS,
typename DOF>
593 shared_ptr<CON> conp;
598 template<
typename T,
typename N,
unsigned int degree,
typename BCType,
599 Dune::GeometryType::BasicType gt,
MeshType mt, SolverCategory::Category st = SolverCategory::sequential,
600 typename VBET=ISTLVectorBackend<> >
606 typedef typename T::LeafGridView
GV;
608 static const int dim = T::dimension;
614 typedef typename FEMB::FEM
FEM;
615 typedef typename CONB::CON
CON;
623 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
628 : gv(grid.leafGridView()), femb(gv), conb(grid,bctype)
630 gfsp = shared_ptr<GFS>(
new GFS(gv,femb.getFEM(),conb.getCON()));
631 gfsp->name(
"cgspace");
634 conb.postGFSHook(*gfsp);
635 ccp = shared_ptr<CC>(
new CC());
640 return femb.getFEM();
645 return femb.getFEM();
686 conb.make_consistent(*gfsp,x);
692 conb.make_consistent(*gfsp,x);
698 conb.make_consistent(*gfsp,xout);
704 conb.make_consistent(*gfsp,xout);
711 shared_ptr<GFS> gfsp;
721 template<SolverCategory::Category st>
732 conp = shared_ptr<CON>(
new CON());
735 const CON&
getCON()
const {
return *conp;}
736 template<
typename GFS,
typename DOF>
739 shared_ptr<CON> conp;
749 conp = shared_ptr<CON>(
new CON());
752 const CON&
getCON()
const {
return *conp;}
753 template<
typename GFS,
typename DOF>
756 shared_ptr<CON> conp;
766 conp = shared_ptr<CON>(
new CON());
769 const CON&
getCON()
const {
return *conp;}
770 template<
typename GFS,
typename DOF>
777 if (gfs.gridView().comm().size()>1)
778 gfs.gridView().communicate(adddh,Dune::InteriorBorder_All_Interface,Dune::ForwardCommunication);
781 shared_ptr<CON> conp;
786 template<
typename T,
typename N,
unsigned int degree,
787 Dune::GeometryType::BasicType gt, SolverCategory::Category st = SolverCategory::sequential,
795 typedef typename T::LeafGridView
GV;
797 static const int dim = T::dimension;
806 typedef typename CONB::CON
CON;
811 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
817 femp = shared_ptr<FEM>(
new FEM());
818 gfsp = shared_ptr<GFS>(
new GFS(gv,*femp));
821 ccp = shared_ptr<CC>(
new CC());
825 const FEM&
getFEM()
const {
return *femp; }
831 const GFS&
getGFS ()
const {
return *gfsp;}
837 const CC&
getCC ()
const {
return *ccp;}
839 template<
class BCTYPE>
854 conb.make_consistent(*gfsp,x);
860 conb.make_consistent(*gfsp,x);
866 conb.make_consistent(*gfsp,xout);
872 conb.make_consistent(*gfsp,xout);
878 shared_ptr<FEM> femp;
879 shared_ptr<GFS> gfsp;
885 template<
typename T,
typename N,
unsigned int degree,
886 Dune::GeometryType::BasicType gt, SolverCategory::Category st = SolverCategory::sequential,
888 typename VBET=ISTLVectorBackend<> >
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 = shared_ptr<FEM>(
new FEM());
918 gfsp = shared_ptr<GFS>(
new GFS(gv,*femp));
921 ccp = shared_ptr<CC>(
new CC());
925 const FEM&
getFEM()
const {
return *femp; }
931 const GFS&
getGFS ()
const {
return *gfsp;}
937 const CC&
getCC ()
const {
return *ccp;}
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 shared_ptr<FEM> femp;
979 shared_ptr<GFS> gfsp;
985 template<
typename T,
typename N,
unsigned int degree,
986 Dune::GeometryType::BasicType gt, SolverCategory::Category st = SolverCategory::sequential,
994 typedef typename T::LeafGridView
GV;
996 static const int dim = T::dimension;
1001 typedef typename CONB::CON
CON;
1006 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
1012 femp = shared_ptr<FEM>(
new FEM());
1013 gfsp = shared_ptr<GFS>(
new GFS(gv,*femp));
1016 ccp = shared_ptr<CC>(
new CC());
1032 const CC&
getCC ()
const {
return *ccp;}
1034 template<
class BCTYPE>
1049 conb.make_consistent(*gfsp,x);
1055 conb.make_consistent(*gfsp,x);
1061 conb.make_consistent(*gfsp,xout);
1067 conb.make_consistent(*gfsp,xout);
1073 shared_ptr<FEM> femp;
1074 shared_ptr<GFS> gfsp;
1080 template<
typename T,
typename N,
unsigned int degree,
1081 Dune::GeometryType::BasicType gt, SolverCategory::Category st = SolverCategory::sequential,
1083 typename VBET=ISTLVectorBackend<> >
1090 typedef typename T::LeafGridView
GV;
1092 static const int dim = T::dimension;
1097 typedef typename CONB::CON
CON;
1102 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
1108 femp = shared_ptr<FEM>(
new FEM());
1109 gfsp = shared_ptr<GFS>(
new GFS(gv,*femp));
1112 ccp = shared_ptr<CC>(
new CC());
1128 const CC&
getCC ()
const {
return *ccp;}
1130 template<
class BCTYPE>
1145 conb.make_consistent(*gfsp,x);
1151 conb.make_consistent(*gfsp,x);
1157 conb.make_consistent(*gfsp,xout);
1163 conb.make_consistent(*gfsp,xout);
1169 shared_ptr<FEM> femp;
1170 shared_ptr<GFS> gfsp;
1177 template<
typename T,
typename N,
1178 Dune::GeometryType::BasicType gt, SolverCategory::Category st = SolverCategory::sequential,
1179 typename VBET=ISTLVectorBackend<> >
1186 typedef typename T::LeafGridView
GV;
1188 static const int dim = T::dimension;
1193 typedef typename CONB::CON
CON;
1198 typedef typename GFS::template ConstraintsContainer<N>::Type
CC;
1202 P0Space (
const GV& gridview) : gv(gridview), conb()
1204 femp = shared_ptr<FEM>(
new FEM(Dune::GeometryType(gt,dim)));
1205 gfsp = shared_ptr<GFS>(
new GFS(gv,*femp));
1208 ccp = shared_ptr<CC>(
new CC());
1224 const CC&
getCC ()
const {
return *ccp;}
1226 template<
class BCTYPE>
1241 conb.make_consistent(*gfsp,x);
1247 conb.make_consistent(*gfsp,x);
1253 conb.make_consistent(*gfsp,xout);
1259 conb.make_consistent(*gfsp,xout);
1265 shared_ptr<FEM> femp;
1266 shared_ptr<GFS> gfsp;
1273 template<
typename FS,
typename Functor>
1275 :
public GridFunctionBase<GridFunctionTraits<typename FS::GV, typename FS::NT,
1276 1,FieldVector<typename FS::NT,1> >
1277 ,UserFunction<FS,Functor> >
1294 std::vector<double> x__(x.size());
1295 for (
size_t i=0; i<x.size(); ++i) x__[i]=x_[i];
1301 return fs.getGFS().gridView();
1310 template<
typename FS,
typename LOP, SolverCategory::Category st = SolverCategory::sequential>
1317 typename FS::NT,
typename FS::NT,
typename FS::NT,
1318 typename FS::CC,
typename FS::CC>
GO;
1323 gop = shared_ptr<GO>(
new GO(fs.getGFS(),fs.getCC(),fs.getGFS(),fs.getCC(),lop));
1345 return gop.operator->();
1355 return gop.operator->();
1363 template<
typename FS,
typename LOP>
1370 typename FS::NT,
typename FS::NT,
typename FS::NT,
1371 typename FS::CC,
typename FS::CC,
true>
GO;
1376 gop = shared_ptr<GO>(
new GO(fs.getGFS(),fs.getCC(),fs.getGFS(),fs.getCC(),lop));
1398 return gop.operator->();
1408 return gop.operator->();
1416 template<
typename FS,
typename LOP, SolverCategory::Category st = SolverCategory::sequential>
1423 typename FS::NT,
typename FS::NT,
typename FS::NT,
1424 typename FS::CC,
typename FS::CC>
GO;
1429 gop = shared_ptr<GO>(
new GO(fs.getGFS(),fs.getCC(),fs.getGFS(),fs.getCC(),lop,mbe));
1451 return gop.operator->();
1461 return gop.operator->();
1469 template<
typename FS,
typename LOP>
1476 typename FS::NT,
typename FS::NT,
typename FS::NT,
1477 typename FS::CC,
typename FS::CC,
true>
GO;
1482 gop = shared_ptr<GO>(
new GO(fs.getGFS(),fs.getCC(),fs.getGFS(),fs.getCC(),lop,mbe));
1504 return gop.operator->();
1514 return gop.operator->();
1525 template<
typename FSU,
typename FSV,
typename LOP, SolverCategory::Category st>
1532 typename FSU::NT,
typename FSU::NT,
typename FSU::NT,
1533 typename FSU::CC,
typename FSV::CC>
GO;
1538 gop = shared_ptr<GO>(
new GO(fsu.getGFS(),fsu.getCC(),fsv.getGFS(),fsv.getCC(),lop));
1560 return gop.operator->();
1570 return gop.operator->();
1578 template<
typename FSU,
typename FSV,
typename LOP>
1585 typename FSU::NT,
typename FSU::NT,
typename FSU::NT,
1586 typename FSU::CC,
typename FSV::CC,
true>
GO;
1591 gop = shared_ptr<GO>(
new GO(fsu.getGFS(),fsu.getCC(),fsv.getGFS(),fsv.getCC(),lop));
1613 return gop.operator->();
1623 return gop.operator->();
1632 template<
typename GO1,
typename GO2,
bool implicit = true>
1643 gop = shared_ptr<GO>(
new GO(*go1,*go2));
1665 return gop.operator->();
1675 return gop.operator->();
1684 template<
typename FS,
typename ASS, SolverCategory::Category st = SolverCategory::sequential>
1692 int verbose_=1,
bool reuse_=
false,
bool usesuperlu_=
true)
1694 lsp = shared_ptr<LS>(
new LS(maxiter_,verbose_,reuse_,usesuperlu_));
1698 const LS&
getLS ()
const {
return *lsp;}
1709 template<
typename FS,
typename ASS>
1717 int verbose_=1,
bool reuse_=
false,
bool usesuperlu_=
true)
1719 lsp = shared_ptr<LS>(
new LS(fs.getGFS(),maxiter_,verbose_,reuse_,usesuperlu_));
1723 const LS&
getLS ()
const {
return *lsp;}
1734 template<
typename FS,
typename ASS>
1742 int verbose_=1,
bool reuse_=
false,
bool usesuperlu_=
true)
1744 lsp = shared_ptr<LS>(
new LS(fs.getGFS(),maxiter_,verbose_,reuse_,usesuperlu_));
1748 const LS&
getLS ()
const {
return *lsp;}
1759 template<
typename FS,
typename ASS, SolverCategory::Category st = SolverCategory::sequential>
1767 int steps_=5,
int verbose_=1)
1769 lsp = shared_ptr<LS>(
new LS(maxiter_,verbose_));
1773 const LS&
getLS ()
const {
return *lsp;}
1784 template<
typename FS,
typename ASS>
1792 int steps_=5,
int verbose_=1)
1794 lsp = shared_ptr<LS>(
new LS(fs.getGFS(),maxiter_,steps_,verbose_));
1798 const LS&
getLS ()
const {
return *lsp;}
1809 template<
typename FS,
typename ASS>
1817 int steps_=5,
int verbose_=1)
1819 lsp = shared_ptr<LS>(
new LS(fs.getGFS(),fs.getCC(),maxiter_,steps_,verbose_));
1823 const LS&
getLS ()
const {
return *lsp;}
1836 template<
typename FS,
typename ASS, SolverCategory::Category st = SolverCategory::sequential>
1845 lsp = shared_ptr<LS>(
new LS(maxiter_,verbose_));
1849 const LS&
getLS ()
const {
return *lsp;}
1860 template<
typename FS,
typename ASS>
1869 lsp = shared_ptr<LS>(
new LS(fs.getGFS(),maxiter_,verbose_));
1873 const LS&
getLS ()
const {
return *lsp;}
1884 template<
typename FS,
typename ASS>
1893 lsp = shared_ptr<LS>(
new LS(fs.getGFS(),fs.getCC(),maxiter_,3,verbose_));
1897 const LS&
getLS ()
const {
return *lsp;}
1909 template<
typename FS,
typename ASS, SolverCategory::Category st = SolverCategory::sequential>
1918 lsp = shared_ptr<LS>(
new LS());
1922 const LS&
getLS ()
const {
return *lsp;}
1934 template<
typename FS,
typename ASS>
1943 lsp = shared_ptr<LS>(
new LS(fs.getGFS()));
1947 const LS&
getLS ()
const {
return *lsp;}
1959 template<
typename FS,
typename ASS>
1968 lsp = shared_ptr<LS>(
new LS(fs.getGFS()));
1972 const LS&
getLS ()
const {
return *lsp;}
LS * operator->()
Definition: pdelab.hh:1924
const LS * operator->() const
Definition: pdelab.hh:1777
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:951
MeshType
Definition: pdelab.hh:448
const LS & operator*() const
Definition: pdelab.hh:1975
LS & getLS()
Definition: pdelab.hh:1896
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:1741
LS & getLS()
Definition: pdelab.hh:1946
void clearConstraints()
Definition: pdelab.hh:678
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:963
void postGFSHook(const GFS &gfs)
Definition: pdelab.hh:475
void assembleConstraints(const BCTYPE &bctype)
Definition: pdelab.hh:840
GO * operator->()
Definition: pdelab.hh:1396
const LS * operator->() const
Definition: pdelab.hh:1853
const LS & getLS() const
Definition: pdelab.hh:1922
T Grid
Definition: pdelab.hh:993
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1160
N NT
Definition: pdelab.hh:620
static const int dimworld
Definition: pdelab.hh:798
QkDGLocalFiniteElementMap< ctype, NT, degree, dim > FEM
Definition: pdelab.hh:999
const LS * operator->() const
Definition: pdelab.hh:1827
GO & operator*()
Definition: pdelab.hh:1444
void copy_nonconstrained_dofs(const CG &cg, const XG &xgin, XG &xgout)
Definition: common/constraints.hh:976
const LS & operator*() const
Definition: pdelab.hh:1776
NoConstraints CON
Definition: pdelab.hh:729
const CON & getCON() const
Definition: pdelab.hh:529
void copy_constrained_dofs(const CG &cg, const XG &xgin, XG &xgout)
Definition: common/constraints.hh:917
Backend for sequential conjugate gradient solver with SSOR preconditioner.
Definition: seqistlsolverbackend.hh:333
ISTLBackend_NOVLP_BCGS_Jacobi< typename FS::GFS > LS
Definition: pdelab.hh:1865
Grid * operator->()
Definition: pdelab.hh:319
const GFS & getGFS() const
Definition: pdelab.hh:931
Nonoverlapping parallel CG solver preconditioned by block SSOR.
Definition: novlpistlsolverbackend.hh:842
CON & getCON()
Definition: pdelab.hh:751
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1244
Definition: l2orthonormal.hh:247
T::LeafGridView GV
Definition: pdelab.hh:606
Dune::shared_ptr< Grid > getSharedPtr()
Definition: pdelab.hh:297
const GO & operator*() const
Definition: pdelab.hh:1454
GO & operator*()
Definition: pdelab.hh:1338
VBET VBE
Definition: pdelab.hh:807
CONB::CON CON
Definition: pdelab.hh:1193
T::LeafGridView GV
Definition: pdelab.hh:1090
Definition: l2orthonormal.hh:247
const LS & operator*() const
Definition: pdelab.hh:1801
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:479
GO * operator->()
Definition: pdelab.hh:1343
GFS & getGFS()
Definition: pdelab.hh:649
GO & getGO()
Definition: pdelab.hh:1542
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:1586
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:808
const GFS & getGFS() const
Definition: pdelab.hh:1026
void assembleConstraints(const BCTYPE &bctype)
Definition: pdelab.hh:940
OPBLocalFiniteElementMap< ctype, NT, degree, dim, gt > FEM
Definition: pdelab.hh:803
void assembleConstraints(const BCTYPE &bctype)
Definition: pdelab.hh:1035
Definition: pdelab.hh:340
Dune::PDELab::P0LocalFiniteElementMap< ctype, NT, dim > FEM
Definition: pdelab.hh:1191
ISTLSolverBackend_ExplicitDiagonal(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1)
Definition: pdelab.hh:1941
DGPkSpace(const GV &gridview)
Definition: pdelab.hh:815
const CC & getCC() const
Definition: pdelab.hh:837
LS * operator->()
Definition: pdelab.hh:1875
const LS & getLS() const
Definition: pdelab.hh:1723
T & operator*()
Definition: pdelab.hh:171
const CON & getCON() const
Definition: pdelab.hh:477
const T * operator->() const
Definition: pdelab.hh:186
GO * operator->()
Definition: pdelab.hh:1558
GO::Jacobian MAT
Definition: pdelab.hh:1319
T Grid
Definition: pdelab.hh:95
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1052
Definition: parallelhelper.hh:45
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:969
static const int dimworld
Definition: pdelab.hh:898
Overlapping parallel conjugate gradient solver preconditioned with AMG smoothed by SSOR...
Definition: ovlpistlsolverbackend.hh:1066
GO & operator*()
Definition: pdelab.hh:1606
ConformingDirichletConstraints CON
Definition: pdelab.hh:514
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:1371
Definition: pdelab.hh:1837
ISTLMatrixBackend MBE
Definition: pdelab.hh:1583
Definition: pdelab.hh:1311
GO & operator*()
Definition: pdelab.hh:1391
Definition: qkdggl.hh:353
LS * operator->()
Definition: pdelab.hh:1700
FEM & getFEM()
Definition: pdelab.hh:438
const GO & operator*() const
Definition: pdelab.hh:1401
const FEM & getFEM() const
Definition: pdelab.hh:825
GFS & getGFS()
Definition: pdelab.hh:1023
DGQkSpace(const GV &gridview)
Definition: pdelab.hh:1010
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:737
FEM & getFEM()
Definition: pdelab.hh:1211
GalerkinGlobalAssemblerNewBackend(const FS &fs, LOP &lop, const MBE &mbe)
Definition: pdelab.hh:1480
CGFEMBase(const GV &gridview)
Definition: pdelab.hh:415
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:910
const LS * operator->() const
Definition: pdelab.hh:1976
Sequential conjugate gradient solver preconditioned with AMG smoothed by SSOR.
Definition: seqistlsolverbackend.hh:613
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:622
BackendVectorSelectorHelper< Backend, GridFunctionSpace, FieldType >::Type Type
Definition: backendselector.hh:14
V & raw(V &v)
Returns the raw ISTL object associated with v, or v itself it is already an ISTL object.
Definition: backend/istl/utility.hh:26
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:624
void clearConstraints()
Definition: pdelab.hh:1233
Grid & getGrid()
Definition: pdelab.hh:303
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:1318
const GO * operator->() const
Definition: pdelab.hh:1353
const LS & getLS() const
Definition: pdelab.hh:1897
const FS::GV & getGridView() const
Definition: pdelab.hh:1299
T Grid
Definition: pdelab.hh:1089
GO::Jacobian MAT
Definition: pdelab.hh:1587
CON & getCON()
Definition: pdelab.hh:734
Definition: pdelab.hh:1633
const FEM & getFEM() const
Definition: pdelab.hh:643
void clearConstraints()
Definition: pdelab.hh:1041
Dune::PDELab::ISTLBackend_CG_AMG_SSOR< typename ASS::GO > LS
Definition: pdelab.hh:1739
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1148
const GO * operator->() const
Definition: pdelab.hh:1459
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:1006
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:591
const LS * operator->() const
Definition: pdelab.hh:1702
T Grid
Definition: pdelab.hh:605
UserFunction(const FS &fs_, const Functor &f_)
constructor
Definition: pdelab.hh:1284
Solver to be used for explicit time-steppers with (block-)diagonal mass matrix.
Definition: ovlpistlsolverbackend.hh:831
static const int dimworld
Definition: pdelab.hh:1189
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:1198
void set_nonconstrained_dofs(const CG &cg, typename XG::ElementType x, XG &xg)
Definition: common/constraints.hh:943
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:1289
const CON & getCON() const
Definition: pdelab.hh:769
const GO & operator*() const
Definition: pdelab.hh:1348
T * operator->()
Definition: pdelab.hh:380
LS & operator*()
Definition: pdelab.hh:1923
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:1103
Definition: pdelab.hh:1685
const LS & getLS() const
Definition: pdelab.hh:1873
leaf of a function tree
Definition: function.hh:577
StructuredGrid(Dune::GeometryType::BasicType meshtype, array< double, dimworld > lower_left, array< double, dimworld > upper_right, array< unsigned int, dim > cells)
Definition: pdelab.hh:121
Definition: pdelab.hh:1084
LS & operator*()
Definition: pdelab.hh:1824
ISTLSolverBackend_ExplicitDiagonal(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1)
Definition: pdelab.hh:1916
const LS * operator->() const
Definition: pdelab.hh:1901
T::ctype ctype
Definition: pdelab.hh:96
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:857
LS & operator*()
Definition: pdelab.hh:1724
const FEM & getFEM() const
Definition: pdelab.hh:439
traits class holding the function signature, same as in local function
Definition: function.hh:176
static const int dim
Definition: pdelab.hh:996
CGSpace(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:627
Definition: pdelab.hh:722
const FEM & getFEM() const
Definition: pdelab.hh:421
CGCONBase(Grid &grid, const BCType &bctype, const GV &gv)
Definition: pdelab.hh:542
T::ctype ctype
Definition: pdelab.hh:345
const Grid & getGrid() const
Definition: pdelab.hh:309
const LS & getLS() const
Definition: pdelab.hh:1972
LS & getLS()
Definition: pdelab.hh:1921
LS & getLS()
Definition: pdelab.hh:1822
DGCONBase()
Definition: pdelab.hh:764
const GO * operator->() const
Definition: pdelab.hh:1673
HangingNodesDirichletConstraints< Grid, HangingNodesConstraintsAssemblers::SimplexGridP1Assembler, BCType > CON
Definition: pdelab.hh:462
void assembleConstraints(const BCType &bctype)
Definition: pdelab.hh:672
const LS & operator*() const
Definition: pdelab.hh:1876
const LS & getLS() const
Definition: pdelab.hh:1698
A grid function space.
Definition: gridfunctionspace.hh:109
LS & operator*()
Definition: pdelab.hh:1948
ISTLBackend_SEQ_BCGS_SSOR LS
Definition: pdelab.hh:1841
P0ParallelConstraints CON
Definition: pdelab.hh:763
CONB::CON CON
Definition: pdelab.hh:806
T::LeafGridView GV
Definition: pdelab.hh:1186
Definition: genericdatahandle.hh:623
Definition: pdelab.hh:1760
Dune::PDELab::istl::BCRSMatrixBackend MBE
Definition: pdelab.hh:1421
LS * operator->()
Definition: pdelab.hh:1949
wrap a GridFunction so it can be used with the VTKWriter from dune-grid.
Definition: common/vtkexport.hh:22
T::LeafGridView GV
Definition: pdelab.hh:795
GO & operator*()
Definition: pdelab.hh:1553
extend conforming constraints class by processor boundary
Definition: conforming.hh:152
Backend using (possibly nested) ISTL BCRSMatrices.
Definition: bcrsmatrixbackend.hh:187
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1154
LS & getLS()
Definition: pdelab.hh:1797
T::ctype ctype
Definition: pdelab.hh:607
GalerkinGlobalAssembler(const FS &fs, LOP &lop)
Definition: pdelab.hh:1321
ISTLMatrixBackend MBE
Definition: pdelab.hh:1315
LS & getLS()
Definition: pdelab.hh:1772
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:618
Hanging Node constraints construction.
Definition: hangingnode.hh:320
N NT
Definition: pdelab.hh:998
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:1003
CONB::CON CON
Definition: pdelab.hh:1097
Parallel P0 constraints for nonoverlapping grids with ghosts.
Definition: p0ghost.hh:16
PkLocalFiniteElementMap< GV, C, R, degree > FEM
Definition: pdelab.hh:413
BackendVectorSelector< GFS, N >::Type DOF
Definition: pdelab.hh:1100
static const int dim
Definition: pdelab.hh:608
T & operator*()
Definition: pdelab.hh:375
DGQkGLSpace(const GV &gridview)
Definition: pdelab.hh:1106
const Grid * operator->() const
Definition: pdelab.hh:329
VBET VBE
Definition: pdelab.hh:1194
GO & getGO()
Definition: pdelab.hh:1433
T::ctype ctype
Definition: pdelab.hh:796
Definition: adaptivity.hh:26
void postGFSHook(const GFS &gfs)
Definition: pdelab.hh:527
LS & operator*()
Definition: pdelab.hh:1699
OverlappingConformingDirichletConstraints CON
Definition: pdelab.hh:540
CON & getCON()
Definition: pdelab.hh:588
LS & operator*()
Definition: pdelab.hh:1749
ISTLSolverBackend_IterativeDefault(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1)
Definition: pdelab.hh:1843
LS & operator*()
Definition: pdelab.hh:1973
void assembleConstraints(const BCTYPE &bctype)
Definition: pdelab.hh:1131
GlobalAssembler(const FSU &fsu, const FSV &fsv, LOP &lop)
Definition: pdelab.hh:1536
Definition: pdelab.hh:601
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1058
T * operator->()
Definition: pdelab.hh:176
ISTLBackend_SEQ_CG_SSOR LS
Definition: pdelab.hh:1764
ISTLBackend_OVLP_CG_SSORk< typename FS::GFS, typename FS::CC > LS
Definition: pdelab.hh:1814
CGCONBase(Grid &grid, const BCType &bctype, const GV &gv)
Definition: pdelab.hh:490
const LS & operator*() const
Definition: pdelab.hh:1950
N NT
Definition: pdelab.hh:1190
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:754
OPBLocalFiniteElementMap< ctype, NT, degree, dim, gt, N, Dune::PB::BasisType::Qk > FEM
Definition: pdelab.hh:903
CC & getCC()
Definition: pdelab.hh:1125
static const int dim
Definition: pdelab.hh:97
Backend for sequential BiCGSTAB solver with SSOR preconditioner.
Definition: seqistlsolverbackend.hh:246
const CC & getCC() const
Definition: pdelab.hh:1224
GO & operator*()
Definition: pdelab.hh:1658
LS * operator->()
Definition: pdelab.hh:1800
LS & getLS()
Definition: pdelab.hh:1872
BackendVectorSelector< GFS, N >::Type DOF
Definition: pdelab.hh:621
DGCONBase< st > CONB
Definition: pdelab.hh:1192
GO & getGO()
Definition: pdelab.hh:1380
T::ctype ctype
Definition: pdelab.hh:995
Definition: gridoperator/onestep.hh:14
FEM & getFEM()
Definition: pdelab.hh:1115
GO & operator*()
Definition: pdelab.hh:1497
Definition: pdelab.hh:1417
const GO & getGO() const
Definition: pdelab.hh:1492
static const int dim
Definition: pdelab.hh:1188
extend conforming constraints class by processor boundary
Definition: conforming.hh:101
CGCONBase(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:581
void clearConstraints()
Definition: pdelab.hh:846
const FEM & getFEM() const
Definition: pdelab.hh:1020
VBET VBE
Definition: pdelab.hh:1002
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:623
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:810
CGCONBase(Grid &grid, const BCType &bctype, const GV &gv)
Definition: pdelab.hh:576
GO & getGO()
Definition: pdelab.hh:1327
ISTLBackend_OVLP_BCGS_SSORk< typename FS::GFS, typename FS::CC > LS
Definition: pdelab.hh:1889
Grid & operator*()
Definition: pdelab.hh:314
Dune::PDELab::ISTLBackend_NOVLP_CG_AMG_SSOR< typename ASS::GO > LS
Definition: pdelab.hh:1714
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:1716
const LS * operator->() const
Definition: pdelab.hh:1926
const T & getGrid() const
Definition: pdelab.hh:370
const T & operator*() const
Definition: pdelab.hh:181
ISTLMatrixBackend MBE
Definition: pdelab.hh:1368
static const int dim
Definition: pdelab.hh:897
const LS & getLS() const
Definition: pdelab.hh:1849
const LS & getLS() const
Definition: pdelab.hh:1798
T::LeafGridView GV
Definition: pdelab.hh:895
convert a grid function space and a coefficient vector into a grid function
Definition: gridfunctionspaceutilities.hh:54
T::ctype ctype
Definition: pdelab.hh:896
const GO & getGO() const
Definition: pdelab.hh:1548
LS * operator->()
Definition: pdelab.hh:1825
ISTLSolverBackend_IterativeDefault(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1)
Definition: pdelab.hh:1891
UnstructuredGrid(std::string filename, bool verbose=true, bool insert_boundary_segments=true)
Definition: pdelab.hh:350
Definition: pdelab.hh:1180
void constraints(const GFS &gfs, CG &cg, const bool verbose=false)
construct constraints
Definition: common/constraints.hh:723
CGFEMBase(const GV &gridview)
Definition: pdelab.hh:433
static const int dim
Definition: adaptivity.hh:82
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:262
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:771
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:1533
T & getGrid()
Definition: pdelab.hh:364
const CON & getCON() const
Definition: pdelab.hh:735
Dune::PDELab::ISTLBackend_SEQ_CG_AMG_SSOR< typename ASS::GO > LS
Definition: pdelab.hh:1689
const E & e
Definition: interpolate.hh:172
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:869
const GO * operator->() const
Definition: pdelab.hh:1406
Overlapping parallel BiCGStab solver with SSOR preconditioner.
Definition: ovlpistlsolverbackend.hh:571
Definition: pdelab.hh:988
CC & getCC()
Definition: pdelab.hh:834
BackendVectorSelector< GFS, N >::Type DOF
Definition: pdelab.hh:909
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:689
FEM & getFEM()
Definition: pdelab.hh:924
Definition: pdelab.hh:1274
StructuredGrid(Dune::GeometryType::BasicType meshtype, unsigned int cells, int overlap=1)
Definition: pdelab.hh:208
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:228
const GO * operator->() const
Definition: pdelab.hh:1512
const T * operator->() const
Definition: pdelab.hh:390
OneStepGlobalAssembler(GO1 &go1, GO2 &go2)
Definition: pdelab.hh:1641
GO::Jacobian MAT
Definition: pdelab.hh:1534
GV::Traits::template Codim< 0 >::Entity ElementType
codim 0 entity
Definition: function.hh:118
ISTLMatrixBackend MBE
Definition: pdelab.hh:1637
ISTLSolverBackend_CG_SSOR(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int steps_=5, int verbose_=1)
Definition: pdelab.hh:1766
CGCONBase(Grid &grid, const BCType &bctype, const GV &gv)
Definition: pdelab.hh:464
ISTLSolverBackend_ExplicitDiagonal(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1)
Definition: pdelab.hh:1966
GalerkinGlobalAssembler(const FS &fs, LOP &lop)
Definition: pdelab.hh:1374
Dirichlet Constraints construction.
Definition: conforming.hh:36
const LS & getLS() const
Definition: pdelab.hh:1947
CC & getCC()
Definition: pdelab.hh:934
DGQkOPBSpace(const GV &gridview)
Definition: pdelab.hh:915
CC & getCC()
Definition: pdelab.hh:1221
const CON & getCON() const
Definition: pdelab.hh:752
QkLocalFiniteElementMap< GV, C, R, degree > FEM
Definition: pdelab.hh:431
GO * operator->()
Definition: pdelab.hh:1502
CON & getCON()
Definition: pdelab.hh:528
ISTLSolverBackend_CG_SSOR(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int steps_=5, int verbose_=1)
Definition: pdelab.hh:1791
T Grid
Definition: pdelab.hh:1185
Dune::PDELab::OneStepGridOperator< typename GO1::GO, typename GO2::GO, implicit > GO
Definition: pdelab.hh:1638
const GO * operator->() const
Definition: pdelab.hh:1621
CGFEMBase< GV, ctype, N, degree, dim, gt > FEMB
Definition: pdelab.hh:611
DGCONBase< st > CONB
Definition: pdelab.hh:905
NonoverlappingConformingDirichletConstraints< GV > CON
Definition: pdelab.hh:574
FEM & getFEM()
Definition: pdelab.hh:824
T Grid
Definition: pdelab.hh:894
static const int dim
Definition: pdelab.hh:797
GO::Jacobian MAT
Definition: pdelab.hh:1478
Definition: pdelab.hh:789
T::LeafGridView GV
Definition: pdelab.hh:994
void postGFSHook(const GFS &gfs)
Definition: pdelab.hh:587
const LS & getLS() const
Definition: pdelab.hh:1823
const LS & operator*() const
Definition: pdelab.hh:1900
CGCONBase(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:521
Definition: pdelab.hh:455
FEM & getFEM()
Definition: pdelab.hh:1019
LS * operator->()
Definition: pdelab.hh:1775
static const int dimworld
Definition: pdelab.hh:609
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:683
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:912
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:911
const FEM & getFEM() const
Definition: pdelab.hh:1212
DGCONBase< st > CONB
Definition: pdelab.hh:805
YaspGrid< dim > Grid
Definition: pdelab.hh:203
CC & getCC()
Definition: pdelab.hh:1029
void postGFSHook(const GFS &gfs)
Definition: pdelab.hh:501
Definition: noconstraints.hh:16
StructuredGrid(Dune::GeometryType::BasicType meshtype, unsigned int cells)
Definition: pdelab.hh:101
Dune::FieldVector< GV::Grid::ctype, GV::dimension > DomainType
domain type in dim-size coordinates
Definition: function.hh:49
const LS * operator->() const
Definition: pdelab.hh:1877
GO * operator->()
Definition: pdelab.hh:1663
P0ParallelGhostConstraints CON
Definition: pdelab.hh:746
CGCONBase< Grid, degree, gt, mt, st, BCType > CONB
Definition: pdelab.hh:612
GO * operator->()
Definition: pdelab.hh:1611
const Grid & operator*() const
Definition: pdelab.hh:324
const GO & operator*() const
Definition: pdelab.hh:1563
const FEM & getFEM() const
Definition: pdelab.hh:1116
void setNonConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:957
const CON & getCON() const
Definition: pdelab.hh:503
static const int dimworld
Definition: pdelab.hh:997
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:1005
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:811
const GFS & getGFS() const
Definition: pdelab.hh:1122
ISTLMatrixBackend MBE
Definition: pdelab.hh:1530
const LS & operator*() const
Definition: pdelab.hh:1701
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1250
static const unsigned int value
Definition: gridfunctionspace/tags.hh:175
const GO & getGO() const
Definition: pdelab.hh:1386
P0Space(const GV &gridview)
Definition: pdelab.hh:1202
T Grid
Definition: pdelab.hh:794
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:1099
const T & operator*() const
Definition: pdelab.hh:385
GalerkinGlobalAssemblerNewBackend(const FS &fs, LOP &lop, const MBE &mbe)
Definition: pdelab.hh:1427
T & getGrid()
Definition: pdelab.hh:160
Solver to be used for explicit time-steppers with (block-)diagonal mass matrix.
Definition: novlpistlsolverbackend.hh:629
void postGFSHook(const GFS &gfs)
Definition: pdelab.hh:553
LS * operator->()
Definition: pdelab.hh:1750
static const int dim
Definition: pdelab.hh:1092
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:908
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:812
CGCONBase(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:547
const LS & getLS() const
Definition: pdelab.hh:1773
static const int dimworld
Definition: pdelab.hh:347
ISTLSolverBackend_IterativeDefault(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int verbose_=1)
Definition: pdelab.hh:1867
Solver to be used for explicit time-steppers with (block-)diagonal mass matrix.
Definition: seqistlsolverbackend.hh:433
const LS & getLS() const
Definition: pdelab.hh:1748
void assembleConstraints(const BCTYPE &bctype)
Definition: pdelab.hh:1227
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1142
Parallel P0 constraints for overlapping grids.
Definition: p0.hh:15
void clearConstraints()
Definition: pdelab.hh:1137
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:531
DGCONBase()
Definition: pdelab.hh:730
CONB::CON CON
Definition: pdelab.hh:906
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:1101
Dune::PDELab::DiscreteGridFunction< GFS, DOF > DGF
Definition: pdelab.hh:1197
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:701
const GO * operator->() const
Definition: pdelab.hh:1568
CON & getCON()
Definition: pdelab.hh:502
static const int dim
Definition: pdelab.hh:346
const LS & operator*() const
Definition: pdelab.hh:1925
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1256
Dune::shared_ptr< T > getSharedPtr()
Definition: pdelab.hh:358
N NT
Definition: pdelab.hh:1094
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:695
Definition: pdelab.hh:1526
Definition: pdelab.hh:450
const CC & getCC() const
Definition: pdelab.hh:667
T::ctype ctype
Definition: pdelab.hh:1187
Definition: pdelab.hh:406
const LS & operator*() const
Definition: pdelab.hh:1726
Nonoverlapping parallel BiCGStab solver with Jacobi preconditioner.
Definition: novlpistlsolverbackend.hh:554
static const int dimworld
Definition: pdelab.hh:1093
Dune::PDELab::BackendMatrixSelector< MB, Domain, Range, JF >::Type Jacobian
The type of the jacobian.
Definition: gridoperator.hh:46
Dune::PDELab::istl::BCRSMatrixBackend MBE
Definition: pdelab.hh:1474
LS & getLS()
Definition: pdelab.hh:1848
CON & getCON()
Definition: pdelab.hh:768
GO::Jacobian MAT
Definition: pdelab.hh:1425
VBET VBE
Definition: pdelab.hh:1098
LS & operator*()
Definition: pdelab.hh:1799
BackendVectorSelector< GFS, N >::Type DOF
Definition: pdelab.hh:809
DGCONBase< st > CONB
Definition: pdelab.hh:1000
Grid::ctype ctype
Definition: pdelab.hh:204
Dune::PDELab::ISTLBackend_SEQ_ExplicitDiagonal LS
Definition: pdelab.hh:1914
const GO & operator*() const
Definition: pdelab.hh:1668
const T & getGrid() const
Definition: pdelab.hh:166
void clearConstraints()
Definition: pdelab.hh:946
Dune::PDELab::ISTLBackend_OVLP_ExplicitDiagonal< typename FS::GFS > LS
Definition: pdelab.hh:1939
Traits::Jacobian Jacobian
Definition: gridoperator/onestep.hh:53
LS & getLS()
Definition: pdelab.hh:1722
FEMB::FEM FEM
Definition: pdelab.hh:614
LS * operator->()
Definition: pdelab.hh:1725
GO * operator->()
Definition: pdelab.hh:1449
Backend using ISTL matrices.
Definition: istl/descriptors.hh:69
GFS & getGFS()
Definition: pdelab.hh:1119
const GFS & getGFS() const
Definition: pdelab.hh:1218
static const int dimworld
Definition: pdelab.hh:98
Dune::PDELab::ISTLBackend_NOVLP_ExplicitDiagonal< typename FS::GFS > LS
Definition: pdelab.hh:1964
GFS & getGFS()
Definition: pdelab.hh:828
const CC & getCC() const
Definition: pdelab.hh:937
const GO & getGO() const
Definition: pdelab.hh:1601
LS & operator*()
Definition: pdelab.hh:1898
void maskForeignDOFs(X &x) const
Mask out all DOFs not owned by the current process with 0.
Definition: parallelhelper.hh:106
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:1691
GlobalAssembler(const FSU &fsu, const FSV &fsv, LOP &lop)
Definition: pdelab.hh:1589
const LS & operator*() const
Definition: pdelab.hh:1826
LS * operator->()
Definition: pdelab.hh:1974
CGCONBase(Grid &grid, const BCType &bctype, const GV &gv)
Definition: pdelab.hh:516
CONB::CON CON
Definition: pdelab.hh:615
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:1477
void copyConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:863
Definition: pdelab.hh:449
GO & getGO()
Definition: pdelab.hh:1647
const LS & operator*() const
Definition: pdelab.hh:1751
const CON & getCON() const
Definition: pdelab.hh:589
const CC & getCC() const
Definition: pdelab.hh:1032
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:505
const GFS & getGFS() const
Definition: pdelab.hh:655
GO & getGO()
Definition: pdelab.hh:1486
T::ctype ctype
Definition: pdelab.hh:1091
LS & getLS()
Definition: pdelab.hh:1747
HangingNodesDirichletConstraints< Grid, HangingNodesConstraintsAssemblers::CubeGridQ1Assembler, BCType > CON
Definition: pdelab.hh:488
GO::Jacobian MAT
Definition: pdelab.hh:1372
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:1007
DGCONBase()
Definition: pdelab.hh:747
void set_constrained_dofs(const CG &cg, typename XG::ElementType x, XG &xg)
construct constraints from given boundary condition function
Definition: common/constraints.hh:772
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1046
GO & getGO()
Definition: pdelab.hh:1595
GridFunctionSpace< GV, FEM, CON, VBE > GFS
Definition: pdelab.hh:1195
void copyNonConstrainedDOFS(const DOF &xin, DOF &xout) const
Definition: pdelab.hh:1064
Definition: pdelab.hh:889
CGCONBase(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:495
const GO & operator*() const
Definition: pdelab.hh:1616
N NT
Definition: pdelab.hh:799
ISTLBackend_NOVLP_CG_SSORk< typename ASS::GO > LS
Definition: pdelab.hh:1789
R RangeType
range type
Definition: function.hh:61
LS & operator*()
Definition: pdelab.hh:1874
const LS * operator->() const
Definition: pdelab.hh:1951
VBET VBE
Definition: pdelab.hh:907
LS * operator->()
Definition: pdelab.hh:1851
const LS * operator->() const
Definition: pdelab.hh:1752
LS & operator*()
Definition: pdelab.hh:1850
const LS * operator->() const
Definition: pdelab.hh:1802
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:1424
void make_consistent(const GFS &gfs, DOF &x) const
Definition: pdelab.hh:557
GFS & getGFS()
Definition: pdelab.hh:1215
const LS & operator*() const
Definition: pdelab.hh:1852
BackendVectorSelector< GFS, N >::Type DOF
Definition: pdelab.hh:1004
BackendVectorSelector< GFS, N >::Type DOF
Definition: pdelab.hh:1196
LS & getLS()
Definition: pdelab.hh:1971
CONB::CON CON
Definition: pdelab.hh:1001
Dune::shared_ptr< T > getSharedPtr()
Definition: pdelab.hh:154
const GO & getGO() const
Definition: pdelab.hh:1333
Standard grid operator implementation.
Definition: gridoperator.hh:34
CGCONBase(Grid &grid, const BCType &bctype)
Definition: pdelab.hh:469
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:1238
GO::Jacobian MAT
Definition: pdelab.hh:1639
CC & getCC()
Definition: pdelab.hh:661
const FEM & getFEM() const
Definition: pdelab.hh:925
CON & getCON()
Definition: pdelab.hh:554
const LS * operator->() const
Definition: pdelab.hh:1727
LS * operator->()
Definition: pdelab.hh:1899
GFS & getGFS()
Definition: pdelab.hh:928
const GO & getGO() const
Definition: pdelab.hh:1653
const CON & getCON() const
Definition: pdelab.hh:555
const GFS & getGFS() const
Definition: pdelab.hh:831
Definition: pdelab.hh:1910
N NT
Definition: pdelab.hh:899
GridFunctionTraits< typename FS::GV, typename FS::NT, 1, FieldVector< typename FS::NT, 1 > > Traits
Definition: pdelab.hh:1281
DGCONBase< st > CONB
Definition: pdelab.hh:1096
FEM & getFEM()
Definition: pdelab.hh:638
void setConstrainedDOFS(DOF &x, NT nt) const
Definition: pdelab.hh:851
LS & getLS()
Definition: pdelab.hh:1697
const GO & getGO() const
Definition: pdelab.hh:1439
ISTLSolverBackend_CG_SSOR(const FS &fs, const ASS &ass, unsigned maxiter_=5000, int steps_=5, int verbose_=1)
Definition: pdelab.hh:1816
Overlapping parallel CGS solver with SSOR preconditioner.
Definition: ovlpistlsolverbackend.hh:637
const GO & operator*() const
Definition: pdelab.hh:1507
T Grid
Definition: pdelab.hh:344
QkDGGLLocalFiniteElementMap< ctype, NT, degree, dim > FEM
Definition: pdelab.hh:1095
FEM & getFEM()
Definition: pdelab.hh:420
VTKGridFunctionAdapter< DGF > VTKF
Definition: pdelab.hh:1199
GFS::template ConstraintsContainer< N >::Type CC
Definition: pdelab.hh:1102
const CC & getCC() const
Definition: pdelab.hh:1128
VBET VBE
Definition: pdelab.hh:617
Nonoverlapping parallel CG solver preconditioned with AMG smoothed by SSOR.
Definition: novlpistlsolverbackend.hh:1045
CON & getCON()
Definition: pdelab.hh:476
LS & operator*()
Definition: pdelab.hh:1774