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

Implementing transport equation EOC solver.

parent a6d80b09
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
add_subdirectory( heat-equation )
add_subdirectory( transport-equation )
add_subdirectory( navier-stokes )

#add_subdirectory( mean-curvature-flow )
@@ -8,7 +9,7 @@ add_subdirectory( navier-stokes )
#add_subdirectory( hamilton-jacobi-parallel-map )
#add_subdirectory( fast-sweeping-map )
#add_subdirectory( narrow-band )
add_subdirectory( advection )

add_subdirectory( inviscid-flow )
#add_subdirectory( mean-curvature-flow )

examples/advection/CMakeLists.txt

deleted100644 → 0
+0 −20
Original line number Diff line number Diff line
set( tnl_heat_equation_SOURCES     
     advection.cpp
     advection.cu )
               
IF( BUILD_CUDA )
   CUDA_ADD_EXECUTABLE( tnl-advection${debugExt} advection.cu)   
   target_link_libraries( tnl-advection${debugExt} tnl${debugExt}-${tnlVersion}  ${CUSPARSE_LIBRARY} )
ELSE(  BUILD_CUDA )               
   ADD_EXECUTABLE( tnl-advection${debugExt} advection.cpp)     
   target_link_libraries( tnl-advection${debugExt} tnl${debugExt}-${tnlVersion} )
ENDIF( BUILD_CUDA )


INSTALL( TARGETS tnl-advection${debugExt}
         RUNTIME DESTINATION bin
         PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE )
        
INSTALL( FILES tnl-run-advection
               ${tnl_heat_equation_SOURCES}
         DESTINATION share/tnl-${tnlVersion}/examples/advection )

examples/advection/advection.cpp

deleted100644 → 0
+0 −1
Original line number Diff line number Diff line
#include "advection.h"

examples/advection/advection.cu

deleted100644 → 0
+0 −1
Original line number Diff line number Diff line
#include "advection.h"
+0 −50
Original line number Diff line number Diff line
#ifndef advectionBUILDCONFIGTAG_H_
#define advectionBUILDCONFIGTAG_H_

#include <TNL/Solvers/BuildConfigTags.h>

namespace TNL {

class advectionBuildConfigTag{};

namespace Solvers {

/****
 * Turn off support for float and long double.
 */
template<> struct ConfigTagReal< advectionBuildConfigTag, float > { enum { enabled = false }; };
template<> struct ConfigTagReal< advectionBuildConfigTag, long double > { enum { enabled = false }; };

/****
 * Turn off support for short int and long int indexing.
 */
template<> struct ConfigTagIndex< advectionBuildConfigTag, short int >{ enum { enabled = false }; };
template<> struct ConfigTagIndex< advectionBuildConfigTag, long int >{ enum { enabled = false }; };

/****
 * Use of Grid is enabled for allowed dimensions and Real, Device and Index types.
 */

template< int Dimensions, typename Real, typename Device, typename Index >
   struct ConfigTagMesh< advectionBuildConfigTag, Meshes::Grid< Dimensions, Real, Device, Index > >
      { enum { enabled = ConfigTagDimensions< advectionBuildConfigTag, Dimensions >::enabled  &&
                         ConfigTagReal< advectionBuildConfigTag, Real >::enabled &&
                         ConfigTagDevice< advectionBuildConfigTag, Device >::enabled &&
                         ConfigTagIndex< advectionBuildConfigTag, Index >::enabled }; };

/****
 * Please, chose your preferred time discretisation  here.
 */
template<> struct ConfigTagTimeDiscretisation< advectionBuildConfigTag, ExplicitTimeDiscretisationTag >{ enum { enabled = true }; };
template<> struct ConfigTagTimeDiscretisation< advectionBuildConfigTag, SemiImplicitTimeDiscretisationTag >{ enum { enabled = true }; };
template<> struct ConfigTagTimeDiscretisation< advectionBuildConfigTag, ImplicitTimeDiscretisationTag >{ enum { enabled = true }; };

/****
 * Only the Runge-Kutta-Merson solver is enabled by default.
 */
template<> struct ConfigTagExplicitSolver< advectionBuildConfigTag, Solvers::ExplicitEulerSolverTag >{ enum { enabled = true }; };

} // namespace Solvers
} // namespace TNL

#endif /* advectionBUILDCONFIGTAG_H_ */
Loading