Skip to content
Snippets Groups Projects
Commit 21a6b769 authored by Elias Pipping's avatar Elias Pipping
Browse files

[Cleanup] Constness

parent 254469cf
No related branches found
No related tags found
No related merge requests found
...@@ -82,7 +82,7 @@ template <class Matrix, class Vector> class GlobalFriction { ...@@ -82,7 +82,7 @@ template <class Matrix, class Vector> class GlobalFriction {
return res->regularity(x); return res->regularity(x);
} }
void coefficientOfFriction(Vector const &x, ScalarVector &coefficient) { void coefficientOfFriction(Vector const &x, ScalarVector &coefficient) const {
coefficient.resize(x.size()); coefficient.resize(x.size());
for (size_t i = 0; i < x.size(); ++i) for (size_t i = 0; i < x.size(); ++i)
coefficient[i] = restriction(i)->coefficientOfFriction(x[i]); coefficient[i] = restriction(i)->coefficientOfFriction(x[i]);
......
...@@ -33,7 +33,7 @@ MyAssembler<GridView, dimension>::MyAssembler(GridView const &_gridView) ...@@ -33,7 +33,7 @@ MyAssembler<GridView, dimension>::MyAssembler(GridView const &_gridView)
template <class GridView, int dimension> template <class GridView, int dimension>
void MyAssembler<GridView, dimension>::assembleFrictionalBoundaryMass( void MyAssembler<GridView, dimension>::assembleFrictionalBoundaryMass(
BoundaryPatch<GridView> const &frictionalBoundary, BoundaryPatch<GridView> const &frictionalBoundary,
ScalarMatrix &frictionalBoundaryMass) { ScalarMatrix &frictionalBoundaryMass) const {
BoundaryMassAssembler<Grid, BoundaryPatch<GridView>, LocalVertexBasis, BoundaryMassAssembler<Grid, BoundaryPatch<GridView>, LocalVertexBasis,
LocalVertexBasis, Dune::FieldMatrix<double, 1, 1>> const LocalVertexBasis, Dune::FieldMatrix<double, 1, 1>> const
frictionalBoundaryMassAssembler(frictionalBoundary); frictionalBoundaryMassAssembler(frictionalBoundary);
...@@ -45,7 +45,7 @@ template <class GridView, int dimension> ...@@ -45,7 +45,7 @@ template <class GridView, int dimension>
void MyAssembler<GridView, dimension>::assembleMass( void MyAssembler<GridView, dimension>::assembleMass(
Dune::VirtualFunction<LocalVector, LocalScalarVector> const & Dune::VirtualFunction<LocalVector, LocalScalarVector> const &
densityFunction, densityFunction,
Matrix &M) { Matrix &M) const {
// NOTE: We treat the weight as a constant function // NOTE: We treat the weight as a constant function
QuadratureRuleKey quadKey(dimension, 0); QuadratureRuleKey quadKey(dimension, 0);
...@@ -58,7 +58,7 @@ void MyAssembler<GridView, dimension>::assembleMass( ...@@ -58,7 +58,7 @@ void MyAssembler<GridView, dimension>::assembleMass(
template <class GridView, int dimension> template <class GridView, int dimension>
void MyAssembler<GridView, dimension>::assembleElasticity(double E, double nu, void MyAssembler<GridView, dimension>::assembleElasticity(double E, double nu,
Matrix &A) { Matrix &A) const {
StVenantKirchhoffAssembler<Grid, LocalVertexBasis, LocalVertexBasis> const StVenantKirchhoffAssembler<Grid, LocalVertexBasis, LocalVertexBasis> const
localStiffness(E, nu); localStiffness(E, nu);
vertexAssembler.assembleOperator(localStiffness, A); vertexAssembler.assembleOperator(localStiffness, A);
...@@ -68,7 +68,7 @@ template <class GridView, int dimension> ...@@ -68,7 +68,7 @@ template <class GridView, int dimension>
void MyAssembler<GridView, dimension>::assembleViscosity( void MyAssembler<GridView, dimension>::assembleViscosity(
Dune::VirtualFunction<LocalVector, LocalScalarVector> const &shearViscosity, Dune::VirtualFunction<LocalVector, LocalScalarVector> const &shearViscosity,
Dune::VirtualFunction<LocalVector, LocalScalarVector> const &bulkViscosity, Dune::VirtualFunction<LocalVector, LocalScalarVector> const &bulkViscosity,
Matrix &C) { Matrix &C) const {
// NOTE: We treat the weights as constant functions // NOTE: We treat the weights as constant functions
QuadratureRuleKey shearViscosityKey(dimension, 0); QuadratureRuleKey shearViscosityKey(dimension, 0);
QuadratureRuleKey bulkViscosityKey(dimension, 0); QuadratureRuleKey bulkViscosityKey(dimension, 0);
...@@ -83,7 +83,7 @@ void MyAssembler<GridView, dimension>::assembleViscosity( ...@@ -83,7 +83,7 @@ void MyAssembler<GridView, dimension>::assembleViscosity(
template <class GridView, int dimension> template <class GridView, int dimension>
void MyAssembler<GridView, dimension>::assembleBodyForce( void MyAssembler<GridView, dimension>::assembleBodyForce(
Dune::VirtualFunction<LocalVector, LocalVector> const &gravityField, Dune::VirtualFunction<LocalVector, LocalVector> const &gravityField,
Vector &f) { Vector &f) const {
L2FunctionalAssembler<Grid, LocalVertexBasis, LocalVector> L2FunctionalAssembler<Grid, LocalVertexBasis, LocalVector>
gravityFunctionalAssembler(gravityField); gravityFunctionalAssembler(gravityField);
vertexAssembler.assembleFunctional(gravityFunctionalAssembler, f); vertexAssembler.assembleFunctional(gravityFunctionalAssembler, f);
...@@ -92,7 +92,8 @@ void MyAssembler<GridView, dimension>::assembleBodyForce( ...@@ -92,7 +92,8 @@ void MyAssembler<GridView, dimension>::assembleBodyForce(
template <class GridView, int dimension> template <class GridView, int dimension>
void MyAssembler<GridView, dimension>::assembleNeumann( void MyAssembler<GridView, dimension>::assembleNeumann(
BoundaryPatch<GridView> const &neumannBoundary, Vector &f, BoundaryPatch<GridView> const &neumannBoundary, Vector &f,
Dune::VirtualFunction<double, double> const &neumann, double relativeTime) { Dune::VirtualFunction<double, double> const &neumann,
double relativeTime) const {
LocalVector localNeumann(0); LocalVector localNeumann(0);
neumann.evaluate(relativeTime, localNeumann[0]); neumann.evaluate(relativeTime, localNeumann[0]);
NeumannBoundaryAssembler<Grid, LocalVector> neumannBoundaryAssembler( NeumannBoundaryAssembler<Grid, LocalVector> neumannBoundaryAssembler(
...@@ -106,7 +107,7 @@ template <class GridView, int dimension> ...@@ -106,7 +107,7 @@ template <class GridView, int dimension>
void MyAssembler<GridView, dimension>::assembleNormalStress( void MyAssembler<GridView, dimension>::assembleNormalStress(
BoundaryPatch<GridView> const &frictionalBoundary, BoundaryPatch<GridView> const &frictionalBoundary,
ScalarVector &normalStress, double youngModulus, double poissonRatio, ScalarVector &normalStress, double youngModulus, double poissonRatio,
Vector const &displacement) { Vector const &displacement) const {
Vector traction; Vector traction;
Stress<GridView>::getElasticSurfaceNormalStress // misnomer(!) Stress<GridView>::getElasticSurfaceNormalStress // misnomer(!)
...@@ -129,7 +130,7 @@ auto MyAssembler<GridView, dimension>::assembleFrictionNonlinearity( ...@@ -129,7 +130,7 @@ auto MyAssembler<GridView, dimension>::assembleFrictionNonlinearity(
Config::FrictionModel frictionModel, Config::FrictionModel frictionModel,
BoundaryPatch<GridView> const &frictionalBoundary, BoundaryPatch<GridView> const &frictionalBoundary,
GlobalFrictionData<dimension> const &frictionInfo, GlobalFrictionData<dimension> const &frictionInfo,
ScalarVector const &normalStress) ScalarVector const &normalStress) const
-> std::shared_ptr<GlobalFriction<Matrix, Vector>> { -> std::shared_ptr<GlobalFriction<Matrix, Vector>> {
// Lump negative normal stress (kludge) // Lump negative normal stress (kludge)
ScalarVector weights; ScalarVector weights;
...@@ -158,7 +159,7 @@ auto MyAssembler<GridView, dimension>::assembleFrictionNonlinearity( ...@@ -158,7 +159,7 @@ auto MyAssembler<GridView, dimension>::assembleFrictionNonlinearity(
template <class GridView, int dimension> template <class GridView, int dimension>
void MyAssembler<GridView, dimension>::assembleVonMisesStress( void MyAssembler<GridView, dimension>::assembleVonMisesStress(
double youngModulus, double poissonRatio, Vector const &u, double youngModulus, double poissonRatio, Vector const &u,
ScalarVector &stress) { ScalarVector &stress) const {
auto const gridDisplacement = auto const gridDisplacement =
std::make_shared<BasisGridFunction<VertexBasis, Vector> const>( std::make_shared<BasisGridFunction<VertexBasis, Vector> const>(
vertexBasis, u); vertexBasis, u);
......
...@@ -29,8 +29,8 @@ template <class GridView, int dimension> class MyAssembler { ...@@ -29,8 +29,8 @@ template <class GridView, int dimension> class MyAssembler {
using CellBasis = P0Basis<GridView, double>; using CellBasis = P0Basis<GridView, double>;
using VertexBasis = P1NodalBasis<GridView, double>; using VertexBasis = P1NodalBasis<GridView, double>;
CellBasis cellBasis; CellBasis const cellBasis;
VertexBasis vertexBasis; VertexBasis const vertexBasis;
private: private:
using Grid = typename GridView::Grid; using Grid = typename GridView::Grid;
...@@ -49,41 +49,42 @@ template <class GridView, int dimension> class MyAssembler { ...@@ -49,41 +49,42 @@ template <class GridView, int dimension> class MyAssembler {
void assembleFrictionalBoundaryMass( void assembleFrictionalBoundaryMass(
BoundaryPatch<GridView> const &frictionalBoundary, BoundaryPatch<GridView> const &frictionalBoundary,
ScalarMatrix &frictionalBoundaryMass); ScalarMatrix &frictionalBoundaryMass) const;
void assembleMass(Dune::VirtualFunction< void assembleMass(Dune::VirtualFunction<
LocalVector, LocalScalarVector> const &densityFunction, LocalVector, LocalScalarVector> const &densityFunction,
Matrix &M); Matrix &M) const;
void assembleElasticity(double E, double nu, Matrix &A); void assembleElasticity(double E, double nu, Matrix &A) const;
void assembleViscosity( void assembleViscosity(
Dune::VirtualFunction<LocalVector, LocalScalarVector> const & Dune::VirtualFunction<LocalVector, LocalScalarVector> const &
shearViscosity, shearViscosity,
Dune::VirtualFunction<LocalVector, LocalScalarVector> const & Dune::VirtualFunction<LocalVector, LocalScalarVector> const &
bulkViscosity, bulkViscosity,
Matrix &C); Matrix &C) const;
void assembleBodyForce( void assembleBodyForce(
Dune::VirtualFunction<LocalVector, LocalVector> const &gravityField, Dune::VirtualFunction<LocalVector, LocalVector> const &gravityField,
Vector &f); Vector &f) const;
void assembleNeumann(BoundaryPatch<GridView> const &neumannBoundary, void assembleNeumann(BoundaryPatch<GridView> const &neumannBoundary,
Vector &f, Vector &f,
Dune::VirtualFunction<double, double> const &neumann, Dune::VirtualFunction<double, double> const &neumann,
double relativeTime); double relativeTime) const;
void assembleNormalStress(BoundaryPatch<GridView> const &frictionalBoundary, void assembleNormalStress(BoundaryPatch<GridView> const &frictionalBoundary,
ScalarVector &normalStress, double youngModulus, ScalarVector &normalStress, double youngModulus,
double poissonRatio, Vector const &displacement); double poissonRatio,
Vector const &displacement) const;
std::shared_ptr<GlobalFriction<Matrix, Vector>> assembleFrictionNonlinearity( std::shared_ptr<GlobalFriction<Matrix, Vector>> assembleFrictionNonlinearity(
Config::FrictionModel frictionModel, Config::FrictionModel frictionModel,
BoundaryPatch<GridView> const &frictionalBoundary, BoundaryPatch<GridView> const &frictionalBoundary,
GlobalFrictionData<dimension> const &frictionInfo, GlobalFrictionData<dimension> const &frictionInfo,
ScalarVector const &normalStress); ScalarVector const &normalStress) const;
void assembleVonMisesStress(double youngModulus, double poissonRatio, void assembleVonMisesStress(double youngModulus, double poissonRatio,
Vector const &u, ScalarVector &stress); Vector const &u, ScalarVector &stress) const;
}; };
#endif #endif
...@@ -183,7 +183,7 @@ int main(int argc, char *argv[]) { ...@@ -183,7 +183,7 @@ int main(int argc, char *argv[]) {
timeStepWriter << _relativeTime << " " << _relativeTau << std::endl; timeStepWriter << _relativeTime << " " << _relativeTau << std::endl;
}; };
MyAssembler myAssembler(leafView); MyAssembler const myAssembler(leafView);
MyBody<dims> const body(parset); MyBody<dims> const body(parset);
......
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