Skip to content
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

Hamo new fixes #244

Open
wants to merge 837 commits into
base: membrane
Choose a base branch
from
Open

Hamo new fixes #244

wants to merge 837 commits into from

Conversation

mhadziabdic
Copy link
Collaborator

In this branch we corrected the subroutines that implement the wall function approach for LES. It is tested and validated.

exponential function defined with three points and
two points plus derivative, and also added two new
limiters which take care of the sign

On branch boil_bojan

modified:   Math_Mod.f90
new file:   Math_Mod/Fit_Exp_Derivative_And_Two_Points.f90
new file:   Math_Mod/Fit_Exp_Three_Points.f90
new file:   Math_Mod/Signed_Lower_Limit.f90
new file:   Math_Mod/Signed_Upper_Limit.f90
On branch boil_bojan

deleted:    Utilities/Exp_Curve_Fit_1.f90
On branch boil_bojan

modified:   Shared/Math_Mod/Fit_Exp_Derivative_And_Two_Points.f90
modified:   Shared/Math_Mod/Fit_Exp_Three_Points.f90
modified:   Utilities/Exp_Curve_Fit_2_Points.f90
modified:   Utilities/Exp_Curve_Fit_3_Points.f90
On branch boil_bojan

modified:   Update_Boundary_Values.f90
On branch boil_bojan

modified:   Process/Results_Mod/Save_Front.f90
Scalars="scalars" vectors="velocity" in .vtu files.

On branch boil_bojan

modified:   Process/Front_Mod/Save_Front.f90
modified:   Process/Results_Mod/Save_Surf.f90
modified:   Process/Results_Mod/Save_Swarm.f90
On branch boil_bojan

modified:   Shared/Cpu_Timer_Mod/Statistics.f90
On branch boil_bojan

modified:   Shared/Math_Mod/Fit_Exp_Three_Points.f90
On branch boil_bojan

modified:   Shared/Math_Mod/Fit_Exp_Derivative_And_Two_Points.f90
modified:   Shared/Math_Mod/Fit_Exp_Three_Points.f90
On branch boil_bojan

modified:   Shared/Const_Mod.f90
In such way, the compiler doesn't complain about METIS
calls any more, as well as fseek, ftell and alike.

On branch boil_bojan

modified:   Convert/makefile
modified:   Divide/makefile
modified:   Generate/makefile
modified:   Process/makefile
Most important changes:
- Fixed an error which occured if a very long function
  wasn't timed, and its time would be added to
  previously called function
- Renamed a number of local variables for easier reading
- Indent (former I) is now a parameter to the call of the
  function Statistics, so that it can be called from
  various sub-programs

On branch boil_bojan

modified:   Cpu_Timer_Mod.f90
modified:   Cpu_Timer_Mod/Start.f90
modified:   Cpu_Timer_Mod/Statistics.f90
modified:   Cpu_Timer_Mod/Stop.f90
new file:   Cpu_Timer_Mod/Update_By_Rank.f90
A number of member functions are timed too.
Because of this change, makefiles for sub-programs
Generate, Divide and Convert had to be updated.

On branch boil_bojan

modified:   Grid_Mod.f90
modified:   Grid_Mod/Calculate_Wall_Distance.f90
modified:   Grid_Mod/Save_Cfn.f90
modified:   Grid_Mod/Save_Dim.f90
modified:   Grid_Mod/Save_Vtu_Cells.f90
modified:   Grid_Mod/Save_Vtu_Edges.f90
modified:   Grid_Mod/Save_Vtu_Faces.f90
(This follows the check-in: e84989b)

On branch boil_bojan

modified:   Process/Main_Pro.f90
(See commit: bb0dd8e)

On branch boil_bojan

modified:   Convert/makefile
modified:   Convert/makefile_explicit_dependencies
modified:   Divide/makefile
modified:   Divide/makefile_explicit_dependencies
modified:   Generate/makefile
modified:   Generate/makefile_explicit_dependencies
On branch boil_bojan

modified:   Calculate_Geometry.f90
modified:   Find_Faces.f90
modified:   Find_Parents.f90
modified:   Grid_Topology.f90
modified:   Load_Fluent.f90
modified:   Load_Gambit.f90
modified:   Load_Gmsh.f90
modified:   Main_Con.f90
On branch boil_bojan

modified:   Main_Div.f90
On branch boil_bojan

modified:   makefile
On branch boil_bojan

modified:   Main_Div.f90
On branch boil_bojan

modified:   Sort_Mod.f90
The reason for these changes was in the fact that "cpu_time",
function which was used in Cpu_Timer_Mod, wasn't giving correct
values when programs (Convert, at this stage) were compiled with
OPENMP=yes.

The version currently submitted, relies on the "system_clock"
instead.  This issue is known and was described here:

https://stackoverflow.com/questions/25465101/fortran-openmp-program-shows-no-speedup-of-cpu-time

This check-in changed a lot of files because all the instances
of Cpu_Timer have been changed to Profiler.

An additional change was done in Convert/Load_Gmsh.  It has
been optimized for reading and is faster than before.

On branch boil_bojan

modified:   Convert/Calculate_Geometry.f90
modified:   Convert/Find_Faces.f90
modified:   Convert/Find_Parents.f90
modified:   Convert/Grid_Topology.f90
modified:   Convert/Load_Fluent.f90
modified:   Convert/Load_Gambit.f90
modified:   Convert/Load_Gmsh.f90
modified:   Convert/Main_Con.f90
modified:   Convert/makefile
modified:   Convert/makefile_explicit_dependencies
modified:   Divide/makefile
modified:   Divide/makefile_explicit_dependencies
modified:   Generate/makefile
modified:   Generate/makefile_explicit_dependencies
modified:   Process/Backup_Mod/Load.f90
modified:   Process/Backup_Mod/Save.f90
modified:   Process/Compute_Energy.f90
modified:   Process/Compute_Momentum.f90
modified:   Process/Compute_Pressure.f90
modified:   Process/Compute_Scalar.f90
modified:   Process/Correct_Velocity.f90
modified:   Process/Field_Mod.f90
modified:   Process/Field_Mod/Gradients/Grad_Gauss_Variable.f90
modified:   Process/Field_Mod/Gradients/Grad_Least_Variable.f90
modified:   Process/Front_Mod.f90
modified:   Process/Front_Mod/Place_Front_At_Value.f90
modified:   Process/Info_Mod/Start.f90
modified:   Process/Info_Mod/Time_Fill.f90
modified:   Process/Interface_Mod.f90
modified:   Process/Main_Pro.f90
modified:   Process/Results_Mod/Save_Results.f90
modified:   Process/Rhie_And_Chow.f90
modified:   Process/Surf_Mod/Place_Surf_At_Value.f90
modified:   Process/Turb_Mod.f90
modified:   Process/Turb_Mod/Compute_F22.f90
modified:   Process/Turb_Mod/Compute_Stress.f90
modified:   Process/Turb_Mod/Compute_Variable.f90
modified:   Process/Vof_Mod/Core/Compute_Vof.f90
modified:   Process/Vof_Mod/Core/Solve_System.f90
modified:   Process/makefile
modified:   Process/makefile_explicit_dependencies
modified:   Shared/Grid_Mod.f90
modified:   Shared/Grid_Mod/Calculate_Wall_Distance.f90
modified:   Shared/Grid_Mod/Save_Cfn.f90
modified:   Shared/Grid_Mod/Save_Dim.f90
modified:   Shared/Grid_Mod/Save_Vtu_Cells.f90
modified:   Shared/Grid_Mod/Save_Vtu_Edges.f90
modified:   Shared/Grid_Mod/Save_Vtu_Faces.f90
renamed:    Shared/Cpu_Timer_Mod.f90 -> Shared/Profiler_Mod.f90
renamed:    Shared/Cpu_Timer_Mod/Start.f90 -> Shared/Profiler_Mod/Start.f90
renamed:    Shared/Cpu_Timer_Mod/Statistics.f90 -> Shared/Profiler_Mod/Statistics.f90
renamed:    Shared/Cpu_Timer_Mod/Stop.f90 -> Shared/Profiler_Mod/Stop.f90
renamed:    Shared/Cpu_Timer_Mod/Update_By_Rank.f90 -> Shared/Profiler_Mod/Update_By_Rank.f90
On branch boil_bojan

modified:   Load_Gmsh.f90
On branch boil_bojan

modified:   Front_Mod/Print_Front_Statistics.f90
On branch boil_bojan

modified:   Process/Compute_Momentum_Explicit.f90
modified:   Process/Field_Mod/Utilities/Compute_Wall_Distance.f90
On branch boil_bojan

modified:   /Tests/Vof/Stefan/Compute_Energy.f90
Quite a few things have happened here:
- parameters a, b and c in Math_Mod/Fit_Exp_... functions
  are now local variabes.
- fixes to Update_Boundary_Values as proposed by Muhamed
  have been implemented
- new control keyword (and consequently the changes in
  Control_Mod have been implemented.  The new keyword is:
  EXTRAPOLATE_TEMPERATURE_EXP
- Documentation/all_control_keywords has been updated

On branch boil_bojan

modified:   Process/Field_Mod.f90
modified:   Process/Read_Controls_Mod/Physical_Models.f90
modified:   Process/Update_Boundary_Values.f90
modified:   Shared/Control_Mod.f90
new file:   Shared/Control_Mod/Physics/Extrapolate_Temperature_Exp.f90
modified:   Shared/Math_Mod/Fit_Exp_Derivative_And_Two_Points.f90
modified:   Shared/Math_Mod/Fit_Exp_Three_Points.f90
modified:   Documentation/all_control_keywords
On branch boil_bojan

modified:   Turb_Mod/Src_Eps_K_Eps.f90
modified:   Turb_Mod/Src_Eps_K_Eps_Zeta_F.f90
modified:   Turb_Mod/Src_T2.f90
the following parameters:
- integer, parameter :: MAX_FACES_N_NODES = 36  ! 12  ! 12
- integer, parameter :: MAX_CELLS_N_NODES = 96  ! 72  ! 36
- integer, parameter :: MAX_CELLS_N_FACES = 72  ! 48  ! 24
- integer, parameter :: MAX_CELLS_N_CELLS = MAX_CELLS_N_FACES

in Grid_Mod.  That should be good, but also tested more.

On branch adjust_first_dim

modified:   Convert/Create_Dual.f90
modified:   Convert/Find_Faces.f90
modified:   Convert/Grid_Topology.f90
modified:   Convert/Load_Fluent.f90
modified:   Convert/Load_Gmsh.f90
modified:   Convert/Sort_Face_Nodes.f90
modified:   Convert/makefile
modified:   Divide/makefile
modified:   Generate/Calculate_Geometry.f90
modified:   Generate/Domain_Mod/Calculate_Node_Coordinates.f90
modified:   Generate/Main_Gen.f90
modified:   Generate/Refines_Mod/Connectivity.f90
modified:   Generate/makefile
modified:   Process/makefile
modified:   Shared/Grid_Mod.f90
modified:   Shared/Grid_Mod/Allocate_Cells.f90
modified:   Shared/Grid_Mod/Allocate_Faces.f90
modified:   Shared/Grid_Mod/Calculate_Cell_Inertia.f90
modified:   Shared/Grid_Mod/Calculate_Cell_Volumes.f90
modified:   Shared/Grid_Mod/Calculate_Face_Centers.f90
modified:   Shared/Grid_Mod/Calculate_Face_Surfaces.f90
modified:   Shared/Grid_Mod/Find_Cells_Faces.f90
modified:   Shared/Grid_Mod/Load_Cfn.f90
modified:   Shared/Grid_Mod/Print_Grid_Statistics.f90
modified:   Shared/Grid_Mod/Sort_Cells_Smart.f90
modified:   Shared/Grid_Mod/Sort_Faces_By_Index.f90
modified:   Shared/Grid_Mod/Sort_Faces_Smart.f90
modified:   Shared/Probe_1d_Cells.f90
modified:   Shared/Probe_1d_Cells_Nodes.f90
modified:   Shared/Probe_1d_Nodes.f90
modified:   Shared/Probe_2d.f90
the following parameters:
- integer, parameter :: MAX_FACES_N_NODES = 36  ! 12  ! 12
- integer, parameter :: MAX_CELLS_N_NODES = 96  ! 72  ! 36
- integer, parameter :: MAX_CELLS_N_FACES = 72  ! 48  ! 24
- integer, parameter :: MAX_CELLS_N_CELLS = MAX_CELLS_N_FACES

in Grid_Mod.  That should be good, but also tested more.

On branch adjust_first_dim

new file:   Shared/Adjust_First_Dim.f90
new file:   Shared/Adjust_First_Dim.h90
modified:   Convert/Create_Dual.f90
modified:   Convert/Find_Faces.f90
modified:   Convert/Grid_Topology.f90
modified:   Convert/Load_Fluent.f90
modified:   Convert/Load_Gmsh.f90
modified:   Convert/Sort_Face_Nodes.f90
modified:   Convert/makefile
modified:   Divide/makefile
modified:   Generate/Calculate_Geometry.f90
modified:   Generate/Domain_Mod/Calculate_Node_Coordinates.f90
modified:   Generate/Main_Gen.f90
modified:   Generate/Refines_Mod/Connectivity.f90
modified:   Generate/makefile
modified:   Process/makefile
modified:   Shared/Grid_Mod.f90
modified:   Shared/Grid_Mod/Allocate_Cells.f90
modified:   Shared/Grid_Mod/Allocate_Faces.f90
modified:   Shared/Grid_Mod/Calculate_Cell_Inertia.f90
modified:   Shared/Grid_Mod/Calculate_Cell_Volumes.f90
modified:   Shared/Grid_Mod/Calculate_Face_Centers.f90
modified:   Shared/Grid_Mod/Calculate_Face_Surfaces.f90
modified:   Shared/Grid_Mod/Find_Cells_Faces.f90
modified:   Shared/Grid_Mod/Load_Cfn.f90
modified:   Shared/Grid_Mod/Print_Grid_Statistics.f90
modified:   Shared/Grid_Mod/Sort_Cells_Smart.f90
modified:   Shared/Grid_Mod/Sort_Faces_By_Index.f90
modified:   Shared/Grid_Mod/Sort_Faces_Smart.f90
modified:   Shared/Probe_1d_Cells.f90
modified:   Shared/Probe_1d_Cells_Nodes.f90
modified:   Shared/Probe_1d_Nodes.f90
modified:   Shared/Probe_2d.f90
Niceno and others added 29 commits November 17, 2022 07:16
On branch boil_bojan

modified:   cavity.geo
I tried to use it to minimuze the bandwith of systems
but so far it is failing miserably.

new file:   Documentation/Literature/Metis_Manual.pdf
modified:   Sources/Generate/Main_Gen.f90
modified:   Sources/Shared/Grid_Mod.f90
modified:   Sources/Shared/Grid_Mod/Decompose.f90
modified:   Sources/Shared/Grid_Mod/Sort_Cells_Smart.f90
new file:   Sources/Shared/Grid_Mod/Sort_Cells_Smarter.f90
modified:   Sources/Shared/Grid_Mod/Sort_Faces_Smart.f90
modified:   Sources/Shared/Metis_Options_Mod.f90
if any of LES models is engaged.

On branch boil_bojan

modified:   Turb_Mod.f90
new file:   Turb_Mod/Les.f90
And I mean big time.  They were consistently giving
broader bandwidth of matrices than what was innitially
in the code, so I will abandon these things for the
time being.

Metis_Options_Mod, however, advanced fractionally.
Now it doesn't hold only parameters with METIS options
but also has a member function for its creation.  The
name has also changed and is now called simply Metis_Mod

On branch experimental_metis_renumbering

modified:   Sources/Convert/makefile
modified:   Sources/Convert/makefile_explicit_dependencies
modified:   Sources/Divide/makefile
modified:   Sources/Divide/makefile_explicit_dependencies
modified:   Sources/Generate/Main_Gen.f90
modified:   Sources/Generate/makefile
modified:   Sources/Generate/makefile_explicit_dependencies
modified:   Sources/Process/makefile
modified:   Sources/Process/makefile_explicit_dependencies
modified:   Sources/Shared/Grid_Mod.f90
new file:   Sources/Shared/Metis_Mod.f90
new file:   Sources/Shared/Metis_Mod/Create_Metis.f90
deleted:    Sources/Shared/Metis_Options_Mod.f90
This is just to merge the advancements in Metis_Mod
This should merge Les function in Turb_Mod and Metis_Mod
This should have the new Metis_Mod
…oil_bojan

 Conflicts:
	Sources/Utilities/extract_call_graph.sh

 It looks like you may be committing a merge.
 If this is not correct, please remove the file
	.git/MERGE_HEAD
 and try again.
This has Turb % Les and Metis_Mod
On branch boil_bojan

modified:   Convert/makefile
modified:   Divide/makefile
modified:   Generate/makefile
modified:   Process/makefile
modified:   Utilities/extract_call_graph.sh
On branch boil_bojan

new file:   Models/tree_forrest.mtl
new file:   Models/tree_forrest.obj
new file:   Models/tree_urban.mtl
new file:   Models/tree_urban.obj
On branch boil_bojan

modified:   tree_forrest.obj
modified:   tree_urban.obj
On branch boil_bojan

modified:   Divide/makefile
modified:   Generate/makefile
On branch boil_bojan

modified:   Shared/Grid_Mod/Save_Vtu_Faces.f90
On branch boil_bojan

modified:   Convert_Mod/Allocate_Memory.f90
modified:   Convert_Mod/Calculate_Geometry.f90
modified:   Convert_Mod/Create_Dual.f90
modified:   Convert_Mod/Find_Faces.f90
modified:   Convert_Mod/Find_Parents.f90
modified:   Convert_Mod/Grid_Topology.f90
modified:   Convert_Mod/Insert_Buildings.f90
modified:   Convert_Mod/Load_Fluent.f90
modified:   Convert_Mod/Load_Gambit.f90
modified:   Convert_Mod/Load_Gmsh.f90
modified:   Convert_Mod/Logo_Con.f90
modified:   Convert_Mod/N_Bnd_Cells_In_Color.f90
modified:   Convert_Mod/N_Edges_In_Bnd_Color.f90
modified:   Convert_Mod/N_Nodes_In_Bnd_Color.f90
modified:   Convert_Mod/N_Sharp_Corners.f90
modified:   Convert_Mod/N_Sharp_Edges.f90
modified:   Convert_Mod/Sort_Face_Nodes.f90
On branch boil_bojan

modified:   Convert_Mod.f90
modified:   Convert_Mod/Guess_Format.f90
new file:   Convert_Mod/Load_Forrest.f90
new file:   Convert_Mod/Load_Obj.f90
modified:   Main_Con.f90
On branch boil_bojan

modified:   Shared/Assert_Mod/Handle_Assert.f90
On branch boil_bojan

modified:   Convert/makefile
modified:   Divide/makefile
modified:   Generate/makefile
modified:   Process/makefile
On branch boil_bojan

modified:   Shared/Assert.h90
On branch boil_bojan

modified:   Convert_Mod/Load_Forrest.f90
On branch boil_bojan

deleted:    Documentation/Models/tree_forrest.mtl
deleted:    Documentation/Models/tree_forrest.obj
deleted:    Documentation/Models/tree_urban.mtl
deleted:    Documentation/Models/tree_urban.obj
On branch boil_bojan

new file:   Tests/Les/Forrest/convert_plant_trees.scr
new file:   Tests/Les/Forrest/tree_forrest.mtl
new file:   Tests/Les/Forrest/tree_forrest.obj
new file:   Tests/Les/Forrest/tree_neutral.mtl
new file:   Tests/Les/Forrest/tree_neutral.obj
new file:   Tests/Les/Forrest/tree_urban.mtl
new file:   Tests/Les/Forrest/tree_urban.obj
On branch boil_bojan

modified:   Convert_Mod/Load_Forrest.f90
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants