diff --git a/applications_tests/lethe-fluid-particles/adaptive_sparse_contacts.prm b/applications_tests/lethe-fluid-particles/adaptive_sparse_contacts.prm index 1cf7a1f9d5..ba76a4da40 100644 --- a/applications_tests/lethe-fluid-particles/adaptive_sparse_contacts.prm +++ b/applications_tests/lethe-fluid-particles/adaptive_sparse_contacts.prm @@ -164,7 +164,6 @@ subsection void fraction set read dem = true set dem file name = dem set l2 smoothing factor = 0.0001 - set l2 lower bound = 0 end # -------------------------------------------------- diff --git a/applications_tests/lethe-fluid-particles/conserve_phase_volumes.prm b/applications_tests/lethe-fluid-particles/conserve_phase_volumes.prm index 69798de6e2..3d19a1efd6 100644 --- a/applications_tests/lethe-fluid-particles/conserve_phase_volumes.prm +++ b/applications_tests/lethe-fluid-particles/conserve_phase_volumes.prm @@ -74,9 +74,6 @@ subsection void fraction set read dem = true set dem file name = dem set l2 smoothing factor = 0.00000125 - set l2 lower bound = 0 - set l2 upper bound = 1 - set bound void fraction = false end #--------------------------------------------------- diff --git a/applications_tests/lethe-fluid-particles/dynamic_contact_search.prm b/applications_tests/lethe-fluid-particles/dynamic_contact_search.prm index 061faabd7a..0a01cd19ae 100644 --- a/applications_tests/lethe-fluid-particles/dynamic_contact_search.prm +++ b/applications_tests/lethe-fluid-particles/dynamic_contact_search.prm @@ -73,9 +73,6 @@ subsection void fraction set read dem = true set dem file name = dem set l2 smoothing factor = 0.00001 - set bound void fraction = false - set l2 lower bound = 0 - set l2 upper bound = 1 end #--------------------------------------------------- diff --git a/applications_tests/lethe-fluid-particles/liquid_fluidized_bed.prm b/applications_tests/lethe-fluid-particles/liquid_fluidized_bed.prm index e967224176..0ef4eaf63d 100644 --- a/applications_tests/lethe-fluid-particles/liquid_fluidized_bed.prm +++ b/applications_tests/lethe-fluid-particles/liquid_fluidized_bed.prm @@ -75,9 +75,6 @@ subsection void fraction set read dem = true set dem file name = dem set l2 smoothing factor = 0.00000125 - set l2 lower bound = 0 - set l2 upper bound = 1 - set bound void fraction = false end #--------------------------------------------------- diff --git a/applications_tests/lethe-fluid-particles/particle_sedimentation.prm b/applications_tests/lethe-fluid-particles/particle_sedimentation.prm index 12d53c92b7..e326dc65f7 100644 --- a/applications_tests/lethe-fluid-particles/particle_sedimentation.prm +++ b/applications_tests/lethe-fluid-particles/particle_sedimentation.prm @@ -73,9 +73,6 @@ subsection void fraction set read dem = true set dem file name = dem set l2 smoothing factor = 0.00001 - set bound void fraction = false - set l2 lower bound = 0 - set l2 upper bound = 1 end #--------------------------------------------------- diff --git a/applications_tests/lethe-fluid-particles/periodic_particles_qcm.prm b/applications_tests/lethe-fluid-particles/periodic_particles_qcm.prm index 6b02f0f7b8..72216605c4 100644 --- a/applications_tests/lethe-fluid-particles/periodic_particles_qcm.prm +++ b/applications_tests/lethe-fluid-particles/periodic_particles_qcm.prm @@ -146,7 +146,6 @@ subsection void fraction set read dem = true set dem file name = dem set l2 smoothing factor = 0.0005 - set bound void fraction = false end #--------------------------------------------------- diff --git a/applications_tests/lethe-fluid-particles/periodic_particles_qcm_opposite_flow.prm b/applications_tests/lethe-fluid-particles/periodic_particles_qcm_opposite_flow.prm index e039edba81..093fe4e402 100644 --- a/applications_tests/lethe-fluid-particles/periodic_particles_qcm_opposite_flow.prm +++ b/applications_tests/lethe-fluid-particles/periodic_particles_qcm_opposite_flow.prm @@ -146,7 +146,6 @@ subsection void fraction set read dem = true set dem file name = dem set l2 smoothing factor = 0.0005 - set bound void fraction = false end #--------------------------------------------------- diff --git a/applications_tests/lethe-fluid-particles/restart-gas-solid-fluidized-bed.prm b/applications_tests/lethe-fluid-particles/restart-gas-solid-fluidized-bed.prm index 30b1a4bd58..0b47891d4e 100644 --- a/applications_tests/lethe-fluid-particles/restart-gas-solid-fluidized-bed.prm +++ b/applications_tests/lethe-fluid-particles/restart-gas-solid-fluidized-bed.prm @@ -78,9 +78,6 @@ subsection void fraction set read dem = true set dem file name = dem set l2 smoothing factor = 0.000005 - set l2 lower bound = 0 - set l2 upper bound = 1 - set bound void fraction = false end #--------------------------------------------------- diff --git a/applications_tests/lethe-fluid-particles/restart_particle_sedimentation.prm b/applications_tests/lethe-fluid-particles/restart_particle_sedimentation.prm index 492fc004d2..25225f946e 100644 --- a/applications_tests/lethe-fluid-particles/restart_particle_sedimentation.prm +++ b/applications_tests/lethe-fluid-particles/restart_particle_sedimentation.prm @@ -73,9 +73,6 @@ subsection void fraction set read dem = true set dem file name = dem set l2 smoothing factor = 0.00001 - set bound void fraction = false - set l2 lower bound = 0 - set l2 upper bound = 1 end #--------------------------------------------------- diff --git a/applications_tests/lethe-fluid-particles/spouted_bed_load_balancing.prm b/applications_tests/lethe-fluid-particles/spouted_bed_load_balancing.prm index 7503f38cc6..5e7c4e8e9a 100644 --- a/applications_tests/lethe-fluid-particles/spouted_bed_load_balancing.prm +++ b/applications_tests/lethe-fluid-particles/spouted_bed_load_balancing.prm @@ -59,7 +59,6 @@ subsection void fraction set qcm sphere equal cell volume = true set read dem = true set dem file name = dem - set bound void fraction = false end #--------------------------------------------------- diff --git a/doc/source/examples/unresolved-cfd-dem/boycott-effect/boycott-effect.rst b/doc/source/examples/unresolved-cfd-dem/boycott-effect/boycott-effect.rst index bd0464f8bc..10d8ffbb0a 100644 --- a/doc/source/examples/unresolved-cfd-dem/boycott-effect/boycott-effect.rst +++ b/doc/source/examples/unresolved-cfd-dem/boycott-effect/boycott-effect.rst @@ -274,7 +274,7 @@ Void Fraction ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Since we are calculating the void fraction using the particle insertion of the DEM simulation, we set the ``mode`` to ``dem``. For this, we need to read the dem files which we already wrote using check-pointing. We, therefore, set the ``read dem`` to ``true`` and specify the prefix of the dem files to be dem. We choose to use the quadrature centered method (`QCM <../../../theory/unresolved_cfd-dem/unresolved_cfd-dem.html>`_) to calculate the void fraction. For this, we specify the ``mode`` to be ``qcm``. We want the radius of our volume averaging sphere to be equal to the length of the element where the void fraction is being calculated. We don't want the volume of the sphere to be equal to the volume of the element. -For this, we set the ``qcm sphere equal cell volume`` equals to ``false``. Since we want to keep the mass conservative properties of the :math:`L^2` projection, we do not bound the void fraction and as such we set ``bound void fraction`` to ``false``. Unlike the other schemes, we do not smooth the void fraction as we usually do using the PCM and SPM void fraction schemes since QCM is continuous in time and space. +For this, we set the ``qcm sphere equal cell volume`` equals to ``false``. Unlike the other schemes, we do not smooth the void fraction as we usually do using the PCM and SPM void fraction schemes since QCM is continuous in time and space. .. code-block:: text @@ -283,7 +283,6 @@ For this, we set the ``qcm sphere equal cell volume`` equals to ``false``. Since set qcm sphere equal cell volume = false set read dem = true set dem file name = dem - set bound void fraction = false end CFD-DEM diff --git a/doc/source/examples/unresolved-cfd-dem/cylindrical-packed-bed/cylindrical-packed-bed.rst b/doc/source/examples/unresolved-cfd-dem/cylindrical-packed-bed/cylindrical-packed-bed.rst index a5e4f3b2df..d6a68a18d0 100644 --- a/doc/source/examples/unresolved-cfd-dem/cylindrical-packed-bed/cylindrical-packed-bed.rst +++ b/doc/source/examples/unresolved-cfd-dem/cylindrical-packed-bed/cylindrical-packed-bed.rst @@ -296,7 +296,7 @@ The additional sections that define the VANS solver are the void fraction subsec Void Fraction ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Since we are calculating the void fraction using the packed bed of the DEM simulation, we set the mode to ``dem``. For this, we need to read the dem files which we already wrote using check-pointing. We therefore set the read dem to ``true`` and specify the prefix of the ``dem`` files to be read. In order to ensure that our void fraction projection is bounded, we choose an upper bound limit of 1. We decide not to lower bound the void fraction and thus attributed a value of 0 to the L2 lower bound parameter. We now choose a smoothing factor for the void fraction as to reduce discontinuity which can lead to oscillations in the velocity. The factor we choose is around the square of twice the particle's diameter. +Since we are calculating the void fraction using the packed bed of the DEM simulation, we set the mode to ``dem``. For this, we need to read the dem files which we already wrote using check-pointing. We therefore set the read dem to ``true`` and specify the prefix of the ``dem`` files to be read. We now choose a smoothing factor for the void fraction as to reduce discontinuity which can lead to oscillations in the velocity. The factor we choose is around the square of twice the particle's diameter. .. code-block:: text diff --git a/doc/source/examples/unresolved-cfd-dem/gas-solid-fluidized-bed/gas-solid-fluidized-bed.rst b/doc/source/examples/unresolved-cfd-dem/gas-solid-fluidized-bed/gas-solid-fluidized-bed.rst index 52586b8231..ac9f070b41 100644 --- a/doc/source/examples/unresolved-cfd-dem/gas-solid-fluidized-bed/gas-solid-fluidized-bed.rst +++ b/doc/source/examples/unresolved-cfd-dem/gas-solid-fluidized-bed/gas-solid-fluidized-bed.rst @@ -308,7 +308,7 @@ The additional sections for the CFD-DEM simulations are the void fraction subsec Void Fraction ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Since we are calculating the void fraction using the packed bed of the DEM simulation, we set the mode to "dem". For this, we need to read the dem files which we already wrote using check-pointing. We, therefore, set the read dem to "true" and specify the prefix of the dem files to be dem. In order to ensure that our void fraction projection is bounded, we choose an upper bound limit of 1. We decide not to lower bound the void fraction and thus attributed a value of 0 to the L2 lower bound parameter. We now choose a smoothing factor for the void fraction to reduce discontinuity which can lead to oscillations in the velocity. The factor we choose is around the square of twice the particle's diameter. +Since we are calculating the void fraction using the packed bed of the DEM simulation, we set the mode to "dem". For this, we need to read the dem files which we already wrote using check-pointing. We, therefore, set the read dem to "true" and specify the prefix of the dem files to be dem. We now choose a smoothing factor for the void fraction to reduce discontinuity which can lead to oscillations in the velocity. The factor we choose is around the square of twice the particle's diameter. .. code-block:: text @@ -317,9 +317,6 @@ Since we are calculating the void fraction using the packed bed of the DEM simul set read dem = true set dem file name = dem set l2 smoothing factor = 0.000005 - set l2 lower bound = 0 - set l2 upper bound = 1 - set bound void fraction = false end CFD-DEM diff --git a/doc/source/examples/unresolved-cfd-dem/gas-solid-spouted-bed/gas-solid-spouted-bed.rst b/doc/source/examples/unresolved-cfd-dem/gas-solid-spouted-bed/gas-solid-spouted-bed.rst index a80ef0d36d..363fc33000 100644 --- a/doc/source/examples/unresolved-cfd-dem/gas-solid-spouted-bed/gas-solid-spouted-bed.rst +++ b/doc/source/examples/unresolved-cfd-dem/gas-solid-spouted-bed/gas-solid-spouted-bed.rst @@ -307,7 +307,7 @@ Void Fraction ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Since we are calculating the void fraction using the packed bed of the DEM simulation, we set the ``mode`` to ``dem``. For this, we need to read the dem files which we already wrote using check-pointing. We, therefore, set the ``read dem`` to ``true`` and specify the prefix of the dem files to be dem. We choose to use the quadrature centered method (QCM) to calculate the void fraction. This method does not require smoothing the void fraction as it is space and time continuous. For this simulation, we use a reference sphere having the same volume as the mesh elements as the averaging volume to calculate the void fraction. -For this, we specify the ``mode`` to be ``qcm``. We want the volume of the volume averaging sphere to be equal to the volume of the element. For this, we set the ``qcm sphere equal cell volume`` equals to ``true``. Since we want to keep the mass conservative properties of the :math:`L^2` projection, we do not bound the void fraction and as such we set ``bound void fraction`` to ``false``. +For this, we specify the ``mode`` to be ``qcm``. We want the volume of the volume averaging sphere to be equal to the volume of the element. For this, we set the ``qcm sphere equal cell volume`` equals to ``true``. .. code-block:: text @@ -316,7 +316,6 @@ For this, we specify the ``mode`` to be ``qcm``. We want the volume of the volum set qcm sphere equal cell volume = true set read dem = true set dem file name = dem - set bound void fraction = false end CFD-DEM diff --git a/doc/source/examples/unresolved-cfd-dem/liquid-solid-fluidized-bed/liquid-solid-fluidized-bed.rst b/doc/source/examples/unresolved-cfd-dem/liquid-solid-fluidized-bed/liquid-solid-fluidized-bed.rst index 364d06d98b..347009e0a4 100644 --- a/doc/source/examples/unresolved-cfd-dem/liquid-solid-fluidized-bed/liquid-solid-fluidized-bed.rst +++ b/doc/source/examples/unresolved-cfd-dem/liquid-solid-fluidized-bed/liquid-solid-fluidized-bed.rst @@ -332,8 +332,6 @@ We choose the `particle centroid method (PCM) <../../../parameters/unresolved-cf set l2 smoothing factor = 2.8387584e-5 end -.. note:: - Note that void fraction is not bound in this case. The size of the particles used in this example forces us to use a very coarse mesh. Bounding void fraction would lead to instability in the present case. CFD-DEM ~~~~~~~~~~ diff --git a/doc/source/parameters/unresolved-cfd-dem/void-fraction.rst b/doc/source/parameters/unresolved-cfd-dem/void-fraction.rst index c657b20502..5dcd46977f 100644 --- a/doc/source/parameters/unresolved-cfd-dem/void-fraction.rst +++ b/doc/source/parameters/unresolved-cfd-dem/void-fraction.rst @@ -10,9 +10,6 @@ In this subsection, all parameters required for the calculation of the void frac set read dem = true set dem file name = dem set l2 smoothing factor = 0 - set l2 lower bound = 0 - set l2 upper bound = 1 - set bound void fraction = false set particle refinement factor = 0 end @@ -38,8 +35,6 @@ If the ``mode`` chosen is ``pcm``, then the void fraction is calculated using th * The ``read dem`` allows us to read an already existing dem simulation result which can be obtained from checkpointing the Lethe-DEM simulation. This is important as the `lethe-fluid-vans` solver requires reading an initial dem triangulation and particle information to simulate flows in the presence of particles. * The ``dem_file_name`` parameter specifies the prefix of the dem files that must be read. * The ``l2 smoothing factor`` is a smoothing length used for smoothing the L2 projection of the void fraction to avoid sharp discontinuities which can lead to instabilities in the simulation. -* The ``l2 lower bound`` and ``l2 upper bound`` are the minimum and maximum values around which the void fraction is bounded. This is important especially for upper bounds as the void fraction can sometimes slightly exceed a value of 1 when projected. -* The ``bound void fraction`` parameter determines whether or not to bound the void fraction between the lower and upper bounds specified in the previous two parameters. As the void fraction is calculated and then projected using L2 projection, it can sometimes exceeds the maximum value of 1. In order to prevent this, we use an active set method to bound the void fraction. * The ``qcm sphere diameter`` allows us to fix the diameter of all reference spheres in the simulation to a given value. If this option is used (a value other than 0 is specified), it overrides the default calculation of the size of the sphere and sets its diameter to the value specified. * The ``qcm sphere equal cell volume`` determines whether or not we want to use a reference sphere with the same volume as the element in which it is located. If it is disabled, then each sphere will have a radius equal to the size of the element in which it is located. This parameter is important only when the ``qcm sphere diameter`` is not used or is set to 0. * The ``particle refinement factor`` is only required for the ``spm``. It allows to determine the number of pseudo-particles that we want to divide our particle into. By default, it is set to 0 refinements, and results in no refinement of the original meshed particle (division into 7 particles in 3D). Every additional refinement results in a :math:`2^{dim}` times more particles. The figure below shows how the number of pseudo-particles change with every refinement. Every cell in the particle mesh represents a pseudo-particle in the satellite point method. diff --git a/include/fem-dem/parameters_cfd_dem.h b/include/fem-dem/parameters_cfd_dem.h index 84e76bebfe..2304eadefd 100644 --- a/include/fem-dem/parameters_cfd_dem.h +++ b/include/fem-dem/parameters_cfd_dem.h @@ -67,11 +67,8 @@ namespace Parameters VoidFractionMode mode; Functions::ParsedFunction void_fraction; bool read_dem; - bool bound_void_fraction; std::string dem_file_name; double l2_smoothing_factor; - double l2_lower_bound; - double l2_upper_bound; unsigned int particle_refinement_factor; double qcm_sphere_diameter; bool qcm_sphere_equal_cell_volume; diff --git a/source/fem-dem/parameters_cfd_dem.cc b/source/fem-dem/parameters_cfd_dem.cc index 41d6141e78..3af6cd403f 100644 --- a/source/fem-dem/parameters_cfd_dem.cc +++ b/source/fem-dem/parameters_cfd_dem.cc @@ -22,11 +22,6 @@ namespace Parameters "false", Patterns::Bool(), "Define particles using a DEM simulation results file."); - prm.declare_entry( - "bound void fraction", - "false", - Patterns::Bool(), - "Boolean for the bounding of the void fraction using an active set method."); prm.declare_entry("dem file name", "dem", Patterns::FileName(), @@ -35,14 +30,6 @@ namespace Parameters "0.000001", Patterns::Double(), "The smoothing factor for void fraction L2 projection"); - prm.declare_entry("l2 lower bound", - "0.36", - Patterns::Double(), - "The lower bound for void fraction L2 projection"); - prm.declare_entry("l2 upper bound", - "1", - Patterns::Double(), - "The upper bound for void fraction L2 projection"); prm.declare_entry( "particle refinement factor", "0", @@ -82,11 +69,8 @@ namespace Parameters prm.leave_subsection(); read_dem = prm.get_bool("read dem"); - bound_void_fraction = prm.get_bool("bound void fraction"); dem_file_name = prm.get("dem file name"); l2_smoothing_factor = prm.get_double("l2 smoothing factor"); - l2_lower_bound = prm.get_double("l2 lower bound"); - l2_upper_bound = prm.get_double("l2 upper bound"); particle_refinement_factor = prm.get_integer("particle refinement factor"); qcm_sphere_diameter = prm.get_double("qcm sphere diameter"); qcm_sphere_equal_cell_volume = prm.get_bool("qcm sphere equal cell volume");