Skip to content
Snippets Groups Projects
Commit 6cdc18ca authored by Sander, Oliver's avatar Sander, Oliver
Browse files

Do not use the dune-function method basis.indexSet()

It has been removed from dune-functions in the last release
(at least).
parent acd17b13
No related branches found
No related tags found
No related merge requests found
Pipeline #
...@@ -18,7 +18,7 @@ assembleGradient(const std::vector<RigidBodyMotion<double,3> >& sol, ...@@ -18,7 +18,7 @@ assembleGradient(const std::vector<RigidBodyMotion<double,3> >& sol,
{ {
using namespace Dune; using namespace Dune;
if (sol.size()!=this->basis_.indexSet().size()) if (sol.size()!=this->basis_.size())
DUNE_THROW(Exception, "Solution vector doesn't match the grid!"); DUNE_THROW(Exception, "Solution vector doesn't match the grid!");
grad.resize(sol.size()); grad.resize(sol.size());
...@@ -26,7 +26,7 @@ assembleGradient(const std::vector<RigidBodyMotion<double,3> >& sol, ...@@ -26,7 +26,7 @@ assembleGradient(const std::vector<RigidBodyMotion<double,3> >& sol,
// A view on the FE basis on a single element // A view on the FE basis on a single element
auto localView = this->basis_.localView(); auto localView = this->basis_.localView();
auto localIndexSet = this->basis_.indexSet().localIndexSet(); auto localIndexSet = this->basis_.localIndexSet();
ElementIterator it = this->basis_.gridView().template begin<0>(); ElementIterator it = this->basis_.gridView().template begin<0>();
ElementIterator endIt = this->basis_.gridView().template end<0>(); ElementIterator endIt = this->basis_.gridView().template end<0>();
......
...@@ -47,7 +47,7 @@ public: ...@@ -47,7 +47,7 @@ public:
RodLocalStiffness<GridView,double>* localStiffness) RodLocalStiffness<GridView,double>* localStiffness)
: GeodesicFEAssembler<Basis, RigidBodyMotion<double,3> >(basis,localStiffness) : GeodesicFEAssembler<Basis, RigidBodyMotion<double,3> >(basis,localStiffness)
{ {
std::vector<RigidBodyMotion<double,3> > referenceConfiguration(basis.indexSet().size()); std::vector<RigidBodyMotion<double,3> > referenceConfiguration(basis.size());
auto it = basis.gridView().template begin<gridDim>(); auto it = basis.gridView().template begin<gridDim>();
auto endIt = basis.gridView().template end<gridDim>(); auto endIt = basis.gridView().template end<gridDim>();
......
...@@ -170,7 +170,7 @@ int main (int argc, char *argv[]) try ...@@ -170,7 +170,7 @@ int main (int argc, char *argv[]) try
BoundaryPatch<GridType::LeafGridView> dirichletBoundary(grid->leafGridView(), dirichletVertices); BoundaryPatch<GridType::LeafGridView> dirichletBoundary(grid->leafGridView(), dirichletVertices);
BitSetVector<blocksize> dirichletNodes(feBasis.indexSet().size(), false); BitSetVector<blocksize> dirichletNodes(feBasis.size(), false);
constructBoundaryDofs(dirichletBoundary,fufemFeBasis,dirichletNodes); constructBoundaryDofs(dirichletBoundary,fufemFeBasis,dirichletNodes);
//////////////////////////// ////////////////////////////
...@@ -186,7 +186,7 @@ int main (int argc, char *argv[]) try ...@@ -186,7 +186,7 @@ int main (int argc, char *argv[]) try
std::vector<TargetSpace::CoordinateType> v; std::vector<TargetSpace::CoordinateType> v;
::Functions::interpolate(fufemFeBasis, v, *pythonInitialIterate); ::Functions::interpolate(fufemFeBasis, v, *pythonInitialIterate);
SolutionType x(feBasis.indexSet().size()); SolutionType x(feBasis.size());
for (size_t i=0; i<x.size(); i++) for (size_t i=0; i<x.size(); i++)
x[i] = v[i]; x[i] = v[i];
......
...@@ -170,7 +170,7 @@ int main (int argc, char *argv[]) try ...@@ -170,7 +170,7 @@ int main (int argc, char *argv[]) try
std::cout << "Deformation: " << deformationFEBasis.indexSet().size() << ", orientation: " << orientationFEBasis.indexSet().size() << std::endl; std::cout << "Deformation: " << deformationFEBasis.size() << ", orientation: " << orientationFEBasis.size() << std::endl;
// ///////////////////////////////////////// // /////////////////////////////////////////
// Read Dirichlet values // Read Dirichlet values
...@@ -208,7 +208,7 @@ int main (int argc, char *argv[]) try ...@@ -208,7 +208,7 @@ int main (int argc, char *argv[]) try
BoundaryPatch<GridView> dirichletBoundary(gridView, dirichletVertices); BoundaryPatch<GridView> dirichletBoundary(gridView, dirichletVertices);
BoundaryPatch<GridView> neumannBoundary(gridView, neumannVertices); BoundaryPatch<GridView> neumannBoundary(gridView, neumannVertices);
BitSetVector<1> neumannNodes(deformationFEBasis.indexSet().size(), false); BitSetVector<1> neumannNodes(deformationFEBasis.size(), false);
constructBoundaryDofs(neumannBoundary,fufemDeformationFEBasis,neumannNodes); constructBoundaryDofs(neumannBoundary,fufemDeformationFEBasis,neumannNodes);
...@@ -216,20 +216,20 @@ int main (int argc, char *argv[]) try ...@@ -216,20 +216,20 @@ int main (int argc, char *argv[]) try
std::cout << "Neumann boundary has " << neumannBoundary.numFaces() << " faces\n"; std::cout << "Neumann boundary has " << neumannBoundary.numFaces() << " faces\n";
BitSetVector<1> deformationDirichletNodes(deformationFEBasis.indexSet().size(), false); BitSetVector<1> deformationDirichletNodes(deformationFEBasis.size(), false);
constructBoundaryDofs(dirichletBoundary,fufemDeformationFEBasis,deformationDirichletNodes); constructBoundaryDofs(dirichletBoundary,fufemDeformationFEBasis,deformationDirichletNodes);
BitSetVector<3> deformationDirichletDofs(deformationFEBasis.indexSet().size(), false); BitSetVector<3> deformationDirichletDofs(deformationFEBasis.size(), false);
for (size_t i=0; i<deformationFEBasis.indexSet().size(); i++) for (size_t i=0; i<deformationFEBasis.size(); i++)
if (deformationDirichletNodes[i][0]) if (deformationDirichletNodes[i][0])
for (int j=0; j<3; j++) for (int j=0; j<3; j++)
deformationDirichletDofs[i][j] = true; deformationDirichletDofs[i][j] = true;
BitSetVector<1> orientationDirichletNodes(orientationFEBasis.indexSet().size(), false); BitSetVector<1> orientationDirichletNodes(orientationFEBasis.size(), false);
constructBoundaryDofs(dirichletBoundary,fufemOrientationFEBasis,orientationDirichletNodes); constructBoundaryDofs(dirichletBoundary,fufemOrientationFEBasis,orientationDirichletNodes);
BitSetVector<3> orientationDirichletDofs(orientationFEBasis.indexSet().size(), false); BitSetVector<3> orientationDirichletDofs(orientationFEBasis.size(), false);
for (size_t i=0; i<orientationFEBasis.indexSet().size(); i++) for (size_t i=0; i<orientationFEBasis.size(); i++)
if (orientationDirichletNodes[i][0]) if (orientationDirichletNodes[i][0])
for (int j=0; j<3; j++) for (int j=0; j<3; j++)
orientationDirichletDofs[i][j] = true; orientationDirichletDofs[i][j] = true;
...@@ -240,7 +240,7 @@ int main (int argc, char *argv[]) try ...@@ -240,7 +240,7 @@ int main (int argc, char *argv[]) try
SolutionType x; SolutionType x;
x[_0].resize(deformationFEBasis.indexSet().size()); x[_0].resize(deformationFEBasis.size());
lambda = std::string("lambda x: (") + parameterSet.get<std::string>("initialDeformation") + std::string(")"); lambda = std::string("lambda x: (") + parameterSet.get<std::string>("initialDeformation") + std::string(")");
PythonFunction<FieldVector<double,dim>, FieldVector<double,3> > pythonInitialDeformation(Python::evaluate(lambda)); PythonFunction<FieldVector<double,dim>, FieldVector<double,3> > pythonInitialDeformation(Python::evaluate(lambda));
...@@ -251,7 +251,7 @@ int main (int argc, char *argv[]) try ...@@ -251,7 +251,7 @@ int main (int argc, char *argv[]) try
for (size_t i=0; i<x[_0].size(); i++) for (size_t i=0; i<x[_0].size(); i++)
x[_0][i] = v[i]; x[_0][i] = v[i];
x[_1].resize(orientationFEBasis.indexSet().size()); x[_1].resize(orientationFEBasis.size());
#if 0 #if 0
lambda = std::string("lambda x: (") + parameterSet.get<std::string>("initialDeformation") + std::string(")"); lambda = std::string("lambda x: (") + parameterSet.get<std::string>("initialDeformation") + std::string(")");
PythonFunction<FieldVector<double,dim>, FieldVector<double,3> > pythonInitialDeformation(Python::evaluate(lambda)); PythonFunction<FieldVector<double,dim>, FieldVector<double,3> > pythonInitialDeformation(Python::evaluate(lambda));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment