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

Merge branch 'diffusion'

Conflicts:
	src/config/tnlParameterContainer.h
parents 52f7cf52 b7ebd1ed
Loading
Loading
Loading
Loading
+18 −7
Original line number Diff line number Diff line
@@ -5,26 +5,37 @@
			<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.base.2134791445" moduleId="org.eclipse.cdt.core.settings" name="Default">
				<externalSettings/>
				<extensions>
					<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
					<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
					<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
					<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
					<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
					<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
					<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
				</extensions>
			</storageModule>
			<storageModule moduleId="cdtBuildSystem" version="4.0.0">
				<configuration buildProperties="" id="cdt.managedbuild.toolchain.gnu.base.2134791445" name="Default" parent="org.eclipse.cdt.build.core.emptycfg">
				<configuration buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.base.2134791445" name="Default" parent="org.eclipse.cdt.build.core.emptycfg">
					<folderInfo id="cdt.managedbuild.toolchain.gnu.base.2134791445.1799170915" name="/" resourcePath="">
						<toolChain id="cdt.managedbuild.toolchain.gnu.base.1762402759" name="cdt.managedbuild.toolchain.gnu.base" superClass="cdt.managedbuild.toolchain.gnu.base">
							<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.target.gnu.platform.base.840154721" name="Debug Platform" osList="linux,hpux,aix,qnx" superClass="cdt.managedbuild.target.gnu.platform.base"/>
							<builder id="cdt.managedbuild.target.gnu.builder.base.573876641" managedBuildOn="false" name="Gnu Make Builder.Default" superClass="cdt.managedbuild.target.gnu.builder.base"/>
							<builder id="cdt.managedbuild.target.gnu.builder.base.573876641" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.base"/>
							<tool id="cdt.managedbuild.tool.gnu.archiver.base.958650307" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.base"/>
							<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1237330740" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base"/>
							<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.315517693" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base"/>
							<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.base.1237330740" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.base">
								<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1856262209" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
							</tool>
							<tool id="cdt.managedbuild.tool.gnu.c.compiler.base.315517693" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.base">
								<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.950045328" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
							</tool>
							<tool id="cdt.managedbuild.tool.gnu.c.linker.base.1786292703" name="GCC C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.base"/>
							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.1133414639" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base"/>
							<tool id="cdt.managedbuild.tool.gnu.assembler.base.336757143" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base"/>
							<tool id="cdt.managedbuild.tool.gnu.cpp.linker.base.1133414639" name="GCC C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.base">
								<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.692614544" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
									<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
									<additionalInput kind="additionalinput" paths="$(LIBS)"/>
								</inputType>
							</tool>
							<tool id="cdt.managedbuild.tool.gnu.assembler.base.336757143" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.base">
								<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1329383797" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
							</tool>
						</toolChain>
					</folderInfo>
				</configuration>
+7 −6
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ endif()

if( WITH_CUDA STREQUAL "yes" )
   AddCompilerFlag( "-DHAVE_NOT_CXX11 -U_GLIBCXX_ATOMIC_BUILTINS -U_GLIBCXX_USE_INT128" )
   set( CUDA_LINKER_OPTIONS "-arch sm_20 -shared" ) # TODO: fix this in the rest of cmake files
   set( CUDA_LINKER_OPTIONS "-arch sm_20 -shared" )
else()
   AddCompilerFlag( "-std=gnu++0x" )
endif()      
@@ -105,11 +105,11 @@ endif()
####
# Check for MPI
#
find_package( MPI )
if( MPI_CXX_FOUND )
    set( BUILD_MPI TRUE )
    message( "MPI headers found -- ${MPI_CXX_INCLUDE_PATH}")
endif()
#find_package( MPI )
#if( MPI_CXX_FOUND )
#    set( BUILD_MPI TRUE )
#    message( "MPI headers found -- ${MPI_CXX_INCLUDE_PATH}")
#endif()

####
# Check for some system header
@@ -227,6 +227,7 @@ INSTALL( FILES ${PROJECT_BUILD_PATH}/tnlConfig.h DESTINATION include/tnl-${tnlVe

#Nastavime cesty k hlavickovym souborum a knihovnam
INCLUDE_DIRECTORIES( src )
INCLUDE_DIRECTORIES( tests )
INCLUDE_DIRECTORIES( ${PROJECT_BUILD_PATH} )
LINK_DIRECTORIES( ${LIBRARY_OUTPUT_PATH} )

+6 −29
Original line number Diff line number Diff line
TODO: neumanovy okrajove podminky

TODO: implementovat tridu tnlFileName pro generovani jmen souboru

TODO: metodu pro tnlString pro nahrazeni napr. podretezce XXXXX indexem 00001 tj. uXXXXX.bin -> u00001.bin
      to by melo byt robustnejsi, nez doposavadni pristup 

TODO: implementovat tridu tnlParabolicSolver pro odvozovani resicu k casove promennym uloham


TODO: objekt pro osetreni chyb - zavedeni funkce tnlGetError
      - mozna dat do tnlObject priznak, zda je objekt ok nebo 
        v nefunkcnim stavu   

TODO: implementovat casovace merici jen cas resicu

TODO: vyjimky 
    
TODO: implementovat maticovy format COO - mimo jine by se dal vyuzit k rychlejsimu parsovani mtx souboru

TODO: implementovat metodu tnlObject passToDevice, ktera vytvori obraz daneho objektu na GPU.
      Vrati ukazatel na tridu, ktetou lze pouzivat v kernelech. To by melo zjednodusti psani kernelu a
      priblizit je kodu pro CPU.

TODO: Zkusit z tnlExplicitSolver udelat tnlTimeSolver, od nej odvodit tnlEulerSolver, tnlMersonSolver a
      tnlParabolicSolver. Objekt by obsahoval i metodu pro ukladani stavu v prubehu vypoctu. 
      
TODO: - odvodit tnlArray primo z tnlArrayManager
      - tnlGrid prejmenovat na tnlGridOfNodes
      - zavest tnlGrid podle tnlMesh - tj. bude to pouze popis site bez sitove fce.
      - po prepsani vsech schemat se tnlGridOfNodes zrusi
      - zavest tnlObjectArray pro pole objektu - rozdil je v tom, ze treba save a load bude volat pro kazdy element
        jeho metodu save a load apod.           
      
DONE: Nahradit mGrid2D, mGrid3D za mGrid obecne dimenze 
TODO: prubezne ukladani vysledku behem vypoctu 
                 
 No newline at end of file
DONE: trida tnlArray - misto tnlLongVector a tnlField (nebo postavenou na tnlLongVector)
      template< typename REAL, int DIM, tnlDevice >
DONE: do tnlGrid pridat metodu pro osetreni Dirichletovych a Neumannovych o.p.           
 No newline at end of file
+18 −17
Original line number Diff line number Diff line
INSTALL( FILES Makefile
               tnlZeroRightHandSide_impl.h
               tnlZeroRightHandSide.h
               tnlTimeFunction_impl.h
               tnlTimeFunction.h
set( tnl_heat_equation_SOURCES
     tnlHeatEquationEocRhs.h
               tnlRightHandSide_impl.h
               tnlRightHandSide.h
               tnlNeumannBoundaryConditions_impl.h
               tnlNeumannBoundaryConditions.h
               tnlLinearDiffusion.h
               tnlLinearDiffusion_impl.h
               tnlDirichletBoundaryConditions_impl.h
               tnlDirichletBoundaryConditions.h
               tnlAnalyticSolution_impl.h
               tnlAnalyticSolution.h
               run-init-mesh
               run-heat-equation-testy-laplace-konvergence
               run-heat-equation-testy-konvergence
               run-heat-equation
               main.cpp
               tnl-heat-equation.cpp
               tnl-heat-equation-eoc.cpp
               heatEquationSolver_impl.h
               heatEquationSolver.h
               heatEquationSetter_impl.h
               heatEquationSetter.h
               heat-equation.cfg.desc
               heatEquationEocRhs.h )
               
#ADD_EXECUTABLE(tnl-heat-equation${debugExt} tnl-heat-equation.cpp)
#target_link_libraries (tnl-heat-equation${debugExt} tnl${debugExt}-${tnlVersion} )

ADD_EXECUTABLE(tnl-heat-equation-eoc-test${debugExt} tnl-heat-equation-eoc.cpp)
target_link_libraries (tnl-heat-equation-eoc-test${debugExt} tnl${debugExt}-${tnlVersion} )

INSTALL( TARGETS #tnl-heat-equation${debugExt}
                 tnl-heat-equation-eoc-test${debugExt}
         RUNTIME DESTINATION bin
         PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE )
        
INSTALL( FILES tnl-run-heat-equation-eoc-test
               tnl-run-heat-equation
         DESTINATION share/tnl-${tnlVersion}/examples/heat-equation )
+1 −1
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ INSTALL_DIR = ${HOME}/local
CXX = g++
CUDA_CXX = nvcc
OMP_FLAGS = -DHAVE_OPENMP -fopenmp 
CXX_FLAGS = -std=gnu++0x -I$(TNL_INCLUDE_DIR) -O1 $(OMP_FLAGS)
CXX_FLAGS = -std=gnu++0x -I$(TNL_INCLUDE_DIR) -O3 $(OMP_FLAGS)
LD_FLAGS = -L$(TNL_INSTALL_DIR) -ltnl-0.1 -lgomp

SOURCES = main.cpp
Loading