Commit 92d03c8f authored by Tomáš Oberhuber's avatar Tomáš Oberhuber
Browse files

Writing documentation.

parent c28c7873
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ set( tnlVersion "0.1" )

set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")

include( OptimizeForArchitecture )
#include( OptimizeForArchitecture )
include( UseCodeCoverage )

####
@@ -24,8 +24,8 @@ else()
    set( PROJECT_TESTS_PATH ${PROJECT_SOURCE_DIR}/Release/tests )
    set( LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/Release/lib)
    set( EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/Release/bin)
    OptimizeForArchitecture()
    AddCompilerFlag( "-O3 -DNDEBUG" )
    #OptimizeForArchitecture()
    AddCompilerFlag( "-O3 -march=native -DNDEBUG" )
endif()

if( WITH_TEMPLATE_EXPLICIT_INSTANTIATION STREQUAL "yes" )
+5 −0
Original line number Diff line number Diff line
============
Installation
============

TNL can be downloaded from GitHub.


+30 −0
Original line number Diff line number Diff line
============
Introduction
============

TNL means *Template Numerical Library*. Aim of this project is to develop *efficient, flexible and easy to use* numerical library.

**Efficiency**
   Complex numerical simulations may take hundreds of hours. Fast and efficient solvers are therefore very important. TNL is designed to profit from abilities of new accelerators like GPUs (NVidia GeForce, Tesla) and MICs (Xeon Phi). To generate efficient executables, we avoid use of virtual methods on low levels of the code. Instead, C++ templates are used. 

**Flexibility**
   Development of new numerical schemes and solvers often requires to test many different approaches. Thanks to C++ templates and the design of TNL, it should be quite easy to switch between different schemes, solvers, meshes, precision of the floating point arithmetics or parallel architectures.

**Easy to use**
   Thanks to C++ templates, TNL offers automatic set-up of underlying structures (numerical meshes, sparse matrices, etc.), solvers (linear solvers, Runge-Kutta solvers, PDE solvers) and parallel architectures (GPU, MIC or MPI (not implemented yet)). TNL can also manage configuration parameters passed from the command line. The user may then concentrate only on the numerical model. 

:Authors:
   **Tomáš Oberhuber** - TNL design

   **Vítězslav Žabka** - unstructured numerical mesh

   **Vladimír Klement** - multigrid methods

   **Tomáš Sobotík** - numerical methods for signed distance function

   **Ondřej Székely** - FDM solvers for non-linear diffusion problems

   **Libor Bakajsa** - sparse matrix formats for GPUs

   **Jan Vacata** - sparse matrix formats for GPUs

   **Martin Heller** - sparse matrix formats for GPUs

   **Matěj Novotný** - quad double arithmetics
 No newline at end of file