Het model hier is het 'viskweekvijver'-model van de Universiteit Wageningen. Oorspronkelijk komt het van wetenschappers uit de Sovjet Unie [Svirezhev et al., 1984] [P. van Schaik Zillesen, proefschrift] [Hartsuijker, Hondebrink en Labordus, 'Een vijver in de computer', Stichting Leerplanontwikkeling, 1989].
Met deze simulatie kunnen leerlingen van middelbare scholen - thuis of tijdens speciale biologielessen - leren hoe mineralen uitwerken in een lege viskweekvijver.
In het water kunnen verschillende stoffen opgelost zijn: zuurstof (O), fosfaat (P) en nitraat (N). Dat zijn meststoffen. Algen en wieren zijn hele kleine groene plantjes, waterplantjes (phytoplankton) (F). Dan heb je nog dierlijk afval, Detritus (D): Schimmels en bacterien. Algen groeien door licht. Overdag. En maken uit water en kooldioxide hun eigen voedsel. Daarbij komt zuurstof vrij. Dat heet photosynthese. 's Nachts verbruiken algen hun voedsel en nemen ze zuurstof op. Afval wordt gebruikt voor micro-organismen, zoals bacterien en schimmels.
Laat de tijd eens lopen en dan zie je in de zomer dat er algengroei is en dat het gewicht van de zilverkarpers toenemt. Maar neemt dat ook weer af? Noteer de belangrijke waardes. Herstart de vijver met andere toevoegingen (PU, NU of OU) maar opnieuw.
Je kunt bijvoorbeeld mineralen toevoegen: Voeg bijvoorbeeld Nitraat (NU) bij: 1.0 kg/dag en Fosfaat (PU): 0.5 kg/dag; bijvoorbeeld gedurende 3 maanden. Je ziet de uitwerking van de interventie in de grafieken zomer. De algengroei neemt wel vanzelf af. En wat doen de zilverkarpers? Hoe kan dat?
Er is wel sprake van naar de bodem zakkend afval. Het fosfaat slaat neer en er ontstaat een zuurstofarm milieu. Zou het daar iets mee te maken hebben? Het rode blokje geeft de algengroei in de vijver aan. Het blauwe blokje het dag-nacht-ritme en dientengevolge de instraling (L).
De extinctie-functie (de instraling) geeft aan hoe hoe helder het water is. Die fluctueert met het dag-nacht-ritme. Bij 0 is het water helder; bij 1 is het water zeer vies. Naar mate er minder licht is/komt, wordt het zicht beperkt. Naar mate de extinctie hoger is, wordt het licht minder.
Aan de simulatie en de animatie wordt nog verder gewerkt. Het geheel moet een meer functionele vorm krijgen. De uitleg en de instructieteksten ook. De instructie en de opdrachten (die nog niet overeen stemmen met deze applicatie) kunnen wel (als voorbeeld) door jou al vast een beetje geraadpleegd worden.
Tijd (t): (0 --> 365 dagen). (De tijdschaal zelf loop tot 400 dagen.)
Output:
Interventies:
14. PU mbt. P: (fixed)
16. NU mbt. N: (fixed)
18. OU mbt. O: (fixed)
20. AU mbt. A: (fixed)
Visvoer:
19. A: (voorlopig in deze casus heel weinig!)
De externe invloeden: 77. L Instraling: 75. REA: 76. TEMP:
Flows (Q van naar): |
Watervlooien (Z): 30. F mbt. Z: 31. D mbt. Z: 32. O mbt. Z: --> Z Watervlooien (op t=0: 0 of 10?)
Bodemdieren (B): Karpers: Zilverkarpers: |
REFERENTIES:
NAWOORD: De afgelopen jaren werd java en mijn java-applets als virussen beschouwd. Ik kon er niet meer met goed fatsoen mensen mee laten werken. In maart 2025 had ik ook nog eens een paar slechte (politieke) weken. De geo-politiek stond mij totaal niet aan. Om mij af te reageren ben ik een paar uur per dag aan het programmeren geslagen. Nu met HTML5 en alleen met JavaScript, zonder Java en zonder mijn oude library's als SimLib en WebLib. (Zie elders.)
Ik ben een groot voorstander van evolutionair ontwikkelen van systemen [R.J.H. Tolido, 'Het evolutionair ontwikkelen van informatiesystemen', CAP Volmac, Academic Services, 1996]]. Ook dit keer heb ik met deze stap voor stap werkmethode (en daardoor voortschrijdend inzicht) veel met JavaScript kunnen ontdekken. Ik ging van versie 0.0x, het eerste concept, naar versie 1.0 en 2.0. En op een gegeven moment besluit je dan tot publicatie. Maar dan hebben een groot aantal mensen, collega's, studenten, vrienden en familie (als testpersonen) er dan al kennis mee gemaakt. Dat is de leukste manier van werken. Ik ben hen vanaf deze plaats heel dankbaar .
Met dank speciaal aan Piet v. Schaick Zillesen, bioloog (ISM/TO/UT) & Jan de Goeijen (ICT-specialist). Model: Universiteit Wageningen. Studenten: Saskia Meulman, JS, AH, CW en AS. Eerste internet versie rond 2002: Daarna geupdated: 2004, 2010, 2019 en 2020. Weer latere versies: Start 27 maart 2025. Afgerond: 30 april 2025.
In de zomer ga ik verder met deze systeemvariant om de vloeistoffen huishouding in het menselijk lichaam te simuleren en het cardiovasculaire systeem van Coleman (University of Mississippi), maar ook met het Japanse model 'FLUIDS' plus het grote Amerikaanse model van Guyton ('HUMAN') over de bloeddrukregulatie. Mijn oude versies gebruikten java. De nieuwe versie dus alleen JavaScript en HTML5.
Rik Min, Enschede 30 april 2025.
All starting values KPF = 0.1; KNF = 0.1; KFZ = 15.0; KDZ = 60.0; KFB = 15.0; KZB = 1.0; KDB = 60.0; KZC = 1.0; KBC = 5.0; KAC = 0.2; KFS = 20.0; KDS = 60.0; MUFMAX = 4.5; MUFZMAX = 1.4; MUDZMAX = 0.5; MUFBMAX = 0.2; MUZBMAX = 0.4; MUDBMAX = 0.2; MUZCMAX = 0.02; MUBCMAX = 0.06; MUACMAX = 0.03; MUFSMAX = 0.1; MUDSMAX = 0.07; hier ontbrak bij ergens MUxxxMAX, MBF = 0.3; MBZ = 0.3; MBB = 0.3; MBC = 0.3; MBS = 0.3; MBBC = 0.4; MBBS = 0.4; RCMAX = 13.0; RSMAX = 10.0; MBOF = 0.001; MBOZ = 0.001; MBOB = 0.001; MBOC = 0.001; MBOS = 0.001; MF = 0.025; MZ = 0.005; MB = 0.05; RESPF = 0.001; RESPZ = 0.01; RESPB = 0.01; RESPC = 0.01; RESPS = 0.01; UDP = 0.00004; UDN = 0.002; PHOT = 1.0; ALPHA = 0.2; RE = 0.4; OKT = 0.085; SED = 0.05; SEDP = 0.1; LOPT = 3000.0; KW = 0.2; KF = 0.05; KD = 0.8; KPD = 0.5; HK = 0.1; BKR = 20.0; ZCR = 5.0; FCR = 30.0; MB2 = 10.0; MZ2 = 3.0; MF2 = 15.0; LABDAB = 1.0; LABDAZ = 1.0; LABDAF = 1.0; KA = 2.0; MK = 5.0; COP = 2.0; MG = 1.0; COD = 2.0; HLP1 = MBBC / RCMAX; HLP2 = MBBS / RSMAX; HLP3 = XKWAD (KPF); HLP4 = XKWAD (KNF); HLP5 = XKWAD (KFZ); HLP6 = XKWAD (KFB); HLP7 = XKWAD (KFS); HLP8 = XKWAD (KDZ); HLP9 = XKWAD (KZB); HLP10 = XKWAD (KBC); HLP11 = W(MUBCMAX, HLP10, BKR); HLP12 = XKWAD (KZC); HLP13 = XKWAD (KDB); HLP14 = XKWAD (KAC); HLP15 = XKWAD (KDS); Topt[1]=24.0; Topt[2]=24.0; Topt[3]=24.0; Topt[4]=26.0; Topt[5]=26.0; Topt[6]=26.0; Q1[1]=15.0;//=24-9 Q1[2]=15.0; Q1[3]=15.0; Q1[4]=14.0; Q1[5]=12.5; Q1[6]=11.0; Q2[1]=10.0;//=34-24 Q2[2]=10.0; Q2[3]=10.0; Q2[4]=11.0; Q2[5]=11.0; Q2[6]=11.0; M[1]=3.0;//dummy M[2]=3.0;//zuurstofhalfwaarde voor onderhoud Z M[3]=3.0;//dummy M[4]=3.0;//zuurstof ... C M[5]=3.0;//zuurstof ... S M[6]=3.0;//zuurstof ... H LABDA[1]=1.0;//dummy LABDA[2]=1.0;//helling zuurstofcurve Z LABDA[3]=1.0;//dummy LABDA[4]=1.0;//helling zuurstofcurve C LABDA[5]=1.0;//helling zuurstofcurve S LABDA[6]=1.0;//helling zuurstofcurve H F = 20.0; Z = 0.0; B = 0.0; C = 0.0; S = 0.0; P = 0.03; N = 0.15; O = 9.8; A = 0.0; D = 7.2; L = 0.0; F0 = 2.0; L_JAARMAX = 3000.0; TEMP_JAARMAX = 20.0; REA = 20.0; // ?? TEMP = 20.0 // ??; NU = 0.0; PU = 0.0; OU = 0.0; AU = 0.0; DPU = 0.01; DNU = 0.03; PTOEG = 0.0; NTOEG = 0.0; OTOEG = 0.0; VTOEG = 0.0; Tmin = 0.0; T = 0.0; dt = 0.04; Tmax = 30.1;
Blijkbaar is dit alleeen de output voor de vijver zonder vissen:
Graph1.newValue(N);
Graph2.newValue(TEMP);
Graph3.newValue(QDP);
Graph4.newValue(E1(TEMP));
Graph5.newValue(O);
Graph6.newValue(F);
Graph7.newValue(P);
Graph8.newValue(E2(O));
until (T < Tmax);