From 1765077c9d8b6f4c0ce44da160daa9ba4db0c0ec Mon Sep 17 00:00:00 2001 From: heltai Date: Fri, 3 Dec 2010 16:36:49 +0000 Subject: [PATCH] Added tutorial step-38 on Laplace Beltrami Operator. git-svn-id: https://svn.dealii.org/trunk@22911 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/examples/step-38/Makefile | 142 +++++++ deal.II/examples/step-38/doc/builds-on | 1 + deal.II/examples/step-38/doc/intro.dox | 15 + deal.II/examples/step-38/doc/kind | 1 + deal.II/examples/step-38/doc/results.dox | 25 ++ deal.II/examples/step-38/doc/step-XX_0.png | Bin 0 -> 96645 bytes deal.II/examples/step-38/doc/tooltip | 1 + deal.II/examples/step-38/step-38.cc | 466 +++++++++++++++++++++ 8 files changed, 651 insertions(+) create mode 100644 deal.II/examples/step-38/Makefile create mode 100644 deal.II/examples/step-38/doc/builds-on create mode 100644 deal.II/examples/step-38/doc/intro.dox create mode 100644 deal.II/examples/step-38/doc/kind create mode 100644 deal.II/examples/step-38/doc/results.dox create mode 100644 deal.II/examples/step-38/doc/step-XX_0.png create mode 100644 deal.II/examples/step-38/doc/tooltip create mode 100755 deal.II/examples/step-38/step-38.cc diff --git a/deal.II/examples/step-38/Makefile b/deal.II/examples/step-38/Makefile new file mode 100644 index 0000000000..e72451dab1 --- /dev/null +++ b/deal.II/examples/step-38/Makefile @@ -0,0 +1,142 @@ +# $Id: Makefile 22601 2010-11-04 03:26:19Z bangerth $ + + +# For the small projects Makefile, you basically need to fill in only +# four fields. +# +# The first is the name of the application. It is assumed that the +# application name is the same as the base file name of the single C++ +# file from which the application is generated. +target = $(basename $(shell echo step-*.cc)) + +# The second field determines whether you want to run your program in +# debug or optimized mode. The latter is significantly faster, but no +# run-time checking of parameters and internal states is performed, so +# you should set this value to `on' while you develop your program, +# and to `off' when running production computations. +debug-mode = on + + +# As third field, we need to give the path to the top-level deal.II +# directory. You need to adjust this to your needs. Since this path is +# probably the most often needed one in the Makefile internals, it is +# designated by a single-character variable, since that can be +# reference using $D only, i.e. without the parentheses that are +# required for most other parameters, as e.g. in $(target). +D = ../../ + + +# The last field specifies the names of data and other files that +# shall be deleted when calling `make clean'. Object and backup files, +# executables and the like are removed anyway. Here, we give a list of +# files in the various output formats that deal.II supports. +clean-up-files = *gmv *gnuplot *gpl *eps *pov *vtk *ucd *.d2 + + + + +# +# +# Usually, you will not need to change anything beyond this point. +# +# +# The next statement tells the `make' program where to find the +# deal.II top level directory and to include the file with the global +# settings +include $D/common/Make.global_options + + +################################################################ +# Since the whole project consists of only one file, we need not +# consider difficult dependencies. We only have to declare the +# libraries which we want to link to the object file. deal.II has two +# libraries: one for the debug mode version of the +# application and one for optimized mode. +libs.g := $(lib-deal2.g) +libs.o := $(lib-deal2.o) + + +# We now use the variable defined above to switch between debug and +# optimized mode to select the set of libraries to link with. Included +# in the list of libraries is the name of the object file which we +# will produce from the single C++ file. Note that by default we use +# the extension .g.o for object files compiled in debug mode and .o for +# object files in optimized mode (or whatever local default on your +# system is instead of .o) +ifeq ($(debug-mode),on) + libraries = $(target).g.$(OBJEXT) $(libs.g) +else + libraries = $(target).$(OBJEXT) $(libs.o) +endif + + +# Now comes the first production rule: how to link the single object +# file produced from the single C++ file into the executable. Since +# this is the first rule in the Makefile, it is the one `make' selects +# if you call it without arguments. +$(target)$(EXEEXT) : $(libraries) + @echo ============================ Linking $@ + @$(CXX) -o $@ $^ $(LIBS) $(LDFLAGS) + + +# To make running the application somewhat independent of the actual +# program name, we usually declare a rule `run' which simply runs the +# program. You can then run it by typing `make run'. This is also +# useful if you want to call the executable with arguments which do +# not change frequently. You may then want to add them to the +# following rule: +run: $(target)$(EXEEXT) + @echo ============================ Running $< + @./$(target)$(EXEEXT) + + +# As a last rule to the `make' program, we define what to do when +# cleaning up a directory. This usually involves deleting object files +# and other automatically created files such as the executable itself, +# backup files, and data files. Since the latter are not usually quite +# diverse, you needed to declare them at the top of this file. +clean: + -rm -f *.$(OBJEXT) *~ Makefile.dep $(target)$(EXEEXT) $(clean-up-files) + + +# Since we have not yet stated how to make an object file from a C++ +# file, we should do so now. Since the many flags passed to the +# compiler are usually not of much interest, we suppress the actual +# command line using the `at' sign in the first column of the rules +# and write the string indicating what we do instead. +./%.g.$(OBJEXT) : + @echo "==============debug========= $( $@" + @$(CXX) $(CXXFLAGS.g) -c $< -o $@ +./%.$(OBJEXT) : + @echo "==============optimized===== $( $@" + @$(CXX) $(CXXFLAGS.o) -c $< -o $@ + + +# The following statement tells make that the rules `run' and `clean' +# are not expected to produce files of the same name as Makefile rules +# usually do. +.PHONY: run clean + + +# Finally there is a rule which you normally need not care much about: +# since the executable depends on some include files from the library, +# besides the C++ application file of course, it is necessary to +# re-generate the executable when one of the files it depends on has +# changed. The following rule creates a dependency file +# `Makefile.dep', which `make' uses to determine when to regenerate +# the executable. This file is automagically remade whenever needed, +# i.e. whenever one of the cc-/h-files changed. Make detects whether +# to remake this file upon inclusion at the bottom of this file. +# +# If the creation of Makefile.dep fails, blow it away and fail +Makefile.dep: $(target).cc Makefile \ + $(shell echo $D/include/deal.II/*/*.h) + @echo ============================ Remaking $@ + @$D/common/scripts/make_dependencies $(INCLUDE) -B. $(target).cc \ + > $@ \ + || (rm -f $@ ; false) + @if test -s $@ ; then : else rm $@ ; fi + +# To make the dependencies known to `make', we finally have to include +# them: +include Makefile.dep diff --git a/deal.II/examples/step-38/doc/builds-on b/deal.II/examples/step-38/doc/builds-on new file mode 100644 index 0000000000..48a0f73876 --- /dev/null +++ b/deal.II/examples/step-38/doc/builds-on @@ -0,0 +1 @@ +step-4 diff --git a/deal.II/examples/step-38/doc/intro.dox b/deal.II/examples/step-38/doc/intro.dox new file mode 100644 index 0000000000..eae18a9fea --- /dev/null +++ b/deal.II/examples/step-38/doc/intro.dox @@ -0,0 +1,15 @@ +
+ +This program was contributed by Andrea Bonito + + + + +

Introduction

+ +

The numerical approximation

+ +

Implementation

+ +

Testcase

+ diff --git a/deal.II/examples/step-38/doc/kind b/deal.II/examples/step-38/doc/kind new file mode 100644 index 0000000000..15a13db451 --- /dev/null +++ b/deal.II/examples/step-38/doc/kind @@ -0,0 +1 @@ +basic diff --git a/deal.II/examples/step-38/doc/results.dox b/deal.II/examples/step-38/doc/results.dox new file mode 100644 index 0000000000..7ccb36ef7a --- /dev/null +++ b/deal.II/examples/step-38/doc/results.dox @@ -0,0 +1,25 @@ +

Results

+ +We ran the program using the following parameters.prm file (which +can also be found in the directory in which all the other source files are): +@verbatim +# Listing of Parameters +# --------------------- +@endverbatim + +When we run the program, the following is printed on screen: + +@verbatim +================================ + LB PROBLEM +================================ + +DEAL:cg::Starting value 0.677406 +DEAL:cg::Convergence step 580 value 9.71224e-08 +0.00552653 + +@endverbatim + +Here is a plot of the result: + +@image html step-XX_0.png diff --git a/deal.II/examples/step-38/doc/step-XX_0.png b/deal.II/examples/step-38/doc/step-XX_0.png new file mode 100644 index 0000000000000000000000000000000000000000..f1a5e8797ac3c750307ca07b8849fdbabc3ec6a0 GIT binary patch literal 96645 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

~ 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 literal 0 HcmV?d00001 diff --git a/deal.II/examples/step-38/doc/tooltip b/deal.II/examples/step-38/doc/tooltip new file mode 100644 index 0000000000..550a7eb4e4 --- /dev/null +++ b/deal.II/examples/step-38/doc/tooltip @@ -0,0 +1 @@ +Solve the Laplace Beltrami operator on a Half Sphere. diff --git a/deal.II/examples/step-38/step-38.cc b/deal.II/examples/step-38/step-38.cc new file mode 100755 index 0000000000..33516965c6 --- /dev/null +++ b/deal.II/examples/step-38/step-38.cc @@ -0,0 +1,466 @@ +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +#include +#include +#include + +#include +#include + +#include +#include + +#define deal_II_dimension 3 + +using std::cout; +using std::endl; +using namespace dealii; + + +template +class Solution : public Function +{ +public: + Solution () : Function() {} + + virtual double value (const Point &p, + const unsigned int component = 0) const; + + virtual Tensor<1,dim> gradient (const Point &p, + const unsigned int component = 0) const; + +}; + +template +double Solution::value (const Point &p, + const unsigned int) const +{ + return sin(numbers::PI * p(0))*cos(numbers::PI * p(1))*exp(p(2)); +} + +template +Tensor<1,dim> Solution::gradient (const Point &p, + const unsigned int) const +{ + double dPi = numbers::PI; + + Tensor<1,dim> return_value; + + return_value[0] = dPi *cos(dPi * p(0))*cos(dPi * p(1))*exp(p(2)); + return_value[1] = -dPi *sin(dPi * p(0))*sin(dPi * p(1))*exp(p(2)); + return_value[2] = sin(dPi * p(0))*cos(dPi * p(1))*exp(p(2)); + + // tangential gradient: nabla u - (nabla u nu)nu + Point normal; + double dLength; + + dLength = sqrt(p(0)*p(0)+p(1)*p(1)+p(2)*p(2)); + + normal[0] = p(0)/dLength; + normal[1] = p(1)/dLength; + normal[2] = p(2)/dLength; + + return return_value - (return_value*normal)*normal; +} + +template +class RightHandSide : public Function +{ +public: + RightHandSide () : Function() {} + + virtual double value (const Point &p, + const unsigned int component = 0) const; +}; + +template +double RightHandSide::value (const Point &p, + const unsigned int comp) const +{ + Assert(dim == 3, ExcInternalError()); + + double dPi = numbers::PI; + + // LB: u = Delta u - nu D2 u nu - (Grad u nu ) div (nu) + + Tensor<2,dim> hessian; + + hessian[0][0] = -dPi*dPi*sin(dPi*p(0))*cos(dPi*p(1))*exp(p(2)); + hessian[1][1] = -dPi*dPi*sin(dPi*p(0))*cos(dPi*p(1))*exp(p(2)); + hessian[2][2] = sin(dPi*p(0))*cos(dPi*p(1))*exp(p(2)); + + hessian[0][1] = -dPi*dPi*cos(dPi*p(0))*sin(dPi*p(1))*exp(p(2)); + hessian[1][0] = -dPi*dPi*cos(dPi*p(0))*sin(dPi*p(1))*exp(p(2)); + + hessian[0][2] = dPi*cos(dPi*p(0))*cos(dPi*p(1))*exp(p(2)); + hessian[2][0] = dPi*cos(dPi*p(0))*cos(dPi*p(1))*exp(p(2)); + + hessian[1][2] = -dPi*sin(dPi*p(0))*sin(dPi*p(1))*exp(p(2)); + hessian[2][1] = -dPi*sin(dPi*p(0))*sin(dPi*p(1))*exp(p(2)); + + Tensor<1,dim> gradient; + gradient[0] = dPi * cos(dPi*p(0))*cos(dPi*p(1))*exp(p(2)); + gradient[1] = - dPi * sin(dPi*p(0))*sin(dPi*p(1))*exp(p(2)); + gradient[2] = sin(dPi*p(0))*cos(dPi*p(1))*exp(p(2)); + + double curvature; + Point normal; + double dLength; + + curvature = dim-1; + dLength = sqrt(p(0)*p(0)+p(1)*p(1)+p(2)*p(2)); + + normal[0] = p(0)/dLength; + normal[1] = p(1)/dLength; + normal[2] = p(2)/dLength; + + return -trace(hessian) + (hessian * normal) * normal + (gradient * normal)*curvature; +} + + + + + + +template +class LaplaceBeltrami +{ + public: + LaplaceBeltrami (Triangulation *tria, Function &func_data, + unsigned int fe_degree = 1, unsigned int mapping_degree = 1, + Function *pExact = 0); + // arguments are: + // triangulation + // right-hand side + // fe_degree for solution + // fe_degree for mapping + // exact solution is known + + ~LaplaceBeltrami (); + void run (); + double compute_error (VectorTools::NormType norm_type) const; + + private: + + void setup_system (); + void assemble_system (); + void solve (); + void output_results () const; + + + + Triangulation *pTria; + FE_Q fe; + DoFHandler dh; + MappingQ mapping; + + ConstraintMatrix matrix_constraints; + + SparsityPattern sparsity_pattern; + SparseMatrix system_matrix; + + Vector solution; + Vector system_rhs; + + Function &rhs_func; // function data + + Function *pExact; // exact solution if provided + +}; + + +template +LaplaceBeltrami::LaplaceBeltrami (Triangulation *tria, + Function &func_data, + unsigned int fe_degree, + unsigned int mapping_degree, + Function *pExact + ) + : + fe (fe_degree), + dh(*tria), + mapping(mapping_degree), + rhs_func(func_data) +{ + pTria = tria; + this->pExact = pExact; + +} + +template +LaplaceBeltrami::~LaplaceBeltrami () +{ + dh.clear (); +} + +template +void LaplaceBeltrami::setup_system () +{ + dh.distribute_dofs (fe); + + matrix_constraints.clear (); + matrix_constraints.close (); + + CompressedSparsityPattern csp (dh.n_dofs(), + dh.n_dofs()); + + DoFTools::make_sparsity_pattern (dh, csp); + matrix_constraints.condense (csp); + + sparsity_pattern.copy_from (csp); + + system_matrix.reinit (sparsity_pattern); + solution.reinit (dh.n_dofs()); + system_rhs.reinit (dh.n_dofs()); +} + +template +void LaplaceBeltrami::assemble_system () +{ + + system_matrix = 0; + system_rhs = 0; + + QGauss quadrature_formula(2); + + FEValues fe_values (mapping,fe, quadrature_formula, + update_values | update_cell_normal_vectors | + update_gradients | + update_quadrature_points | update_JxW_values); + + const unsigned int dofs_per_cell = fe.dofs_per_cell; + const unsigned int n_q_points = quadrature_formula.size(); + + FullMatrix cell_matrix (dofs_per_cell, dofs_per_cell); + Vector cell_rhs (dofs_per_cell); + + std::vector< double > rhs_values(n_q_points); + std::vector local_dof_indices (dofs_per_cell); + + typename DoFHandler::active_cell_iterator + cell = dh.begin_active(), + endc = dh.end(); + + for (; cell!=endc; ++cell) + { + cell_matrix = 0; + cell_rhs = 0; + + fe_values.reinit (cell); + + rhs_func.value_list (fe_values.get_quadrature_points(), rhs_values); + + for (unsigned int i=0; iget_dof_indices (local_dof_indices); + for (unsigned int i=0; i bdy_values; + VectorTools::interpolate_boundary_values (mapping,dh, + 0, + *pExact, + bdy_values + ); + + MatrixTools::apply_boundary_values (bdy_values, + system_matrix, + solution, + system_rhs,false); + + // condense matrices + matrix_constraints.condense (system_matrix); + matrix_constraints.condense (system_rhs); +} + + +template +void LaplaceBeltrami::solve () +{ + SolverControl solver_control (1000, 1e-7); + SolverCG<> cg (solver_control); + + cg.solve (system_matrix, solution, system_rhs, + PreconditionIdentity()); + + + matrix_constraints.distribute (solution); + +} + + + +template +void LaplaceBeltrami::output_results () const +{ + + std::string filename = "solution.vtk"; + + std::ofstream output (filename.c_str()); + + DataOut > data_out; + data_out.attach_dof_handler (dh); + + + + data_out.add_data_vector (solution, "solution",DataOut_DoFData,dim-1,dim>::type_dof_data); + data_out.build_patches (mapping, + mapping.get_degree()); + data_out.write_vtk (output); +} + + + +template +void LaplaceBeltrami::run () +{ + + setup_system(); + assemble_system(); + solve(); + output_results(); + +} + +//################################################################################// + +template +double LaplaceBeltrami::compute_error (VectorTools::NormType norm_type) const +{ + Assert(pExact != 0, ExcInternalError()); + + Vector difference_per_cell (pTria->n_active_cells()); + VectorTools::integrate_difference (mapping, dh, solution, + *pExact, difference_per_cell, + QGauss<(dim-1)>(2*fe.degree+1), + norm_type); + + return difference_per_cell.l2_norm(); +} + + + + +int main ( int argc, char **argv ) +{ + std::cout< tria; + + // create a mesh consisting on the boundary of the half sphere... thx Seba + std::map< Triangulation::cell_iterator, + Triangulation::face_iterator> surface_to_volume_mapping; + + HyperBallBoundary boundary_description; + Triangulation volume_mesh; + GridGenerator::half_hyper_ball(volume_mesh); + + volume_mesh.set_boundary (1, boundary_description); + volume_mesh.set_boundary (0, boundary_description); + volume_mesh.refine_global (1); + + static HyperBallBoundary surface_description; + tria.set_boundary (1, surface_description); + tria.set_boundary (0, surface_description); + + std::set boundary_ids; + boundary_ids.insert(0); + + GridTools::extract_boundary_mesh (volume_mesh, tria, + surface_to_volume_mapping, + boundary_ids); + + + tria.refine_global(4); + + + RightHandSide rhs; + Solution exact; + + LaplaceBeltrami laplace_beltrami_2d(&tria,rhs,2,2,&exact); + + laplace_beltrami_2d.run(); + + std::cout<