DOLFIN
DOLFIN C++ interface
ALE.h
1// Copyright (C) 2008-2009 Solveig Bruvoll and Anders Logg
2//
3// This file is part of DOLFIN.
4//
5// DOLFIN is free software: you can redistribute it and/or modify
6// it under the terms of the GNU Lesser General Public License as published by
7// the Free Software Foundation, either version 3 of the License, or
8// (at your option) any later version.
9//
10// DOLFIN is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU Lesser General Public License for more details.
14//
15// You should have received a copy of the GNU Lesser General Public License
16// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
17//
18// Modified by Jan Blechta 2013
19//
20// First added: 2008-05-02
21// Last changed: 2013-03-06
22
23#ifndef __ALE_H
24#define __ALE_H
25
26#include <memory>
27#include "MeshDisplacement.h"
28
29namespace dolfin
30{
31
32 class Mesh;
33 class BoundaryMesh;
34 class GenericFunction;
35
40
41 class ALE
42 {
43 public:
44
45
57 static std::shared_ptr<MeshDisplacement>
58 move(std::shared_ptr<Mesh> mesh, const BoundaryMesh& new_boundary);
59
62 //
70 static std::shared_ptr<MeshDisplacement> move(std::shared_ptr<Mesh> mesh0,
71 const Mesh& mesh1);
72
84 static void move(Mesh& mesh, const GenericFunction& displacement);
85
92 static void move(Mesh& mesh, const Function& displacement);
93
94 };
95
96}
97
98#endif
Definition: ALE.h:42
static std::shared_ptr< MeshDisplacement > move(std::shared_ptr< Mesh > mesh, const BoundaryMesh &new_boundary)
Definition: ALE.cpp:36
Definition: BoundaryMesh.h:40
Definition: Function.h:66
Definition: GenericFunction.h:54
Definition: Mesh.h:84
Definition: adapt.h:30