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

Implementing tnlSolverInitiator and tnlSolverStarter.

parent 1be608e9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ endif()
find_package(BZip2)
if( BZIP2_FOUND )
    set( HAVE_LIBBZ2 "#define HAVE_BZIP2" )    
    include_directories("${BZIP2_INCLUDE_DIR}")
else( BZIP2_FOUND )
    set( HAVE_LIBBZ2 "// #define HAVE_BZIP2" )
endif( BZIP2_FOUND )
+5 −2
Original line number Diff line number Diff line
INSTALL( FILES Makefile
               main.cpp
               simpleProblem.h
               simpleProblemTypesSetter.h
               simpleProblemSolver.h
               simpleProblemSolver_impl.h
               simpleProblemSetter.h
               simpleProblemSetter_impl.h
               simple-solver.cfg.desc
               run-simple-solver
         DESTINATION share/tnl-${tnlVersion}/examples/simple-solver )
 No newline at end of file
+4 −15
Original line number Diff line number Diff line
@@ -16,24 +16,13 @@
 ***************************************************************************/

#include "simple-solver-conf.h"
#include "simpleProblemTypesSetter.h"
#include <config/tnlBasicTypesSetter.h>
#include <solvers/tnlProblemSolver.h>

#include <core/tnlHost.h>
#include <config/tnlParameterContainer.h>
#include "simpleProblemSetter.h"
#include <solvers/tnlSolver.h>

int main( int argc, char* argv[] )
{
   typedef simpleProblemTypesSetter ProblemSetter;

   tnlParameterContainer parameters;
   ProblemSetter problemSetter;
   problemSetter. run< double, tnlHost, int >( parameters );

   typedef tnlBasicTypesSetter< ProblemSetter > BasicTypesSetter;
   tnlProblemSolver< BasicTypesSetter > problemSolver;
   if( ! problemSolver. run( CONFIG_FILE, argc, argv ) )
   tnlSolver< simpleProblemSetter > solver;
   if( ! solver. run( CONFIG_FILE, argc, argv ) )
      return EXIT_FAILURE;
   return EXIT_SUCCESS;
}
+8 −0
Original line number Diff line number Diff line
#!/bin/bash

simple-solver --dimensions 2 \
              --time-discretisation explicit \
              --discrete-solver merson \
              --snapshot-period 0.01 \
              --final-time 1.0
              
 No newline at end of file
+17 −5
Original line number Diff line number Diff line
group Problem
{
   integer dimensions(!)                  [Number of dimenions the problem is defined in.];
   string problem-name( "simple" )        [This defines particular problem.];
   string log-file("simple-problem.log")  [File name for the log.];
},[The problem parameters.];

group Discretisation
{
   string time-discretisation(!)     [Time discretisation for the time dependent problems. Can be explicit, semi-implicit or fully-implicit.];
},[The numerical scheme set-up.];

group Solver
{
   string real-type( "double" )     [Precision of the floating point arithmetics. Can be float, double, long-double.];
   string index-type( "int" )       [Indexing type for arrays, vectors, matrices etc. Can be int or long-int.];
   string device( "host" )          [Device to use for the computations. Can be host or cuda.];
   string discrete-solver(!)        [The main solver for the discretised problem.];
   real merson-adaptivity(1.0e-4)   [Parameter controling adaptivity of the Runge-Kutta-Merson solver.];
   real initial-tau(1.0e-5)         [Initial time step for the time dependent PDE solver. It can be changed if an adaptive solver is used.];
   real snapshot-period(!)          [Time period for writing a state of the time dependent problem to a file.];
   real final-time(!)               [Stop time of the time dependent simulation.];
   integer verbose(1)               [Set the verbose mode. The higher number the more messages are generated.];
},[The solver set-up.];

group Discretisation
{
   string time-discretisation(!)    [Time discretisation for the time dependent problems. Can be explicit, semi-implicit or fully-implicit.];
},[The numerical scheme set-up.];
 No newline at end of file
Loading