Skip to content
Snippets Groups Projects
Commit 7f526360 authored by Oliver Sander's avatar Oliver Sander Committed by sander@PCPOOL.MI.FU-BERLIN.DE
Browse files

get rid of the polOrd template parameter of PlanarRodAssembler

[[Imported from SVN: r5692]]
parent 006ef150
No related branches found
No related tags found
No related merge requests found
...@@ -152,11 +152,12 @@ int main (int argc, char *argv[]) try ...@@ -152,11 +152,12 @@ int main (int argc, char *argv[]) try
// ////////////////////////// // //////////////////////////
for (int i=0; i<x.size(); i++) { for (int i=0; i<x.size(); i++) {
x[i].r[1] = i;//double(i)/(x.size()-1);
x[i].r[0] = 0; x[i].r[0] = 0;
x[i].r[1] = i;//double(i)/(x.size()-1);
x[i].q = Rotation<2,double>::identity(); x[i].q = Rotation<2,double>::identity();
} }
x.back().r[1] += 1;
// ///////////////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////////////////
// Refinement Loop // Refinement Loop
...@@ -180,7 +181,7 @@ int main (int argc, char *argv[]) try ...@@ -180,7 +181,7 @@ int main (int argc, char *argv[]) try
MatrixType hessianMatrix; MatrixType hessianMatrix;
PlanarRodAssembler<GridType,4> rodAssembler(grid); PlanarRodAssembler<GridType> rodAssembler(grid);
rodAssembler.setParameters(1, 350000, 350000); rodAssembler.setParameters(1, 350000, 350000);
......
...@@ -214,8 +214,8 @@ getResultantForce(const BoundaryPatchBase<PatchGridView>& boundary, ...@@ -214,8 +214,8 @@ getResultantForce(const BoundaryPatchBase<PatchGridView>& boundary,
} }
template <class GridType, int polOrd> template <class GridType>
void PlanarRodAssembler<GridType, polOrd>::getNeighborsPerVertex(Dune::MatrixIndexSet& nb) const void PlanarRodAssembler<GridType>::getNeighborsPerVertex(Dune::MatrixIndexSet& nb) const
{ {
const int gridDim = GridType::dimension; const int gridDim = GridType::dimension;
const typename GridType::Traits::LevelIndexSet& indexSet = grid_->levelIndexSet(grid_->maxLevel()); const typename GridType::Traits::LevelIndexSet& indexSet = grid_->levelIndexSet(grid_->maxLevel());
...@@ -247,8 +247,8 @@ void PlanarRodAssembler<GridType, polOrd>::getNeighborsPerVertex(Dune::MatrixInd ...@@ -247,8 +247,8 @@ void PlanarRodAssembler<GridType, polOrd>::getNeighborsPerVertex(Dune::MatrixInd
} }
template <class GridType, int polOrd> template <class GridType>
void PlanarRodAssembler<GridType, polOrd>:: void PlanarRodAssembler<GridType>::
assembleMatrix(const std::vector<RigidBodyMotion<2> >& sol, assembleMatrix(const std::vector<RigidBodyMotion<2> >& sol,
Dune::BCRSMatrix<MatrixBlock>& matrix) Dune::BCRSMatrix<MatrixBlock>& matrix)
{ {
...@@ -301,9 +301,9 @@ assembleMatrix(const std::vector<RigidBodyMotion<2> >& sol, ...@@ -301,9 +301,9 @@ assembleMatrix(const std::vector<RigidBodyMotion<2> >& sol,
template <class GridType, int polOrd> template <class GridType>
template <class MatrixType> template <class MatrixType>
void PlanarRodAssembler<GridType, polOrd>:: void PlanarRodAssembler<GridType>::
getLocalMatrix( EntityType &entity, getLocalMatrix( EntityType &entity,
const std::vector<RigidBodyMotion<2> >& localSolution, const std::vector<RigidBodyMotion<2> >& localSolution,
const int matSize, MatrixType& localMat) const const int matSize, MatrixType& localMat) const
...@@ -320,7 +320,7 @@ getLocalMatrix( EntityType &entity, ...@@ -320,7 +320,7 @@ getLocalMatrix( EntityType &entity,
Dune::P1LocalFiniteElement<double,double,gridDim> localFiniteElement; Dune::P1LocalFiniteElement<double,double,gridDim> localFiniteElement;
// Get quadrature rule // Get quadrature rule
const Dune::QuadratureRule<double, gridDim>& quad = Dune::QuadratureRules<double, gridDim>::rule(entity.type(), polOrd); const Dune::QuadratureRule<double, gridDim>& quad = Dune::QuadratureRules<double, gridDim>::rule(entity.type(), 2);
/* Loop over all integration points */ /* Loop over all integration points */
for (int ip=0; ip<quad.size(); ip++) { for (int ip=0; ip<quad.size(); ip++) {
...@@ -453,8 +453,8 @@ getLocalMatrix( EntityType &entity, ...@@ -453,8 +453,8 @@ getLocalMatrix( EntityType &entity,
} }
template <class GridType, int polOrd> template <class GridType>
void PlanarRodAssembler<GridType, polOrd>:: void PlanarRodAssembler<GridType>::
assembleGradient(const std::vector<RigidBodyMotion<2> >& sol, assembleGradient(const std::vector<RigidBodyMotion<2> >& sol,
Dune::BlockVector<Dune::FieldVector<double, blocksize> >& grad) const Dune::BlockVector<Dune::FieldVector<double, blocksize> >& grad) const
{ {
...@@ -483,7 +483,7 @@ assembleGradient(const std::vector<RigidBodyMotion<2> >& sol, ...@@ -483,7 +483,7 @@ assembleGradient(const std::vector<RigidBodyMotion<2> >& sol,
localSolution[i] = sol[indexSet.subIndex(*it,i,gridDim)]; localSolution[i] = sol[indexSet.subIndex(*it,i,gridDim)];
// Get quadrature rule // Get quadrature rule
const Dune::QuadratureRule<double, gridDim>& quad = Dune::QuadratureRules<double, gridDim>::rule(it->type(), polOrd); const Dune::QuadratureRule<double, gridDim>& quad = Dune::QuadratureRules<double, gridDim>::rule(it->type(), 2);
for (int pt=0; pt<quad.size(); pt++) { for (int pt=0; pt<quad.size(); pt++) {
...@@ -555,8 +555,8 @@ assembleGradient(const std::vector<RigidBodyMotion<2> >& sol, ...@@ -555,8 +555,8 @@ assembleGradient(const std::vector<RigidBodyMotion<2> >& sol,
} }
template <class GridType, int polOrd> template <class GridType>
double PlanarRodAssembler<GridType, polOrd>:: double PlanarRodAssembler<GridType>::
computeEnergy(const std::vector<RigidBodyMotion<2> >& sol) const computeEnergy(const std::vector<RigidBodyMotion<2> >& sol) const
{ {
const int maxlevel = grid_->maxLevel(); const int maxlevel = grid_->maxLevel();
...@@ -584,7 +584,7 @@ computeEnergy(const std::vector<RigidBodyMotion<2> >& sol) const ...@@ -584,7 +584,7 @@ computeEnergy(const std::vector<RigidBodyMotion<2> >& sol) const
localSolution[i] = sol[indexSet.subIndex(*it,i,gridDim)]; localSolution[i] = sol[indexSet.subIndex(*it,i,gridDim)];
// Get quadrature rule // Get quadrature rule
const Dune::QuadratureRule<double, gridDim>& quad = Dune::QuadratureRules<double, gridDim>::rule(it->type(), polOrd); const Dune::QuadratureRule<double, gridDim>& quad = Dune::QuadratureRules<double, gridDim>::rule(it->type(), 2);
for (int pt=0; pt<quad.size(); pt++) { for (int pt=0; pt<quad.size(); pt++) {
......
...@@ -79,7 +79,7 @@ public: ...@@ -79,7 +79,7 @@ public:
/** \brief The FEM operator for a 2D extensible, shearable rod /** \brief The FEM operator for a 2D extensible, shearable rod
*/ */
template <class GridType, int polOrd> template <class GridType>
class PlanarRodAssembler : public GeodesicFEAssembler<typename GridType::LeafGridView, RigidBodyMotion<2> > class PlanarRodAssembler : public GeodesicFEAssembler<typename GridType::LeafGridView, RigidBodyMotion<2> >
{ {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment