示例#1
0
    private void CleanManure()
    {
        ManureType totalManure = new ManureType();

        for (int i = 0; i < AnimalSections.Count; i++)
        {
            totalManure.amount += AnimalSections.ElementAt(i).CleanSection().amount;
        }
        for (int i = 0; i < inhouseStores.Count; i++)
        {
            if (inhouseStores.ElementAt(i).GetAmountInManureStore() < inhouseStores.ElementAt(i).GetCapacity())
            {
                inhouseStores.ElementAt(i).RcvManure(totalManure);
            }
        }
        totalManure.amount = 0;
        for (int i = 0; i < inhouseStores.Count; i++)
        {
            if (inhouseStores.ElementAt(i).GetAmountInManureStore() >= inhouseStores.ElementAt(i).GetCapacity())
            {
                totalManure.amount += inhouseStores.ElementAt(i).CleanStore().amount;
            }
        }
        AddSlurry.Invoke(totalManure);
    }
示例#2
0
    public void OnProcess()
    {
        ManureType manure = new ManureType();

        manure.amount = 1000.0; //kg
        manure.Ash    = 0.11;   //proportion of DM
        manure.Tan    = 0.001;  //proportion of FW
        manure.RP     = 0.188;  //proportion of DM
        manure.fInert = 0.0;    //proportion of organic N in an inert form
        manure.NDF    = 0.271;  //
        manure.RL     = 0.039;
        manure.VFA    = 0.0152;
        manure.TotalS = 0.69; //g per kg fresh weight
        manure.SulphS = 0.24; //g per kg fresh weight

        manure.Rem = 1 - (manure.RL + manure.RP + manure.NDF + manure.VFA + manure.Ash);
        manure.DM  = 1;
        manure.pH  = 7;

        AddSlurry.Invoke(manure);
    }