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

[Extend] Report on surface behaviour

parent d695e7e9
No related branches found
No related tags found
No related merge requests found
......@@ -201,6 +201,11 @@ int main(int argc, char *argv[]) {
Dune::BitSetVector<1> frictionalNodes(fineVertexCount);
frictionalBoundary.getVertices(frictionalNodes);
// Surface
BoundaryPatch<GridView> const &surface = myFaces.upper;
Dune::BitSetVector<1> surfaceNodes(fineVertexCount);
surface.getVertices(surfaceNodes);
// Dirichlet Boundary
Dune::BitSetVector<dims> noNodes(fineVertexCount);
Dune::BitSetVector<dims> dirichletNodes(fineVertexCount);
......@@ -353,17 +358,28 @@ int main(int argc, char *argv[]) {
vertexCoordinates[vertexMapper.map(*it)] = geometry.corner(0);
}
}
FrictionWriter<ScalarVector, Vector> frictionWriter(
vertexCoordinates, frictionalNodes, "friction",
[](LocalVector const &x) { return x[0]; });
auto const reportFriction = [&](Vector const &_u, Vector const &_v,
ScalarVector const &_alpha) {
BoundaryWriter<ScalarVector, Vector> verticalSurfaceWriter(
vertexCoordinates, surfaceNodes, "verticalSurface",
MyGeometry::verticalProjection);
BoundaryWriter<ScalarVector, Vector> horizontalSurfaceWriter(
vertexCoordinates, surfaceNodes, "horizontalSurface",
MyGeometry::horizontalProjection);
auto const report = [&](Vector const &_u, Vector const &_v,
ScalarVector const &_alpha) {
horizontalSurfaceWriter.writeKinetics(_u, _v);
verticalSurfaceWriter.writeKinetics(_u, _v);
ScalarVector c;
myGlobalNonlinearity->coefficientOfFriction(_v, c);
frictionWriter.writeKinetics(_u, _v);
frictionWriter.writeOther(c, _alpha);
};
reportFriction(u_initial, v_initial, alpha_initial);
report(u_initial, v_initial, alpha_initial);
MyVTKWriter<typename MyAssembler::VertexBasis,
typename MyAssembler::CellBasis> const
......@@ -510,7 +526,7 @@ int main(int argc, char *argv[]) {
if (printProgress)
std::cout << std::endl;
reportFriction(u, v, alpha);
report(u, v, alpha);
iterationWriter << std::endl;
relaxationWriter << std::endl;
......
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