-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multi-Species Codes and Tests #273
base: master
Are you sure you want to change the base?
Conversation
… into inviscid-real-gas-physics
… AllRealGasConstants so they can be accessed as an object
… into inviscid-real-gas-physics
…lly a mono-species N2 air
…iscid_real_gas.cpp now except for file reading)
it passed compile but segmentation fault when running
…ative solutions of initial condition to prevent errors
…es using if statements, mono-species inviscid real gas test has verified)
it works without problems (1D, calorically perfect, 2-species)
(they are moved to multi_species directory)
it means that the multi-species code can compute the test cases under the following conditions; 1D... up to 4-species 2D... up to 3-species 3D... up to 2-species test cases
it is a 2-species test
it is a 2-species test (uniform density and air composition)
it is a 2-species test (uniform mixture density)
Quality Gate failedFailed conditions See analysis details on SonarQube Cloud Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this file should be somewhere else
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this file should be somewhere else
@@ -10,7 +10,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror") | |||
set(MPIMAX 4 CACHE STRING "Default number of processors used in ctest mpirun -np MPIMAX. Not the same as ctest -jX") | |||
|
|||
|
|||
#set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Og -g") | |||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Og -g") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what was this needed for?
} else if (pde_type == PDE_enum::real_gas) { | ||
// TO DO: will need to modify the nstate; i suggest adding it as a compile time constant; eg PHiLiP_2D_10species then nstate=(nspecies-1)+dim+2 | ||
// TO DO: modify this when you change number of species | ||
return std::make_shared< DGWeak<dim,dim+2+2-1,real,MeshType> >(parameters_input, degree, max_degree_input, grid_degree_input, triangulation_input); // TO DO: N_SPECIES | ||
} else if (pde_type == PDE_enum::multi_species_calorically_perfect_euler) { | ||
// TO DO: will need to modify the nstate; i suggest adding it as a compile time constant; eg PHiLiP_2D_10species then nstate=(nspecies-1)+dim+2 | ||
// TO DO: modify this when you change number of species | ||
return std::make_shared< DGWeak<dim,dim+2+2-1,real,MeshType> >(parameters_input, degree, max_degree_input, grid_degree_input, triangulation_input); // TO DO: N_SPECIES |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
review this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same for other changes in this file
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
when reviewing your own PR, go over once more so that unnecessary small changes like this are not included; makes the review much easier and avoids merge conflicts later one
@@ -51,4 +51,4 @@ foreach(dim RANGE 1 3) | |||
unset(InitialConditionsLib) | |||
unset(PODLib) | |||
unset(MeshAdaptationLib) | |||
endforeach() | |||
endforeach() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
revert small changes like this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clean up the comments or address the TO DO; I'm seeing this in other files too
pcout << "Finished integration test with run error code: " << run_error << std::endl; | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
revert all unnecessary changes like this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please do another self-review on the PR; also resolve all the outstanding merge conflicts by merging the latest version of master with this branch
Summary
This pull request introduces a multi-species solver for inviscid flows (Euler equations). It supports both calorically imperfect and perfect gas models and can handle up to 4 species in 1D, 3 species in 2D, and 2 species in 3D computations. Tests are included to verify and validate the implementation against various cases.
Features
Multi-Species Solver
Implementation Details
New Files
Tests Added
Some tests failed; these are already reported in GitHub and unrelated to the changes introduced in this PR.
TestLog.txt
Details of the algorithms, physics, equations, and results are summarized in Liki's Master's thesis.