Skip to content

Commit

Permalink
Merge branch 'feature.MultiPeriodicRotBCMixPlane' into 'master.dev'
Browse files Browse the repository at this point in the history
[feature.MultiPeriodicRotBCMixPlane] Mixing planes for rotational periodic BCs

Closes #199

See merge request piclas/piclas!788
  • Loading branch information
pnizenkov committed Jul 21, 2023
2 parents eec2ddc + b5c8061 commit fea50b3
Show file tree
Hide file tree
Showing 82 changed files with 3,821 additions and 2,246 deletions.
114 changes: 58 additions & 56 deletions REGGIE.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ The `Part-Boundary1-SourceName=` corresponds to the name given during the prepro
| `reflective` | Allows the definition of specular and diffuse reflection, Section {ref}`sec:particle-boundary-conditions-reflective` |
| `rot_periodic` | Allows the definition of rotational periodicity, Section {ref}`sec:particle-boundary-conditions-rotBC` |

For `rot_periodic` exactly two corresponding boundaries must be defined. Every particle crossing one of these boundaries will be
inserted at the corresponding other boundary that is rotationally shifted.

(sec:particle-boundary-conditions-reflective)=
## Reflective Wall

Expand Down Expand Up @@ -130,21 +127,24 @@ periodic boundary is tranformed according to this angle, which is defined by the

The usage of rotational periodic boundary conditions is limited to cases, where the rotational periodic axis is one of the three
Cartesian coordinate axis (x, y, z) with its origin at (0, 0, 0).
It is also possible to define several segments with different rotation angles. Exactly two corresponding BCs must be defined for each segment.
In addition, the minimum and maximum coordinates along the rotation axis must be chosen for each BC to define the position of the segment.
In the following example we have two segments. One between BCs 1 and 2 and one between BCs 4 and 5

Part-Boundary1-RotPeriodicMin=-1.
Part-Boundary1-RotPeriodicMax=1.
### Intermediate Plane Definition
If several segments with different rotation angles are defined, exactly two corresponding BCs must be defined for each segment.
Since the plane between these segments with different rotational symmetry angles represents a non-conforming connection, additional
two BCs must be defined as `rot_periodic_inter_plane` at this intermediate plane. Both BCs must refer to each other in the
definition in order to ensure the connection.

Part-Boundary2-RotPeriodicMin=-1.
Part-Boundary2-RotPeriodicMax=1.
Part-Boundary40-SourceName = BC_INT_R1_BOT
Part-Boundary40-Condition = rot_periodic_inter_plane
Part-Boundary40-AssociatedPlane = 41

Part-Boundary4-RotPeriodicMin=1.
Part-Boundary4-RotPeriodicMax=3.
Part-Boundary41-SourceName = BC_INT_S1_TOP
Part-Boundary41-Condition = rot_periodic_inter_plane
Part-Boundary41-AssociatedPlane = 40

Part-Boundary5-RotPeriodicMin=1.
Part-Boundary5-RotPeriodicMax=3.
Note that using the intermediate plane definition with two corresponding BCs allows the user to mesh the segments independently,
creating a non-conforming interface at the intermediate plane. However, use of these non-conformal grids has so far only been
possible in pure DSMC simulations.

## Porous Wall / Pump

Expand Down

This file was deleted.

This file was deleted.

Binary file not shown.
5 changes: 0 additions & 5 deletions regressioncheck/CHE_DSMC/Rotational_Reference_Frame/readme.md

This file was deleted.

This file was deleted.

This file was deleted.

Binary file not shown.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
001-TIME,002-nPart-Spec-001,003-TempTra-001
0.00000000000000E+000,0.00000000000000E+000,0.00000000000000E+000
2.00000000000000E-001,4.02900000000000E+003,3.06258549999630E+002
4.00000000000000E-001,3.98700000000000E+003,2.96310088810491E+002
6.00000000000000E-001,3.95700000000000E+003,3.05210456840384E+002
6.00000000000000E-003,3.95700000000000E+003,3.05210456840384E+002
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,14 @@ useCurveds = F
! =============================================================================== !
ProjectName = SurfaceFluxTest
Logging = F
DoCalcErrorNorms = T

! =============================================================================== !
! CALCULATION
! =============================================================================== !
CFLscale = 0.9 ! Scaling of theoretical CFL number
c_corr = 1
! =============================================================================== !
tend = 6E-1 ! End time
Analyze_dt = 6E-1 ! Timestep of analyze outputs

tend = 6E-3 ! End time
Analyze_dt = 6E-3 ! Timestep of analyze outputs
! =============================================================================== !
! PARTICLES
! =============================================================================== !
Expand All @@ -41,13 +38,11 @@ Part-Boundary1-SourceName=BC_outflow
Part-Boundary1-Condition=open

Part-vMPF=F
Part-maxParticleNumber=4000000
Part-maxParticleNumber=100000
Part-nSpecies=1
PIC-externalField=(/0.,0.,0.,0.,0.,0./)
Part-FIBGMdeltas=(/.5,.5,.5/)

BezierSampleN=1 !enough for VeloIsNormal
Particles-DoTimeDepInflow=F

Part-Species1-ChargeIC=0.
Part-Species1-MassIC=1.0E-26
Expand All @@ -63,7 +58,7 @@ Part-Species1-Surfaceflux1-VeloIC=0.
Part-Species1-Surfaceflux1-VeloIsNormal=true
Part-Species1-Surfaceflux1-PartDensity=5.92592592e4 !N/V=4e4/0.675

ManualTimeStep=2E-1
ManualTimeStep=2E-3
Particles-HaloEpsVelo=3000

useDSMC=T
Expand Down
2 changes: 1 addition & 1 deletion regressioncheck/NIG_DSMC/RotPeriodicBC/parameter.ini
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ Load-DeviationThreshold = 1E-9
! =============================================================================== !
! PARTICLES
! =============================================================================== !
Part-maxParticleNumber=3000000
Part-maxParticleNumber=1500000
Part-nSpecies=1
Part-nBounds=6

Expand Down
104 changes: 102 additions & 2 deletions regressioncheck/NIG_DSMC/RotPeriodicBCMulti/PartAnalyze_ref.csv
Original file line number Diff line number Diff line change
@@ -1,2 +1,102 @@
001-TIME,002-nPart-Spec-001,003-nPartIn-Spec-001,004-nPartOut-Spec-001,005-EkinIn-001,006-EkinOut-001
0.1000000000000000E-003,0.9431000000000000E+004,0.0000000000000000E+000,0.0000000000000000E+000,0.0000000000000000E+000,0.0000000000000000E+000
001-TIME,002-nPart-Spec-001
0.0000000000000000E+000,0.9420000000000000E+004
0.1000000000000000E-005,0.9420000000000000E+004
0.2000000000000000E-005,0.9420000000000000E+004
0.3000000000000000E-005,0.9420000000000000E+004
0.4000000000000000E-005,0.9421000000000000E+004
0.5000000000000000E-005,0.9420000000000000E+004
0.5999999999999999E-005,0.9420000000000000E+004
0.6999999999999999E-005,0.9420000000000000E+004
0.8000000000000000E-005,0.9420000000000000E+004
0.9000000000000000E-005,0.9420000000000000E+004
0.1000000000000000E-004,0.9417000000000000E+004
0.1100000000000000E-004,0.9417000000000000E+004
0.1200000000000000E-004,0.9416000000000000E+004
0.1300000000000000E-004,0.9416000000000000E+004
0.1400000000000000E-004,0.9415000000000000E+004
0.1500000000000000E-004,0.9415000000000000E+004
0.1600000000000000E-004,0.9415000000000000E+004
0.1700000000000000E-004,0.9415000000000000E+004
0.1800000000000000E-004,0.9414000000000000E+004
0.1900000000000000E-004,0.9414000000000000E+004
0.2000000000000001E-004,0.9415000000000000E+004
0.2100000000000001E-004,0.9415000000000000E+004
0.2200000000000001E-004,0.9415000000000000E+004
0.2300000000000001E-004,0.9415000000000000E+004
0.2400000000000001E-004,0.9416000000000000E+004
0.2500000000000001E-004,0.9416000000000000E+004
0.2600000000000001E-004,0.9416000000000000E+004
0.2700000000000001E-004,0.9416000000000000E+004
0.2800000000000001E-004,0.9416000000000000E+004
0.2900000000000001E-004,0.9414000000000000E+004
0.3000000000000001E-004,0.9414000000000000E+004
0.3100000000000001E-004,0.9414000000000000E+004
0.3200000000000001E-004,0.9415000000000000E+004
0.3300000000000000E-004,0.9416000000000000E+004
0.3400000000000000E-004,0.9416000000000000E+004
0.3500000000000000E-004,0.9416000000000000E+004
0.3599999999999999E-004,0.9416000000000000E+004
0.3699999999999999E-004,0.9416000000000000E+004
0.3799999999999999E-004,0.9416000000000000E+004
0.3899999999999999E-004,0.9415000000000000E+004
0.3999999999999998E-004,0.9416000000000000E+004
0.4099999999999998E-004,0.9417000000000000E+004
0.4199999999999998E-004,0.9418000000000000E+004
0.4299999999999997E-004,0.9418000000000000E+004
0.4399999999999997E-004,0.9418000000000000E+004
0.4499999999999997E-004,0.9418000000000000E+004
0.4599999999999997E-004,0.9418000000000000E+004
0.4699999999999996E-004,0.9418000000000000E+004
0.4799999999999996E-004,0.9418000000000000E+004
0.4899999999999996E-004,0.9418000000000000E+004
0.4999999999999995E-004,0.9418000000000000E+004
0.5099999999999995E-004,0.9418000000000000E+004
0.5199999999999995E-004,0.9415000000000000E+004
0.5299999999999995E-004,0.9415000000000000E+004
0.5399999999999994E-004,0.9415000000000000E+004
0.5499999999999994E-004,0.9416000000000000E+004
0.5599999999999994E-004,0.9416000000000000E+004
0.5699999999999994E-004,0.9416000000000000E+004
0.5799999999999993E-004,0.9417000000000000E+004
0.5899999999999993E-004,0.9417000000000000E+004
0.5999999999999993E-004,0.9417000000000000E+004
0.6099999999999992E-004,0.9417000000000000E+004
0.6199999999999992E-004,0.9417000000000000E+004
0.6299999999999992E-004,0.9418000000000000E+004
0.6399999999999992E-004,0.9418000000000000E+004
0.6499999999999991E-004,0.9418000000000000E+004
0.6599999999999991E-004,0.9418000000000000E+004
0.6699999999999991E-004,0.9418000000000000E+004
0.6799999999999990E-004,0.9417000000000000E+004
0.6899999999999990E-004,0.9417000000000000E+004
0.6999999999999990E-004,0.9415000000000000E+004
0.7099999999999990E-004,0.9413000000000000E+004
0.7199999999999989E-004,0.9413000000000000E+004
0.7299999999999989E-004,0.9413000000000000E+004
0.7399999999999989E-004,0.9413000000000000E+004
0.7499999999999989E-004,0.9413000000000000E+004
0.7599999999999988E-004,0.9412000000000000E+004
0.7699999999999988E-004,0.9412000000000000E+004
0.7799999999999988E-004,0.9412000000000000E+004
0.7899999999999987E-004,0.9413000000000000E+004
0.7999999999999987E-004,0.9411000000000000E+004
0.8099999999999987E-004,0.9411000000000000E+004
0.8199999999999987E-004,0.9410000000000000E+004
0.8299999999999986E-004,0.9409000000000000E+004
0.8399999999999986E-004,0.9410000000000000E+004
0.8499999999999986E-004,0.9410000000000000E+004
0.8599999999999985E-004,0.9410000000000000E+004
0.8699999999999985E-004,0.9411000000000000E+004
0.8799999999999985E-004,0.9411000000000000E+004
0.8899999999999985E-004,0.9411000000000000E+004
0.8999999999999984E-004,0.9411000000000000E+004
0.9099999999999984E-004,0.9411000000000000E+004
0.9199999999999984E-004,0.9411000000000000E+004
0.9299999999999983E-004,0.9411000000000000E+004
0.9399999999999983E-004,0.9410000000000000E+004
0.9499999999999983E-004,0.9411000000000000E+004
0.9599999999999983E-004,0.9411000000000000E+004
0.9699999999999982E-004,0.9412000000000000E+004
0.9799999999999982E-004,0.9412000000000000E+004
0.9899999999999982E-004,0.9412000000000000E+004
0.1000000000000000E-003,0.9413000000000000E+004
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"BoundaryIndex","BoundaryName","RotPeriodicBCMin","RotPeriodicBCMax"
2,BC_ROT_TOP_1,0.1000000000000000E+001,0.3000000000000000E+001
3,BC_ROT_TOP_2,0.1000000000000000E+001,0.3000000000000000E+001
4,BC_ROT_BOT_1,-.1000000000000000E+001,0.1000000000000000E+001
5,BC_ROT_BOT_2,-.1000000000000000E+001,0.1000000000000000E+001
7 changes: 6 additions & 1 deletion regressioncheck/NIG_DSMC/RotPeriodicBCMulti/analyze.ini
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,15 @@ check_hdf5_dimension = 0:2
check_hdf5_limits = -1.0:3.0
check_hdf5_span = 1 ! for PartData that is stored as [NParts, NProperties]


! compare the last row in PartAnalyze.csv with a reference file
compare_data_file_name = PartAnalyze.csv
compare_data_file_reference = PartAnalyze_ref.csv
compare_data_file_tolerance = 2e-2
compare_data_file_tolerance_type = relative

! compare columns
compare_column_file = RotPeriodicMinMax.csv
compare_column_reference_file = RotPeriodicMinMax_ref.csv
compare_column_index = 2,3 ! column index for comparison (starts at 0)
compare_column_tolerance_value = 0.0001 ! tolerance (depends on machine accuracy and MPI)
compare_column_tolerance_type = relative ! absolute or relative tolerance
2 changes: 1 addition & 1 deletion regressioncheck/NIG_DSMC/RotPeriodicBCMulti/externals.ini
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
! --- Externals Tool Reggie
MPI = 1 , 1 ! Single execution
externalbinary = ./hopr/build/bin/hopr , ./hopr/build/bin/hopr ! Relative binary path in build directory
externaldirectory = pre-hopr , pre-hopr-mortar ! Directory name, where the files are located for the external tool reggie
externaldirectory = pre-hopr , pre-hopr-noncomform ! Directory name, where the files are located for the external tool reggie
externalruntime = pre , pre ! Run after piclas is completed (post: after, pre: before)

nocrosscombination:MPI,externalbinary,externaldirectory,externalruntime
26 changes: 12 additions & 14 deletions regressioncheck/NIG_DSMC/RotPeriodicBCMulti/parameter.ini
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ VisuParticles = T
! =============================================================================== !
! MESH
! =============================================================================== !
MeshFile = ./pre-hopr/Cylinder_mesh.h5,./pre-hopr-mortar/Cylinder_mortar_mesh.h5
MeshFile = ./pre-hopr/Cylinder_mesh.h5,./pre-hopr-noncomform/Cylinder_nonconform_mesh.h5
useCurveds = F
! if boundaries have to be changed (else they are used from Mesh directly):
TrackingMethod = triatracking
Expand All @@ -24,8 +24,6 @@ TrackingMethod = triatracking
ProjectName = TestRotatingWall
IterDisplayStep = 10
CalcNumSpec = T
CalcPartBalance = T
CalcPorousBCInfo = T
WriteErrorFiles = F
CalcHaloInfo = T
CalcMeshInfo = T
Expand Down Expand Up @@ -58,8 +56,11 @@ Load-DeviationThreshold = 1E-9
! =============================================================================== !
Part-maxParticleNumber=25000
Part-nSpecies=1
Part-nBounds=9

! Output of the determined min and max coordinates of the rotational BCs and interplane positions along the symmetry axis
PartBound-OutputBCDataForTesting = T

Part-nBounds=10

Part-Boundary1-SourceName = BC_INNER
Part-Boundary1-Condition = reflective
Expand All @@ -76,29 +77,22 @@ Part-Boundary1-ElecACC = 0.
Part-Boundary2-SourceName = BC_ROT_TOP_1
Part-Boundary2-Condition = rot_periodic
Part-Boundary2-RotPeriodicAngle = -45.
Part-Boundary2-RotPeriodicMin = 1.
Part-Boundary2-RotPeriodicMax = 3.

Part-Boundary3-SourceName = BC_ROT_TOP_2
Part-Boundary3-Condition = rot_periodic
Part-Boundary3-RotPeriodicAngle = 45.
Part-Boundary3-RotPeriodicMin = 1.
Part-Boundary3-RotPeriodicMax = 3.

Part-Boundary4-SourceName = BC_ROT_BOT_1
Part-Boundary4-Condition = rot_periodic
Part-Boundary4-RotPeriodicAngle = -90.
Part-Boundary4-RotPeriodicMin = -1.
Part-Boundary4-RotPeriodicMax = 1.

Part-Boundary5-SourceName = BC_ROT_BOT_2
Part-Boundary5-Condition = rot_periodic
Part-Boundary5-RotPeriodicAngle = 90.
Part-Boundary5-RotPeriodicMin = -1.
Part-Boundary5-RotPeriodicMax = 1.

Part-Boundary6-SourceName = BC_MID
Part-Boundary6-Condition = reflective
Part-Boundary6-SourceName = BC_PLANE_2
Part-Boundary6-Condition = rot_periodic_inter_plane
Part-Boundary6-AssociatedPlane = 10

Part-Boundary7-SourceName = BC_OUTER
Part-Boundary7-Condition = reflective
Expand All @@ -115,6 +109,10 @@ Part-Boundary8-Condition = reflective
Part-Boundary9-SourceName = BC_BOT
Part-Boundary9-Condition = reflective

Part-Boundary10-SourceName = BC_PLANE_1
Part-Boundary10-Condition = rot_periodic_inter_plane
Part-Boundary10-AssociatedPlane = 6

Part-RotPeriodicAxi=3
Part-FIBGMdeltas=(/1e-1,1e-1,1e-1/)
! =============================================================================== !
Expand Down
Loading

0 comments on commit fea50b3

Please sign in to comment.