Skip to content

Commit 66b43b2

Browse files
committed
add tools
1 parent 6deb59a commit 66b43b2

File tree

12 files changed

+1359
-0
lines changed

12 files changed

+1359
-0
lines changed

modern-cfd/README.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
cmake ../ -D CMAKE_TOOLCHAIN_FILE="c:/dev/vcpkg/scripts/buildsystems/vcpkg.cmake"
22
cmake .. -D CMAKE_PREFIX_PATH:PATH=C:/local/Qt/6.3.2/msvc2019_64/
33
cmake .. -D CMAKE_PREFIX_PATH:PATH=C:/local/Qt/Qt6.4.0/6.4.0/msvc2019_64/
4+
cmake .. -D CMAKE_PREFIX_PATH:PATH=C:/local/Qt/6.7.2/msvc2019_64/
5+
c:\local\Qt\6.7.2\
46
c:\local\Qt\Qt6.4.0\
57
cmake --build .
68
C:\local\Qt\6.3.2\msvc2019_64\bin\windeployqt.exe .\Debug\testprj.exe

tools/CMakeLists.txt

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
cmake_minimum_required(VERSION 3.29)
2+
3+
project(ModernCFD VERSION 0.1.0)
4+
5+
set ( PRJ_COMPILE_FEATURES )
6+
set ( PRJ_COMPILE_DEFINITIONS )
7+
set ( PRJ_LIBRARIES )
8+
set ( PRJ_INCLUDE_DIRS )
9+
10+
set(CMAKE_AUTOUIC ON)
11+
set(CMAKE_AUTOMOC ON)
12+
set(CMAKE_AUTORCC ON)
13+
14+
find_package(Qt6 REQUIRED COMPONENTS Widgets)
15+
16+
list ( APPEND PRJ_LIBRARIES Qt6::Widgets )
17+
list ( APPEND PRJ_COMPILE_FEATURES cxx_std_23 )
18+
19+
if ( MSVC )
20+
set_property( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT ${PROJECT_NAME} )
21+
endif()
22+
23+
set( PROJECT_SOURCES
24+
main.cpp
25+
mainwindow.cpp
26+
mainwindow.h
27+
mainwindow.ui
28+
CfdThread.h CfdThread.cpp
29+
Terminal.h Terminal.cpp
30+
terminal.ui
31+
)
32+
33+
set( PRJ_SOURCES )
34+
foreach(source ${PROJECT_SOURCES})
35+
list( APPEND PRJ_SOURCES "codes/${source}" )
36+
endforeach()
37+
38+
foreach(source ${PRJ_SOURCES})
39+
#message( STATUS "source=${source}" )
40+
endforeach()
41+
42+
add_executable( ${PROJECT_NAME}
43+
)
44+
45+
target_sources( ${PROJECT_NAME}
46+
PRIVATE
47+
${PRJ_SOURCES}
48+
)
49+
50+
target_include_directories ( ${PROJECT_NAME}
51+
PRIVATE
52+
${PRJ_INCLUDE_DIRS}
53+
)
54+
55+
target_link_libraries( ${PROJECT_NAME}
56+
PRIVATE
57+
${PRJ_LIBRARIES}
58+
)
59+
60+
target_compile_features ( ${PROJECT_NAME}
61+
PRIVATE
62+
${PRJ_COMPILE_FEATURES}
63+
)
64+
65+
target_compile_definitions ( ${PROJECT_NAME}
66+
PRIVATE
67+
${PRJ_COMPILE_DEFINITIONS}
68+
)
69+
70+
include(GNUInstallDirs)
71+
install(TARGETS ${PROJECT_NAME}
72+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
73+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
74+
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
75+
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
76+
)

tools/CMakeLists.txt.user

Lines changed: 412 additions & 0 deletions
Large diffs are not rendered by default.

tools/codes/CfdThread.cpp

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#include "CfdThread.h"
2+
#include <QTime>
3+
#include <thread>
4+
#include <iostream>
5+
6+
CfdThread::CfdThread()
7+
{
8+
this->paused = false;
9+
this->stop = false;
10+
}
11+
12+
void CfdThread::beginCFD()
13+
{
14+
this->paused = false;
15+
16+
}
17+
18+
void CfdThread::pauseCFD()
19+
{
20+
this->paused = true;
21+
}
22+
23+
void CfdThread::stopCFD()
24+
{
25+
this->stop = true;
26+
}
27+
28+
void CfdThread::run()
29+
{
30+
download( "CfdThread::run()" );
31+
}
32+
33+
void CfdThread::download(const std::string &file)
34+
{
35+
for ( int i = 0; i < 10; ++ i )
36+
{
37+
if ( this->stop ) break;
38+
std::cout << "Downloading " << file
39+
<< " (" << i * 10 << "%)..." << std::endl;
40+
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
41+
}
42+
std::cout << "Download complete: " << file << std::endl;
43+
}

tools/codes/CfdThread.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#pragma once
2+
3+
#include <QObject>
4+
#include <QThread>
5+
6+
class CfdThread : public QThread
7+
{
8+
Q_OBJECT
9+
public:
10+
CfdThread();
11+
public:
12+
void beginCFD();
13+
void pauseCFD();
14+
void stopCFD();
15+
private:
16+
void download( const std::string & file );
17+
signals:
18+
void newValue(int seq, int diceValue);
19+
protected:
20+
void run() override;
21+
private:
22+
bool stop = false;
23+
bool paused = false;
24+
};

0 commit comments

Comments
 (0)