1. 11 Aug, 2020 1 commit
  2. 10 Aug, 2020 2 commits
    • Hang Zhou's avatar
      Do not need to save mole fractions of all species by default (mass fractions... · 7d750a52
      Hang Zhou authored
      Do not need to save mole fractions of all species by default (mass fractions have been saved by default).
      7d750a52
    • Hang Zhou's avatar
      Modifying the method to get mole fraction of the last species for... · b6ea6c96
      Hang Zhou authored
      Modifying the method to get mole fraction of the last species for initial/inflow condiitons when species fractions are set based on database. When species fractions are given in the input file, `pokitt::ERRORSPECN` is used (error is given when getting fraction of the last species to be negative or bigger than one.) When species fractions are given based on the database, `pokitt::CLIPSPECN' is used. (For the fraction of the last species, it is set to be `1` when value bigger than one is obtained, and is set to be `0` when negative value is obtained.). In this way, we need to be careful when writing the database to make sure the sum of the first (n-1) species fractions is equal or less than 1.
      b6ea6c96
  3. 04 Aug, 2020 1 commit
    • Hang Zhou's avatar
      Adding the function which allows setting initial or inflow conditions based on... · 80acac46
      Hang Zhou authored
      Adding the function which allows setting initial or inflow conditions based on database coresponding to the grid value. For example, when we have various surrounding temperatures for heat transfer, and want to have various inflow temperatures for each surrouding temperature, we can read the values for temperature from the database, like 'Data.txt'. We can give it by `InitialConditions: {-value: FromDatabase -variable:T}'and 'InitialInflowData: {FileName:Data.txt}' in the input file. Also, if we want to set species mole fractions based on database as well, we can give it by `InitialInflowData: {InitialSpeciesSetting: FromDataBase}' or 'InitialInflowData: {InflowSpeciesSetting: FromDataBase}', instead of specifying species in `InitialConditions` or 'InflowConditions'. (The default for `InitialSpeciesSetting` and `InflowSpeciesSetting` is `FromInputFile`. For this, species fractions need to be given in `InitialConditiobs' or 'InflowConditions' in the input file. Fractions of species not specified in the input file or the database are set to be zero.)
      80acac46
  4. 30 Jul, 2020 1 commit
    • Hang Zhou's avatar
      When checking if a speices name read from input file (for example, 'X_O2' and... · 10acb120
      Hang Zhou authored
      When checking if a speices name read from input file (for example, 'X_O2' and 'Y_O2', or 'X_O2_inflow' and 'Y_O2_inflow') is inflow condition, we need to check if the last seven terms of the name are `_inflow`. (if name.substr(name.size()-7)=="_inflow"). However, the mininum size of name is three, liek `X_H`. Checking the last seven terms will give error when the size of name is less than seven. So, I just check if the last three terms are 'low'.
      10acb120
  5. 23 Jul, 2020 2 commits
  6. 17 Jun, 2020 1 commit
    • Hang Zhou's avatar
      Deleting the weight functions used to calculate the source terms in CPD... · 1cabe72b
      Hang Zhou authored
      Deleting the weight functions used to calculate the source terms in CPD models. Because the source term is releated to the mass of labile bridge and delta, it will become zero when the mass is zero. And the source terms are set to be zero if mass is negative. So, it will not oscillate around zero like what we have for vaporization model, that is, weight function is not required.
      1cabe72b
  7. 27 May, 2020 1 commit
  8. 26 May, 2020 1 commit
    • Hang Zhou's avatar
      Modifying the method to set initial/inflow values of coal particle loading,... · 39d42a6a
      Hang Zhou authored
      Modifying the method to set initial/inflow values of coal particle loading, CPD parameters (l, delta_i and g_i), and tar and soot mass. They can be given in the input file by `Particles: {ParticleLoading: ParticleLoadingInflow: }`, `Particles:{CPDInflow:{l: deltai: gi:} CPDInit:{l: deltai: gi:}}`, and `Particles:{TarSootInflowFrac: TarSootInitFrac:}`, respectively. If they are not given in the input file, they will be set based on the equivalence ratio and coal composition.
      39d42a6a
  9. 19 May, 2020 3 commits
  10. 15 May, 2020 1 commit
    • Hang Zhou's avatar
      Add a coal type named `Given_From_InputFile`, which ultimate and proximate... · 1b31ef35
      Hang Zhou authored
      Add a coal type named `Given_From_InputFile`, which ultimate and proximate analysis are given in the input file by "CoalComposiiton: UltimateAnalysis: {C: H: O: N: S:} ProximateAnalysis:{Moisture: Ash: Volatile: FixedC:}. Also, its CPD data is interpolated based on the CPD data of six exist coal types.
      1b31ef35
  11. 11 May, 2020 2 commits
  12. 05 May, 2020 2 commits
  13. 28 Apr, 2020 4 commits
  14. 15 Apr, 2020 1 commit
    • Hang Zhou's avatar
      1. Modifying the tag name for heat tranfer coefficient and surroundings... · be042414
      Hang Zhou authored
      1. Modifying the tag name for heat tranfer coefficient and surroundings temperature for calculating heat transfer between gas and surrounding: Using lower case with words separated by underscores, instead of upper case.
      2. Modifying the input files for test in `rtest` directory based on the new method giving heat transfer parameters between gas and surroundings.
      be042414
  15. 10 Apr, 2020 4 commits
  16. 08 Apr, 2020 1 commit
    • Hang Zhou's avatar
      Changing the method to give particle loading for solid or liquid particles.... · 4b7d6ff7
      Hang Zhou authored
      Changing the method to give particle loading for solid or liquid particles. Instead of giving the number of particles, particle loading (number of particles per gas mass) need to b
      e given in the input file. For `UserDefinedList` partiticle distribution, instead of giving `Numbers`, `NumbersFraction` is given in the input file.
      4b7d6ff7
  17. 06 Apr, 2020 2 commits
  18. 05 Apr, 2020 3 commits
    • Hang Zhou's avatar
      Modifying `EigenvalueModifier.h`. Calculating the explosive eigenvalue using... · 2279c7a9
      Hang Zhou authored
      Modifying `EigenvalueModifier.h`. Calculating the explosive eigenvalue using the full-RHS matrix for both constant volume and pressure reactors, instead of using kinetic and heat RHS terms `dkindU+dqdV` to get explosive eigenvalue and substract `1/tau` from it for constant volume reactor. In this way, same Eigenvalue modifier could be used for constant volume and pressure reactors.
      2279c7a9
    • Hang Zhou's avatar
      1. Modifying the mixing term in particle temperature equation for solid and... · 22d8a20d
      Hang Zhou authored
      1. Modifying the mixing term in particle temperature equation for solid and liquid particles. In previous version, mass of particle per gas mass is the same as the inflow mass of particle per gas mass, which should not be assumed.
      2. Modifying the weight function for vaporization rate function to help convergence for liquid particle.
      22d8a20d
    • Hang Zhou's avatar
      Changing the way giving `HeatTransferCoefficient` and... · 62358fc5
      Hang Zhou authored
      Changing the way giving `HeatTransferCoefficient` and `SurroundingsTemperature` for heat transfer between gas and surroungings in the input file. Now, it is given by `ReactorParameters: HeatTransferParameter: -value -variable`, instead of giving them seperately by `ReactorParameters: HeatTransferCoefficient:-vaule -variable:HeatTransferCoefficient  SurroundingsTemperature:-value -variable:SurroundingsTemperature.`. Also, the default values are set to be 0 for `HeatTransferCoefficient` and 300 for `SurroundingsTemperature`. Now, both of heat transfer coefficient and surroundings temperature must be given or not given in "HeatTransferParameter" simultaneously.
      62358fc5
  19. 04 Apr, 2020 3 commits
  20. 31 Mar, 2020 4 commits
    • James Sutherland's avatar
      Resolving conflicts - whitespace changes apparently · 89e4c45e
      James Sutherland authored
      # Conflicts:
      #   rtests/run_test.cmake
      89e4c45e
    • Hang Zhou's avatar
      Modifying the method to rename the database when restart. Insteading of adding... · 0a535173
      Hang Zhou authored
      Modifying the method to rename the database when restart. Insteading of adding a suffix into the dababase name, we could just change its prefix, which is given in the input file `Output:output_prefix` (default: database). In the input file, we have `restart:restart_prefix` to rename the database. If it is not given or it is the same as `Output:output_prefix`, the database will be overwritted. If not, a new dabatase with the new name based on `restart:restart_prefix` will be writen.
      0a535173
    • Hang Zhou's avatar
      Changing the filed type in Zodiac from `SVolField` to `VertexField`, so that... · e13e836a
      Hang Zhou authored
      Changing the filed type in Zodiac from `SVolField` to `VertexField`, so that the grid variable will includes the maximum and minimum values given in the input field. If using `SVolField`, finite volume method will be used to get grid. So grid list will be [min+spacing/2, ......, max-spacing/2], which is not convenient.
      e13e836a
    • Hang Zhou's avatar
      1. Modifying the source terms for $\delta_i$ and $g_i$ in CPD model. When... · 98017f5a
      Hang Zhou authored
      1. Modifying the source terms for $\delta_i$ and $g_i$ in CPD model. When calculating the mass-based source term for $\delta_i$ and $g_i$ from mass reaction rate of labile bridge $\ell$, we need $\frac{d\ell}{dt}\frac{\nu Mw_g}{Mw_\ell}\frac{fg_i}{\sum fg_i}$. Here, $\nu$ is the stoichiometric coefficient of $\delta$ or $g$ in the CPD reaction. $Mw_g$ is the molecular weight of the mixture of all 16 $g_i$, including all light gas species and tar.(We use molecular weight of each species $Mw_{g_i}$, instead of $Mw_g$, in previous code, which is not correct). $Mw_\ell$ is the molecular weight of labile bridge $\ell$. $\frac{fg_i}{\sum fg_i}$ is the mass fraction of species $i$ in $g$. More details could be found in the documents in file `/src/particles/coal/Devolatilization/CPD/Gi_RHS.h` and `/src/particles/coal/Devolatilization/CPD/Deltai_RHS.h`.
      2. For gas tar production rate (tar in particel `tarPart` reaction rate), we use the infomarion of labile bridge, including its mass and reaction rate, which could be found in previos version of Zodiac `cd1c42a9`, /src/particles/coal/Devolatilization/CPD/TarProductionRate.h. This method always leads to smaller particle mass than we expect. Because `tarPart` and `l` have different initial masses and reaction rates. When `tarPart` mass reduces to zero and `l` mass is still positive, we will still have negative `tarPart` reaction rate using `l` mass and `l` reaction. And this negative reaction rate will results in negative `tarPart` mass and more mass loss for each coal particle. To solve this, gas tar production rate is calculated using the same method as the light gas species using derived equations directly from CPD model reaction path. So, instead of solving equation for `tarPart`, we solve `delta15` and `g15` now. Also, we could use previous method in `TarProductionRate.h` by forcing the `tarPart` reaction rate to be zero when `tarPart` mass is zero or negative. In this version, we choose the first method now.
      98017f5a