1 #ifndef __CS_LAGR_FRAGMENTATION_H__ 2 #define __CS_LAGR_FRAGMENTATION_H__ 3 4 /*============================================================================ 5 * Fragmentation modeling. 6 *============================================================================*/ 7 8 /* 9 This file is part of Code_Saturne, a general-purpose CFD tool. 10 11 Copyright (C) 1998-2021 EDF S.A. 12 13 This program is free software; you can redistribute it and/or modify it under 14 the terms of the GNU General Public License as published by the Free Software 15 Foundation; either version 2 of the License, or (at your option) any later 16 version. 17 18 This program is distributed in the hope that it will be useful, but WITHOUT 19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 20 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 21 details. 22 23 You should have received a copy of the GNU General Public License along with 24 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin 25 Street, Fifth Floor, Boston, MA 02110-1301, USA. 26 */ 27 28 /*----------------------------------------------------------------------------*/ 29 30 #include "cs_defs.h" 31 32 /*---------------------------------------------------------------------------- 33 * Standard C library headers 34 *----------------------------------------------------------------------------*/ 35 36 /*---------------------------------------------------------------------------- 37 * Local headers 38 *----------------------------------------------------------------------------*/ 39 40 /*----------------------------------------------------------------------------*/ 41 42 BEGIN_C_DECLS 43 44 /*============================================================================ 45 * Public function prototypes 46 *============================================================================*/ 47 48 /*----------------------------------------------------------------------------*/ 49 /*! 50 * \brief Particle fragmentation algorithm. 51 * 52 * Parcels represent physical particles with similar properties (size). 53 * The number of physical particles in a parcel is represented by the 54 * statistical weight. 55 * 56 * For each parcel, the number of fragmentation events is generated with 57 * a Poisson distribution that depends on the fragmentation kernel. 58 * 59 * Working hypotheses: 60 * 1) Discrete diameters 61 * - Minimal particle size , called a monomere (unbreakable particle) 62 * 2) Fragmentation is binary 63 * - Equally sized fragments (N0/2, or (N0+-1)/2) 64 * 3) Fragmentation is treated after agglomeration 65 * 66 * Warning: particle indices are not necessarily contiguous 67 * (due to agglomeration occuring before). 68 * 69 * Two contiguous groups: particles present before agglomeration 70 * newly created particles (due to agglomeration) 71 * 72 * \param[in] dt time step 73 * \param[in] minimum_particle_diam minumum diameter (monomere diameter) 74 * \param[in] main_start index of the first particle in cell 75 * present before the agglomeration 76 * \param[in] main_end index after the last particle in cell, 77 * present before the agglomeration 78 * \param[in] agglo_start index of the first particle in cell, 79 * created by the agglomeration 80 * \param[in] agglo_end index after the last particle in cell, 81 * created by the agglomeration 82 * 83 * \returns modified list of particles containing newly created parcels 84 * at the end 85 */ 86 /*----------------------------------------------------------------------------*/ 87 88 cs_lnum_t 89 cs_lagr_fragmentation(cs_real_t dt, 90 cs_real_t minimum_particle_diam, 91 cs_lnum_t main_start, 92 cs_lnum_t main_end, 93 cs_lnum_t agglo_start, 94 cs_lnum_t agglo_end); 95 96 /*----------------------------------------------------------------------------*/ 97 98 END_C_DECLS 99 100 #endif /* __CS_LAGR_FRAGMENTATION_H__*/ 101