Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
a2f4798
Adding TRUST-1.7.8 compatible IJK_Kernel files
YanisZatout Oct 3, 2023
abb7bba
Adding raw TRUST-1.7.8 compatible Algo_QC
YanisZatout Oct 3, 2023
4a5dc87
[IJK/Algo_QC] Adding compatible Algo_QC 192, bug correction QUICK
YanisZatout Oct 18, 2023
20ffa6b
[IJK/Algo_QC] adding CHANGELOG
YanisZatout Oct 18, 2023
e3ef427
YanisZatout Oct 18, 2023
124cf75
Added `calculer' method for BALTIK to compile
YanisZatout Dec 12, 2023
74a04d6
Adding centered order 2 scheme for momentum convection in IJK
YanisZatout Dec 12, 2023
6b549f4
Added statistics module for restarting simulations
YanisZatout Dec 12, 2023
ec8a741
Updating correct DNS_QC class
YanisZatout Dec 14, 2023
0ffdd13
Copying Algo_QC to TrioCFD
YanisZatout Dec 14, 2023
73fe724
[IJK/Algo_QC] Bug correction: copy in memory
YanisZatout Dec 15, 2023
7270689
Fix duplication source file
Dec 20, 2023
64ff06e
Delete duplicated file
Dec 20, 2023
11d26ae
Fix OpConvCentre2IJKScalar.tpp
Dec 20, 2023
251e1a5
Fix OpConvIJKQuickScalar.tpp
Dec 20, 2023
9b4facb
Update file with v1.9.3
Dec 20, 2023
11fa267
Fix DNS
Dec 20, 2023
2cb1215
Remove Version_kernel
Dec 20, 2023
f4166fb
Delete patch
Dec 20, 2023
8a7f357
Moving Algo_QC from ./src/Multiphase to ./src
Dec 20, 2023
c35bf16
Adding Algo_QC documentation in section 3
YanisZatoutLISN Feb 26, 2024
f4fd489
Adding different tests for LES models in Algo_QC
YanisZatoutLISN Mar 15, 2024
98733ee
[IJK/Algo_QC] Adding sheer parameter for velocity
YanisZatoutLISN Mar 29, 2024
8f8239f
[IJK/Algo_QC] Change in the statistics/raw data
YanisZatoutLISN Mar 29, 2024
6262a77
[IJK/Algo_QC] Adding test case for save_each_delta_t keyword
YanisZatoutLISN Mar 29, 2024
15e07c2
[IJK/Algo_QC] Adding documentation for keyword dt_save_oscillating_cy…
YanisZatoutLISN Apr 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# description section (required)
[description]
name : New_algo_qc
author : A. Toutant
cpp_flags: -Wno-shadow
# executable :

# dependencies section (optional)
# dependencies format is the following
#
# dependency_name : /path/to/dependency
# The prerequisite1 to fftw has been moved to the kernel

[dependencies]
IJK_Kernel: ../IJK_Kernel
# actually, basic doesn't have dependencies
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
# Generate an initial condition with div(u)=0 for vdf and ijk comparison #
# Save both reprise and lata format #
# PARALLEL OK #
dimension 3
Pb_Thermohydraulique_QC pb

Domaine dom

MaillerParallel
{
domain dom
nb_nodes 3 33 9 17
splitting 3 1 1 1
ghost_thickness 2
perio_x
perio_y
function_coord_x 0.187528*x
function_coord_y 0.046882*y
function_coord_z 0.029846*z
boundary_xmin periox
boundary_xmax periox
boundary_ymin perioy
boundary_ymax perioy
boundary_zmin bas
boundary_zmax haut
}

VDF dis

Runge_Kutta_ordre_3_QC sch
Lire sch
{
tinit 0.
tmax 20
dt_min 1.e-11
dt_max 1.
dt_impr 1.e-7
dt_sauv 1
seuil_statio 1.e-8
nb_pas_dt_max 5 # condition initiale prise apres 5 pas de temps #
}

Fluide_Quasi_Compressible fluide
Lire fluide
{
mu Champ_Fonc_Fonction 1 temperature_qc (1.461e-6*(val^1.5)/(val+111.))
lambda Champ_Fonc_Fonction 1 temperature_qc (1.93198026315789000e-3*val^1.5)/(val+111.)
pression 214072
loi_etat gaz_parfait { Prandtl 0.71 Cp 1005 gamma 1.4 }
}

Associer pb dom
Associer pb sch
Associer pb fluide

Discretiser pb dis

IJK_discretization vdf_to_ijk

Lire vdf_to_ijk
{
vdf_problem pb
splitting 3 1 1 1
perio_i
perio_j
}

Lire pb
{
Navier_Stokes_QC
{
solveur_pression multigrille_adrien
{
coarsen_operators 2
Coarsen_Operator_Uniform { coarsen_i 1 coarsen_j 1 coarsen_k 2 }
Coarsen_Operator_Uniform { coarsen_i 1 coarsen_j 1 coarsen_k 2 }


ghost_size 1
pre_smooth_steps 1 10
smooth_steps 1 10
relax_jacobi 1 0.65
solveur_grossier GCP { seuil 0.5e-17 precond ssor { omega 1.5 } }
check_residu 0
seuil 2.5e-16
nb_full_mg_steps 2 20 1
solver_precision double

}
convection { centre4 }
diffusion { }
conditions_initiales
{
vitesse champ_fonc_xyz dom 3
SIN(z*3.14159265358979/0.029846)*0.01+SIN(2*z*3.14159265358979/0.029846)*2
SIN(z*3.14159265358979/0.029846)*SIN(2*x*3.14159265358979/0.187528)*SIN(4*y*3.14159265358979/0.046882)*0.05
SIN(z*3.14159265358979/0.029846)*SIN(4*x*3.14159265358979/0.187528)*SIN(2*y*3.14159265358979/0.046882)*0.05
}
conditions_limites
{
periox periodique
perioy periodique
haut paroi_fixe
bas paroi_fixe
}
}
Convection_Diffusion_Chaleur_QC
{
diffusion { }
convection { quick }
Sources { }
conditions_initiales { Temperature Champ_fonc_xyz dom 1
273+(600-273)*(z/0.029846)+SIN(z*3.14159265358979/0.029846)*SIN(4*x*3.14159265358979/0.187528)*400
}
conditions_limites
{
periox periodique
perioy periodique
haut paroi_echange_externe_impose T_ext Champ_Front_Uniforme 1 600 H_imp Champ_Front_Uniforme 1 1.e14
bas paroi_echange_externe_impose T_ext Champ_Front_Uniforme 1 273 H_imp Champ_Front_Uniforme 1 1.e14
}
}

Postraitement
{

format lata
# postraiter uniquement l'etat a la fin du calcul #
Champs dt_post 1000
{
vitesse faces
temperature_qc elem
masse_volumique elem
}
}
sauvegarde cond_initial.sauv
}
Resoudre pb

Fin

Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
# ThermoHydraulique 3D : canal quasi compressible gaz parfait VDF turbulent #
# PARALLEL OK #
dimension 3
Pb_Thermohydraulique_QC pb

Domaine dom

MaillerParallel
{
domain dom
nb_nodes 3 33 9 17
splitting 3 1 1 1
ghost_thickness 2
perio_x
perio_y
function_coord_x 0.187528*x
function_coord_y 0.046882*y
function_coord_z 0.029846*z
boundary_xmin periox
boundary_xmax periox
boundary_ymin perioy
boundary_ymax perioy
boundary_zmin bas
boundary_zmax haut
}

VDF dis

Runge_Kutta_ordre_3_QC sch
Lire sch
{
tinit 0.
tmax 20
dt_min 1.e-11
dt_max 1.
dt_impr 1.e-7
dt_sauv 100
seuil_statio 1.e-8
nb_pas_dt_max 50
}

Fluide_Quasi_Compressible fluide
Lire fluide
{
mu Champ_Fonc_Fonction 1 temperature_qc (1.461e-6*(val^1.5)/(val+111.))
lambda Champ_Fonc_Fonction 1 temperature_qc (1.93198026315789000e-3*val^1.5)/(val+111.)
pression 214072
loi_etat gaz_parfait { Prandtl 0.71 Cp 1005 gamma 1.4 }
}

Associer pb dom
Associer pb sch
Associer pb fluide

Discretiser pb dis

IJK_discretization vdf_to_ijk

Lire vdf_to_ijk
{
vdf_problem pb
splitting 3 1 1 1
perio_i
perio_j
}

Lire pb
{
Navier_Stokes_QC
{
solveur_pression multigrille_adrien
{
coarsen_operators 2
Coarsen_Operator_Uniform { coarsen_i 1 coarsen_j 1 coarsen_k 2 }
Coarsen_Operator_Uniform { }


ghost_size 1
pre_smooth_steps 1 5
smooth_steps 1 5
relax_jacobi 1 0.65
solveur_grossier GCP { seuil 0.5e-18 precond ssor { omega 1.5 } }
check_residu 0
seuil 2.5e-18
nb_full_mg_steps 2 4 1

solver_precision mixed

}
convection { centre4 }
diffusion { }
conditions_initiales
{
vitesse champ_fonc_xyz dom 3
SIN(z*3.14159265358979/0.029846)*0.01+SIN(2*z*3.14159265358979/0.029846)*0.005
SIN(z*3.14159265358979/0.029846)*SIN(2*x*3.14159265358979/0.187528)*SIN(4*y*3.14159265358979/0.046882)*0.005
SIN(z*3.14159265358979/0.029846)*SIN(4*x*3.14159265358979/0.187528)*SIN(2*y*3.14159265358979/0.046882)*0.005
}
conditions_limites
{
periox periodique
perioy periodique
haut paroi_fixe
bas paroi_fixe
}
}
Convection_Diffusion_Chaleur_QC
{
diffusion { }
convection { quick }
Sources { }
conditions_initiales { Temperature Champ_fonc_xyz dom 1 273+(600-273)*(z/0.029846) }
conditions_limites
{
periox periodique
perioy periodique
haut paroi_echange_externe_impose T_ext Champ_Front_Uniforme 1 600 H_imp Champ_Front_Uniforme 1 1.e14
bas paroi_echange_externe_impose T_ext Champ_Front_Uniforme 1 273 H_imp Champ_Front_Uniforme 1 1.e14
}
}

Postraitement
{

format lata
Champs dt_post 0.0001
{
vitesse faces
temperature_qc elem
masse_volumique elem
}
}
reprise binaire cond_initial.sauv
}

Resoudre pb
Fin

Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#!/bin/bash

# convertir le fichier lata en ijk pour relecture par la maquette:
if test -f reprise_ijk.lata
then
echo pre_run already done

else
echo doing prerun

echo Creation d une condition initiale
triou cond_initial.data 1>cond_initial.out 2>cond_initial.err

lata2dx cond_initial.lata regularize=1e-6 timestep=1 export_fields_at_faces writelata=reprise_ijk.lata

# La maquette ijk nomme les champs velocity et rho, et le domaine dom, renommer dans le fichier lata:

cp reprise_ijk.lata reprise_ijk.lata.orig

sed 's/CHAMP VITESSE/CHAMP VELOCITY/g;
s/CHAMP MASSE_VOLUMIQUE/CHAMP RHO/g;
s/geometrie=dom_IJK/geometrie=grid_geom/g;
s/GEOM.*dom_IJK/GEOM grid_geom/g' reprise_ijk.lata.orig >reprise_ijk.lata

# creation du jdd vdf pour la suite du calcul:

starttime=`awk '$0~"Backup of the field vitesse performed on time"{t=$10}END{print t}' cond_initial.err`
pthermoinit=`tail -n 1 evol_glob | awk '{print $4}'`

sed "s/tinit .*/tinit $starttime/;
s/sauvegarde/reprise binaire/;
s/dt_post .*/dt_post 0.00001/;
s/nb_pas_dt_max .*/nb_pas_dt_max 50/
" cond_initial.data >jdd_vdf.data
# poour NR
cp jdd_vdf.data dns_qc_difference_vdf_ijk_jdd1.data

# creation des donnees de reprise pour le calcul ijk

cat >reprise_ijk.data <<EOF
{
tinit $starttime
fichier_reprise_vitesse reprise_ijk.lata
timestep_reprise_vitesse 1
fichier_reprise_rho reprise_ijk.lata
timestep_reprise_rho 1
p_thermo_init $pthermoinit
terme_acceleration_init 0.
}
EOF

cp reprise_ijk.data dns_qc_difference_vdf_ijk_jdd2.data
fi
Loading