Ik zoek de vergelijking waarmee ik een inhoud kan berekenen.
Het gaat om een liggende cilinder, met aan weerszijden een bolle kop.
Het liggende cilindrische gedeelte is geen probleem, maar waar het mij om
gaat is de inhoud van de bolle zijden, als deze gedeeltelijk gevuld is.
Neem bijv een liggende koker met bolle einden, en vul deze met een laagje
water.
Wat bekend is, is de vloeistofhoogte.
Als je kijkt op het plaatje op
http://photo.verklop.nl/photo/photo_one.php?dir=626f6c&name=626f6c656e626f6c2e4a5047
dan gaat het dus in feite over de "deelverzameling" van beide bolschijven -
het overlappende deel dus.
De bekenden zijn de straal van de bol, straal van "a" en straal van "b" en
natuurlijk de hoogte "h" (dat is de vloeistofhoogte).
Wie kan mij op weg helpen?
Vast bedankt,
Frank
Probeer een wat eenvoudige integraalrekening?
> Ik zoek de vergelijking waarmee ik een inhoud kan berekenen.
>
> Het gaat om een liggende cilinder, met aan weerszijden een bolle kop.
> Het liggende cilindrische gedeelte is geen probleem, maar waar het mij om
> gaat is de inhoud van de bolle zijden, als deze gedeeltelijk gevuld is.
>
> Neem bijv een liggende koker met bolle einden, en vul deze met een laagje
> water.
> Wat bekend is, is de vloeistofhoogte.
> Als je kijkt op het plaatje op
> http://photo.verklop.nl/photo/photo_one.php?dir=626f6c&name=626f6c656e626f6c2e
4a5047
> dan gaat het dus in feite over de "deelverzameling" van beide bolschijven -
> het overlappende deel dus.
Je site is kaduuk.
> De bekenden zijn de straal van de bol, straal van "a" en straal van "b" en
> natuurlijk de hoogte "h" (dat is de vloeistofhoogte).
Afgaande op je verbale omschrijving
heb je slechts wat elementaire integralen nodig,
Jan
Zeker weten Jan? Ik zie geen foutmeldingen en IP is ook gewoon bereikbaar?
>> De bekenden zijn de straal van de bol, straal van "a" en straal van "b"
>> en
>> natuurlijk de hoogte "h" (dat is de vloeistofhoogte).
>
> Afgaande op je verbale omschrijving
> heb je slechts wat elementaire integralen nodig,
Ehhh.... dat is mogelijk, alleen is dat voor mij wel errug lang geleden,
vandaar dat ik wat hulp vraag,
Frank
dank, maar dat is voor mij lang geleden - kan dus wel wat knoeien maar dan
ben ik over de uitkomst ook verre van zeker......
Hoe pak ik dat aan?
Frank
Als het vanmiddag regent fris ik mijn wiskundekennis nog eens op en
deel ik het met de groep...
Voor elke bol geldt:
Volume = 2/3 pi r^2 h
r : straal van de bol
h : dikte van het gedeelte wat je afsnijdt, voorwaarde is dat het
snijvlak haaks op de straal van de bol staat en dat h niet groter is dan
de straal van de bol.
Als h=r snij je de bol dus in twee stukken zodat de total inhoud van
beide gedeelten dus de bekende 4/3 pi r^3 is.
De groeten dan maar weer,
Q
--
The only thing to fear is invisible stupidity.
>Wie kan mij helpen:
>
>Ik zoek de vergelijking waarmee ik een inhoud kan berekenen.
Dat lijkt mij niet juist.
> Wie kan mij helpen:
> Vast bedankt,
> Frank
het regende....: http://home.kpn.nl/borsj029/volume.gif
De inhoud van een bol is nog altijd 4/3 pi r^3, en in het voorbeeld kwam
ik daarop door twee halve bollen bij elkaar op te tellen. Wat is daar
dan fout aan?
> >> Als je kijkt op het plaatje op
> >> http://photo.verklop.nl/photo/photo_one.php?dir=626f6c&name=626f6c656e626f6
c2e
> > 4a5047
> >> dan gaat het dus in feite over de "deelverzameling" van beide
> >> bolschijven -
> >> het overlappende deel dus.
> >
> > Je site is kaduuk.
>
> Zeker weten Jan? Ik zie geen foutmeldingen en IP is ook gewoon bereikbaar?
IP is bereikbaar, maar hij vertoont maar e'e'n plaatje,
en wil niet slide-showen.
Jan
Voor een gehele bol is het antwoord:
int_{r=0}^R int_{lambda=0}^{2*pi} int_{theta=0}^pi
r^2 sin(theta) dtheta dlambda dr = 4/3 pi r^3
Voor een bol gevuld tot een bepaald vloeistofniveau h hoef je alleen
maar de integraal over theta aan te passen:
theta_max = arccos((r-h)/r)
int_{r=0}^R int_{lambda=0}^{2*pi} int_{theta=0}^theta_max
r^2 sin(theta) dtheta dlambda dr = 2/3 pi r^2 h
Ik ga het niet narekenen, maar het ziet er goed uit.
--
Groet, salut, Wim.
Maple doet het voor je, je hoeft het niet na te rekenen tenzij je
twijfels hebt over de integraal die ik aan maple geef.
Precies, die integraal leek me wel in orde ;-)
--
Groet, salut, Wim.
Lang leve de regen! Ben lang niet zo vrolijk geweest op een treurige
dag....... :)
Berekening ziet er goed uit, dat doe ik maar zo ff niet na.
MAar volgens mij geeft dit niet de antwoord op mijn vraag.
Daarom heb ik ook geprobeerd een schetsje te maken, en excuus voor het
tekenwerk op
http://photo.verklop.nl/photo/photo_one.php?dir=626f6c&name=4c696767656e646543696c696e6465722e6a7067
Het beoogde volume heeft dus twee vlakke zijden en één (gedeeltelijk)
bolvormige zijde.
De berekening die jij geeft geeft m.i. wel de vergelijking voor een segment,
maar bij mijn probleem wordt de er in het vlak haaks op jouw getekende vlak
een stuk afgehaald.
En dan redt ik het niet met het aftrekken van een zelfde soort segment in
het andere vlak.......
Daarnaast onstaat er voor mij nog een andere handicap: de bolvorm heeft wel
straal R, maar start en stopt bij "a" en "b".
Wat denk je, gaat het nog meer regenen vandaag? :))
Frank
Hi, ook bedankt voor je getoonde inzet. Maar net als bij Martin ga je
ervanuit dat het een "ring" uit de bol is voor zover ik het begrijp.
Daarom heb ik een schetsje geplaatst omdat ik vermoedelijk niet duidelijk
genoeg ben geweest op
http://photo.verklop.nl/photo/photo_one.php?dir=626f6c&name=4c696767656e646543696c696e6465722e6a7067
De moeilijkheidsgraad ontstaat bij mij door het ontstaan van twee vlakke
zijden, en het niet starten van het bolsegment in het centrum..........
Frank
> The only thing to fear is invisible stupidity.
Ik ben gelukkig niet snel bang en vraag daarom nog rustig even door :))
Ah, ook. Site is dus niet kaduk.
Maar slideshow is niet nodig - je ziet het plaatje toch zo ook?
Slideshow is sowieso niet makkelijk met maar 1 plaatje :)
(net overigens een 2e bijgekomen)
Frank
Ik ga er weer even aan werken :-)
--
> "qqq" <q@q.q> schreef in bericht
> news:49ce1867$0$186$e4fe...@news.xs4all.nl...
>>
>> Voor een gehele bol is het antwoord:
>>
>> int_{r=0}^R int_{lambda=0}^{2*pi} int_{theta=0}^pi r^2 sin(theta)
>> dtheta dlambda dr = 4/3 pi r^3
>>
>> Voor een bol gevuld tot een bepaald vloeistofniveau h hoef je alleen
>> maar de integraal over theta aan te passen:
>>
>> theta_max = arccos((r-h)/r)
>>
>> int_{r=0}^R int_{lambda=0}^{2*pi} int_{theta=0}^theta_max r^2
>> sin(theta) dtheta dlambda dr = 2/3 pi r^2 h
>>
>>
> Hi, ook bedankt voor je getoonde inzet. Maar net als bij Martin ga je
> ervanuit dat het een "ring" uit de bol is voor zover ik het begrijp.
> Daarom heb ik een schetsje geplaatst omdat ik vermoedelijk niet
> duidelijk genoeg ben geweest op
> http://photo.verklop.nl/photo/photo_one.php?
dir=626f6c&name=4c696767656e646543696c696e6465722e6a7067
>
> De moeilijkheidsgraad ontstaat bij mij door het ontstaan van twee vlakke
> zijden, en het niet starten van het bolsegment in het centrum..........
>
Dan begin je denk ik met poolcoordinaten.
Voor jouw probleem moet je dV als een plakje definieren, en dan integreren.
Dan integreer je 1. over de dikte van je plak,(h0-h1), 2. over de diameter
van je plak,(0-r)(waarbij r een functie is van h), en 3. een keer in de
rondte.(0-2pi).
--
Groet, salut, Wim.
hoe lang geleden en op welke school??
marten
>
> Frank
>
>
Tsja,
da's wel heel iets anders dan je eerst getekend had.
Als ik je tekening goed lees wil je het volgende:
Stel je een bolvormige vissekom voor met een laagje water er in (de
vloeistofspiegel staat dus horizontaal).
Je wilt het gedeelte water splitsen door een vertikaal vlak.
Het regent een beetje en een Brands Up staat klaar.
'k zal eens kijken.
B.t.w.: wat is de hardware-achtergrond van je vraag? Of wil je alleen
wat mensen bezighouden hier?
Martin
Helaas kan een mens niet alles (onthouden) - vandaar dat ook mij wel eens
een methode ontglipt.
Hoezo?
FRank
Het eerst "getekende" waren een 2-tal plaatjes van inet geplukt. Die zijn
mooier dan die van mij ;)
En bovendien had ik het idee dat ik door die twee plaatjes op elkaar te
leggen een goed beeld gaf van het probleem.
> Als ik je tekening goed lees wil je het volgende:
>
> Stel je een bolvormige vissekom voor met een laagje water er in (de
> vloeistofspiegel staat dus horizontaal).
Zoiets, alleen is dus slechts een schijfje van deze vissenkom gebruikt
(verticaal met de zaag een stukkie eraf), en deze tegen de achterkant van
een liggende fles "geplakt".
>
> Je wilt het gedeelte water splitsen door een vertikaal vlak.
Dat wil ik uiteraard alleen om de totale inhoud van de liggende cilinder al
bekend is.
>
> Het regent een beetje en een Brands Up staat klaar.
Kijk - dat is het goede nieuws!
>
> B.t.w.: wat is de hardware-achtergrond van je vraag? Of wil je alleen wat
> mensen bezighouden hier?
Geenszins - ik heb ook genoeg te doen.
Betreft liggende tank - inhoud bepalen (eigenlijk precies als omschreven)
Frank
> "J. J. Lodder" <nos...@de-ster.demon.nl> schreef in bericht
> news:1ixag01.o1...@de-ster.xs4all.nl...
> > "FVe" <F.Ve !AT! veryillegal.nl> wrote:
> >
> >> >> Als je kijkt op het plaatje op
> >> >> http://photo.verklop.nl/photo/photo_one.php?dir=626f6c&name=626f6c656e62
6f6
> > c2e
> >> > 4a5047
> >> >> dan gaat het dus in feite over de "deelverzameling" van beide
> >> >> bolschijven -
> >> >> het overlappende deel dus.
> >> >
> >> > Je site is kaduuk.
> >>
> >> Zeker weten Jan? Ik zie geen foutmeldingen en IP is ook gewoon
> >> bereikbaar?
> >
> > IP is bereikbaar, maar hij vertoont maar e'e'n plaatje,
> > en wil niet slide-showen.
> >
>
> Ah, ook. Site is dus niet kaduk.
>
> Maar slideshow is niet nodig - je ziet het plaatje toch zo ook?
En malende cirkeltjes bij alle andere plaatjes.
> Slideshow is sowieso niet makkelijk met maar 1 plaatje :)
> (net overigens een 2e bijgekomen)
Je plaatje was niet echt informatief,
Jan
Na enige geploeter met maple blijkt dit probleem blijkt dus niet zo'n
vriendelijke oplossing te hebben.
Q
Dat vermoeden had ik al........ ;)
Het lijkt zo simpel, maar als je naar de details kijkt.........
In ieder geval bedankt voor de moeite.
Frank.
Welke informatie mis je nu nog om bij te dragen tot de oplossing van het
probleem?
Frank
Hi Wim,.
Ik denk dat ik je nog niet goed begrijp......
1- is zoals aangegeven door Martin en krijg je de inhoud van een ronde ring
met vlakke boven-en onderzijde
2- wat bedoel je hier precies mee? Hetzelfde als 1 maar dan in het vertical
vlak?
3- bedoel je het oppervlak?
Frank
Ja, ik geloof dat je gelijk hebt. Je zet de bolplak op zijn kant... Dat
detail zag ik over het hoofd. Het wordt een iets ander sommetje.
Wat ik deed bij het berekenen van de inhoud van mijn begraven olietank,
aan de hand van gemeten inhoud en peilstok, is domweg de bolle einden
verwaarlozen, en alleen de cylinder in rekening brengen, met platte einden.
--
Groet, salut, Wim.
Het probleem is inderdaad ingewikkelder geworden.
Je wilt de inhoud van een deel van het bolle fron van een tank
berekenen.
Hierbij is de inhoud niet alleen door en het natuurlijke
vloeistfoppervlak bepaald maar lijk je ook een vertikale wand,
evenwijdig aan de as van de cilinder te hebben die het volume
beperkt???
Als het puur gaat om een olietank zou ik de bolvormige (?) fronten
verwaarlozen dan wel daar een vaste opslag van bijv. 5 % voor meenemen.
De rekensom wordt mij inmiddels te ingewikkeld als ik je tekeningen ged
interpreteer...
Ow, sorry. Ik had mijn opmerking onder jouw hele betoog gezet.
Dat het toevallig klopt voor een halve bol
wil nog niet zeggen dat het voor een andere h zou gelden.
De juiste ingenieursaanpak.
Goed genoeg is goed genoeg,
Jan
En, mijn aanpak geeft nog wat reserve ook. ;-)
--
Groet, salut, Wim.
En als je peilstok op een paar cm nauwkeurig is (zeg 5% fout)
dan heeft het geen zin om het oppervlak nauwkeuriger te kennen,
Jan
Wat je kan doen is de oppervlakte numeriek te benaderen. Het is een twee
stappenproces:
- definieer een deelgebied als de oppervlakte van een cirkel met straal
R afgeneden door een lijn x=d waarbij d>=0 en d<=R, dwz, we kijken
alleen naar het gebied x>=d en sqrt(x^2+y^2) <= R
- Oppervlakte deelgebied is A(d) := R^2 arccos(d/R) - d*sqrt(R^2-d^2)
Tot nu toe was het makkelijk, maar de volgende opgave is A(d) ook te
integreren tussen de extremen die je opgaf in je figuur. Dit volgt uit
de integraal:
Vol = int_{x=-sqrt(R^2-d^2)}^{xmax} A(sqrt(R^2-x^2)-d) dx
waarbij je xmax kies op de hoogte van het gewenste vloeistofniveau. Ik
zie geen eenvoudige analytische oplossing voor dit laatste verhaal,
maar, numeriek is dit geen probleem lijkt me.
Niet een wand die vertikaal is en evenwijdig aan de as van de liggende
cilinder, maar haaks op deze as.
Dat is alleen een "rekenkundige" wand en is heb ik alleen zo gesteld om zo
het cilindrische gedeelte rekenkundig te scheiden van het bolsegment.
Want ik zou niet weten hoe je het anders uit zou moeten rekenen - het lijkt
mij nog veel lastiger worden als je het geheel in één vergelijking wilt
opstellen.. :(
> Als het puur gaat om een olietank zou ik de bolvormige (?) fronten
> verwaarlozen dan wel daar een vaste opslag van bijv. 5 % voor meenemen.
Dat is een optie, maar de inhoud van de bolvorm is zodanig groot tov de
inhoud, dat hierdoor grote fouten kunnen ontstaat.
De totale inhoud van de bollen (aan weerszijden van de tank) zijn bijna even
groot als de inhoud van het cilindrische gedeelte.
Daarom is de afwijking voor mijn toepassing te groot helaas en krijg ik te
grote afwijkingen om het "geleverde" en "af te nemen hoeveelheid" te
vergelijken met de inhoud in de tank.
> De rekensom wordt mij inmiddels te ingewikkeld als ik je tekeningen ged
> interpreteer...
Helaas. Ik was er al een beetje bang voor ;)
Toch dank voor je inzet.
Frank
>> >> Ja, ik geloof dat je gelijk hebt. Je zet de bolplak op zijn kant...
>> >> Dat
>> >> detail zag ik over het hoofd. Het wordt een iets ander sommetje.
>> >>
>> >> Wat ik deed bij het berekenen van de inhoud van mijn begraven
>> >> olietank,
>> >> aan de hand van gemeten inhoud en peilstok, is domweg de bolle einden
>> >> verwaarlozen, en alleen de cylinder in rekening brengen, met platte
>> >> einden.
>> >
>> > De juiste ingenieursaanpak.
>> > Goed genoeg is goed genoeg,
>> >
>> > Jan
>>
>> En, mijn aanpak geeft nog wat reserve ook. ;-)
>
> En als je peilstok op een paar cm nauwkeurig is (zeg 5% fout)
> dan heeft het geen zin om het oppervlak nauwkeuriger te kennen,
De meetfout in de hoogte ligt rond de 0,2%
De bolvormen hebben gezamenlijk een inhoud die vrijwel even groot is als het
cilindrische gedeelte.
Dus krijg je (afhankelijk van de hoogte) een (voor mij) te grote fout in de
weergave van de inhoud.
Frank
Kon ik dat ook maar ;)
Zie ook andere posting - volume afwijking wordt dan té groot helaas.
Had ik maar een "gewone" tank waarbij deze fout te verwaarlozen was :)
Dank voor je inzet.
Frank
het is idd. wat ingewikkelder dan het eerste probleem, (of dat we dachten
dat dat het probleem was),,
nu wordt het ,
de inhoud van de ronde kapjes (dmv. de grote cirkel met de straal R ) te
berekenen en dan,
daar een gedeelte van,(dat gedeelte wat is gevuld met water),
en die 2 inhouden optellen bij de inhoud van de cilinder wat met water is
gevuld is,
Hmm,
even over nadenken,
marten
>
>
> "qqq" <q@q.q> schreef in bericht
> news:49ceb891$0$187$e4fe...@news.xs4all.nl...
>> qqq wrote:
>>
>> Na enige geploeter met maple blijkt dit probleem blijkt dus niet zo'n
>> vriendelijke oplossing te hebben.
>>
>
> Dat vermoeden had ik al........ ;)
>
> Het lijkt zo simpel, maar als je naar de details kijkt.........
Heb je er trouwens al aan gedacht dat je tank mogelijks niet perfect
horizontaal ligt ?
K
--
"To first order everything is linear"
Kun je dan niet benaderen door het ding als één bol op te vatten ?
--
Groet, salut, Wim.
Wat doen jullie toch moeilijk! Even googelen:
http://www.arachnoid.com/TankCalc/index.html
Frank Abbing
Ik heb in het boek atlas van de wiskunde gekeken!
Bereken eerst de inhoud van de bolschijf h.
V=(1/6)*pi*h*(3*r(a)*r(a)+3*r(b)*r(b)+h*h)
Vermengvuldig V met het cirkelsegment
De oppervlakte bereken je zo:
Opp= ((r*r)/2)*((pi/180)*hoek-sin(hoek))
De hoek is in D met de twee raakpunten van cilinder en bolle deel van de
tank waar het vloeisotfniveau is.
Dus inhoud van de tank is:
I(tank)=V*Opp
--
Bert ( A W RvB )
be...@rjrsnvbrn.nl
www.rjrsnvbrn.nl
De inhoud van de tank zonder de cilinder is:
> I(tank)=V*Opp
De inhoud van de cilinder van de tank is:
> Vermengvuldig de hoogte van de cilinder met het cirkelsegment
> De oppervlakte bereken je zo:
> Opp= ((r*r)/2)*((pi/180)*hoek-sin(hoek))
>
> De hoek is in D met de twee raakpunten van cilinder en bolle deel van de
> tank waar het vloeisotfniveau is.
>
De inhoud van de cilinder is:
Hoogte maal Opp
Echt waar ??
Je denkt toch niet dat we je nog geloven na al die onzin die je hier hebt
uitgestort?
nee, dat krediet heb je al heel lang verspeeld, gekke Bertje.
Laat nog een mooi plaatje zien van een ingemaakte platvoet. Of een in 1943
neergestorte spinazieschotel.
Dan geloven we je weer, want wie zegt dat jij onze eigen echte gekke
Bertje bent, en niet een door aliens geusurpeerde hulk ?
Nee, ons hou je niet voor de mal, hoor.
--
Groet, salut, Wim.
Er is toch een analytische oplossing:
R : straal van de bol
h : hoogte vloeistofniveau
d : begrenzingsafstand gerekend vanuit de z-as die door het centrum van
de bol loopt.
V1 = int_{theta=0}^{theta_max) int_{-alpha}^{alpha} int_{r=0}^R
r^2 sin(theta) dr dlambda dtheta
V2 = int_{theta=0}^{theta_max) int_{-alpha}^{alpha} int_{r=0}^Rmax
r^2 sin(theta) dr dlambda dtheta
Na enig gepuzzel met maple krijg je:
V1 = 2/3 * R^2 * h * alpha
V2 = 1/6 * d^3 h/r { 2 sin(alpha)/cos^2(alpha) +
ln( sec(alpha) + tan(alpha)) -
ln( sec(alpha) - tan(alpha)) }
en het gezochte antwoord is V = V1-V2 waarbij:
theta_max = arccos((R-h)/R)
alpha = arccos(d/R)
Hoe je d precies definieert is hangt af van de constructie.
Hier zit een genieperig foutje in!
Het volume dient vermenigvuldigd te worden met
( de grote van het cirkelsegment / totale grote van de cirkel )
(Vloeistofinhoud van bolschijf) = V*(Opp/(r*r))
V=(1/6)*pi*h*(3*r(a)*r(a)+3*r(b)*r(b)+h*h)
Opp(segment) = ((r*r)/2)*((pi/180)*hoek-sin(hoek))
Inhoud =
(1/6)*pi*h*(3*r(a)*r(a)+3*r(b)*r(b)+h*h)*(((r*r)/2)*((pi/180)*hoek-sin(hoek))/(r*r))
Zo is dat, en wie nou nog aan aliens twijfelt kan beter de blijbel gaan
lezen.
Uiteraard, het zijn elementaire integralen.
Alleen invullen van de grenzen is wat vervelend,
Jan
Oppervlakte van een cirkel = pi*r*r en ik schreef r*r.
Inhoud =
(1/6)*pi*h*(3*r(a)*r(a)+3*r(b)*r(b)+h*h)*(((r*r)/2)*((pi/180)*hoek-sin(hoek))/(pi*r*r))
Zou het geen goed idee zijn als je in het vervolg
eerste eens zou nadenken voordat je hier post?
Heb je er over nagedacht aan wie je die vraag stelt ?
--
Groet, salut, Wim.
Voorop gesteld dat ik deze site nog niet gevonden heb, dus een mooi controle
middel.
Maar helaas geeft deze ook niet het antwoord op mijn vraag.
Het programma geeft een "vuistregel" voor verschillende soorten tanks of
berekent e.e.a. numeriek, maar geeft niet de vergelijking/formule waar ik
naar zoek!
Ik heb alleen de juiste formule gezien voor een horizontaal liggende tank
met twee elliptische einden, maar niet de spherische einden - die zijn ook
het moeilijkst lijkt mij.
OF er berekeningemethoden gegeven, maar dat zijn toch de basisdingen danwel
uitsluitend bij volle tank.
Helaas heb ik - ondanks het vele gegoogle - nog niet veel bruikbaars
gevonden, maar wel veelvuldig dezelfde vraag ;)
Frank
je mag, behalve elleptical ook conical of spherical kiezen voor een of beide
einden. Als je verder scrollt vind je zelfs de formules waarop de zaak
gebaseerd is. Wat wil je nog meer!
> OF er berekeningemethoden gegeven, maar dat zijn toch de basisdingen
> danwel uitsluitend bij volle tank.
>
> Helaas heb ik - ondanks het vele gegoogle - nog niet veel bruikbaars
> gevonden, maar wel veelvuldig dezelfde vraag ;)
>
> Frank
Frank Abbing
Dat heb ik zeker al wel gezien - het programma ongeveer van voren tot achter
uitgepluisd.
Zojuist nog zelfs even de sourcecode gedownload - maar nog nooit wat met
java geprogrammeerd. In grote lijnen zie ik wel wat er gebeurd, maar de
details ontgaan mij.
De formule voor bijv de "spherical End Cap" is slechts de formule indien de
cap helemaal gevuld is. Het gaat mij er natuurlijk om dat deze
*gedeeltelijk* gevuld is. De totale tankinhoud weet ik wel.
De JAVA-code ziet er volgens mij zo uit:
{bestand TankVolumeIntegrator)
double radius, invx;
double ratio = g_R / g_r;
double rt2 = g_r * 2;
double range = bx - ax;
double xstep = range / n;
double stx = xstep * 0.5;
double delta;
//p("rev: " + rev);
// three independent loops for performance reasons
switch (endCapMode) {
case TankCalc.ELLIPSEMODE: // elliptical end cap
delta = ((rev) ? g_r : 0);
for (int i = 0; i < n; i++) {
xp = stx + (i * xstep);
x2 = xp + delta;
invx = rt2 - x2;
radius = Math.sqrt(invx * x2) * ratio;
dy = y - g_sa * (xp + ax);
result += circleAreaMinusSegment(radius, dy / g_ca);
}
break;
case TankCalc.CONICMODE: // conical end cap
delta = (rev ? g_r : 0);
for (int i = 0; i < n; i++) {
xp = stx + (i * xstep);
x2 = xp + delta;
invx = rt2 - x2;
radius = ((invx < x2) ? invx : x2) * ratio;
dy = y - g_sa * (xp + ax);
result += circleAreaMinusSegment(radius, dy / g_ca);
}
break;
case TankCalc.SPHEREMODE: // spherical end cap
delta = (rev ? sphereRadius - range : -sphereRadius);
double srsq = sphereRadius * sphereRadius;
for (int i = 0; i < n; i++) {
xp = stx + (i * xstep);
x2 = xp + delta;
radius = Math.sqrt(srsq - (x2 * x2));
dy = y - g_sa * (xp + ax);
//p("sr = " + sphereRadius + ", x2 = " + x2 + ",
radius: " + pn(radius));
result += circleAreaMinusSegment(radius, dy / g_ca);
Frank
Trouwens ook net achter gekomen dat de berekening niet klopt zoals hij daar
staat.
Neem bijv de inhoud ellips afh van de hoogte
v=volume
r="hoogte" van de 1/2 ellips - hij noemt het "minor radius"
R=diameter liggende cilinder
y=vloeistofhoogte
v = pi*r*(3R-y)*y^2/3R
Dan zou het betekenen dat de volledige inhoud al bereikt is op het punt dat
y=R, m.a.w. tank is half-vol.
Dan is de formule immers gelijk aan de formule van een "elliptical Cone"
v = pi*d^2*h/6 = 2*pi*R^2*r/3
(zie bijv http://www.grc.nasa.gov/WWW/K-12/airplane/volume.html)
Frank
Ik betwijfel of je iets van programmeren weet!
Ik heb honderden van dit soort softwareprogrammaatjes geschreven!
Er dient hier rekening te worden gehouden met:
h>=r/2
if h<=r/2 then
else
endif
bij cos, sin en tan
Meestal als de hoek groter is dan 45 graden
Bij een negatief en positief getal
Dit uitproberen met behulp van tekeningen
gemaakt met cos sin en tan
if hoek<0 then
if hoek>=-45 graden then
elseif hoek>=-90 graden then
elseif enzovoort
endif
elseif hoek<=45 graden then
elseif hoek<=90 graden then
else if hoek<=90+45 graden then
elseif hoek<=90+90 graden then
else
endif
--
Bert ( A W RvB )
je bedoelt R=straal
> y=vloeistofhoogte
>
> v = pi*r*(3R-y)*y^2/3R
>
> Dan zou het betekenen dat de volledige inhoud al bereikt is op het punt
> dat y=R, m.a.w. tank is half-vol.
even je formule overschrijven zodat ik hem kan lezen:
v = pi*r*(3*R-y)*(y^2)/(3*R)
nu y vervangen door R:
v = pi*r*2*R*(R^2)/(3*R)
of:
v = pi*r*2*R*R/3
en dat is precies de inhoud van een halve ellipsoide, dacht ik...
>
> Dan is de formule immers gelijk aan de formule van een "elliptical Cone"
> v = pi*d^2*h/6 = 2*pi*R^2*r/3
nou doe ik te moeilijk: hier staat precies wat ik al schreef, met elliptical
cone zullen ze wel halve ellipsoide bedoelen.
zie http://nl.wikipedia.org/wiki/Inhoud voor een hele ellipsoide
>
> (zie bijv http://www.grc.nasa.gov/WWW/K-12/airplane/volume.html)
>
> Frank
Frank Abbing
Dat is dus precies wat ik al schreef. Op het moment y=R (dus de vulling
heeft de hoogte bereikt van de halve diameter is de halve ellipsoid volgens
de berekening al gevuld volgens het manual.
Een volledige ellips
V = 4/3*pi*abc
Voor een endcap (=halve ellipsoid) dus
V = 2/3*pi*abc
...en dus kan het niet dat de volledige inhoud bereikt wordt met y=R.
Het volledige volume van een halve ellipsoid (=volledige end cap) wordt pas
bereikt bij y=2R danwel y=D
Het was immers de formule die bij het plaatje in het programma hoort. En dat
klopt dus niet.
Misschien zie ik hier wat over het hoofd, maar dan is er niet echt sprake
van helderhied ;)
Overigens heb ik dezelfde opmerking met de vergelijking die daar gelijk
onder staat - die eens in excel het volume uit laten rekeken naar daar komt
echt wat anders uit dan op diezelfde pagina de genoemde oppervlakte maar "A"
keer de lengte uitrekenen.
Al met al dus toch wel de nodige twijfels om de inhoud van dit programma te
vertrouwen.
Dat naast natuurlijk het feit dat ik eigenlijk de formule nodig heb ;)
Frank
Als testje heb ik net een andere tank genomen, waarvan bij mij de maten EN
inhoudstabel aanwezig zijn.
De inhoudstabel is door de leverancier geleverd en (zeer waarschijnlijk)
gebaseerd op berekende waarden.
De tank is gecompartimenteerd. 1 compartiment:
Links: spherisch eind, met r=372.5 (is tevens scheidingswand tussen 2
compartimenten)
Rechts: conisch, r=372.5
R romp = 1193
Romplengte = 2735mm
Theoretische inhoud ca 14m3
Als ik TankCalc de inhoud laat berekenen bij 1800mm vloeistofhoogte, is het
verschil een dikke 400 liter (geeft TankCalc meer aan). En dat is best veel
voor een theoretisch benadering...... Want daar komen straks nog meetfouten
en vormafwijkingen van de tank bij...........
Het bijzondere daarbij is, als ik 1 conische eind neem (en de andere zijde
gewoon een rechte wand), dan blijft er uiteraard een verschil. Dat verschil
met de theoretische waarde loopt op tot 460 liter.
Dat is dan nog niet zó vreemd (want er mist nog de inhoud van één einde van
ca 930 liter) maar wat wel vreemd is dat dit verschil t.o.v. de peilhoogte
gewoon lineair verloopt. en wel volgens delta = 0,2*x
M.a.w:
Ik bereken de inhoud met eerder genoemde formule van de ellips, en ga ervan
uit dat met die formule de inhoud wordt bedoeld van de ellips als er aan
beide zijden een ellips zit (dus geen conus maar een volledige ellipsoid).
Inhoud van de tank = (0.2 * peilhoogte) + inhoud liggend cilinder peilhoogte
+ (inhoud ellips peilhoogte / 2)
Inhoud = 1132
en dat had moeten zijn:
Inhoud = inhoud Spherisch einde peilhoogte + inhoud liggende cilinder
peilhoogte + inhoud enkele ellips peilhoogte
Maar volgens TankCalc is geeft dit 11600
Volgens Tanktabel leverancier is het 11122
Nou ja, wie het weet mag het zeggen.
Wellicht moet ik dan maar een tanktabel maken en daarmee met numerieke
regressie aan de gang ofzo. :(
Frank
Waarom leg je de tank niet op een weegschaal, vul je hem met water, en
meet je gewicht ten opzichte van de pijlstok hoogte?
Ik heb een mogelijke oplossing voor alle onregelmatige bolle delen van
zo'n tank!
Bereken voor elke hoogte, in millimeter of centimeter, het
vloeistofoppervlak en maak daar een grafiek van. Omdat de hoogte zo klein is
kan je die waarden als volume voor hoogte [h,h+1] beschouwen.
Misschien dat je hiermee een formule kan maken of voor elk stukje hoogte
[h,h+y] een aparte formule.
Verder kan je een grafiek maken van volume en hoogte en hiermee een
formule maken of voor elk stukje hoogte [h,h+y] een aparte formule.
In dit geval van die bol hoef je maar tot h = r berekeningen uit te
voeren. Opp van h is gelijk aan opp 2*r-h
Kijk eens aan, je hebt de numerieke oplossing van een integraal bedacht.
Geniaal!
Helaas, je was niet de eerste: http://en.wikipedia.org/wiki/Riemann_integral
Echter: de vraag was volgens mij hoe kan dit probleem analytisch
opgelost worden? Numeriek is zoals je zegt, een fluitje van een cent
(als je een beetje op let met afrondingsfouten en zo).
Sander...
Heel geniaal zelfs!
Door dit met meerdere opslagtanks te doen kan, door de formules te
vergelijken, er alsnog een gezamenlijke formule uit voort komen die te
gebruiken is.
> Helaas, je was niet de eerste:
> http://en.wikipedia.org/wiki/Riemann_integral
>
> Echter: de vraag was volgens mij hoe kan dit probleem analytisch
> opgelost worden? Numeriek is zoals je zegt, een fluitje van een cent
> (als je een beetje op let met afrondingsfouten en zo).
>
> Sander...
Als er onmogelijke oplossingen worden gevraagd dan komt er nooit een
antwoord!
Op hoge scholen en universiteiten is het heel gewoon om grafieken
waarvan de oppervlaktes niet kunnen worden berekend om die te benaderen
door zo´n grafiek op een A4 ( A3 enz ) te tekenen waarna zowel het hele
vel en daarna de uitgeknipte grafiek worden gewogen waardoor de
oppervlakte van de grafiek bekend is. Ik vermoed dat ze dat nu met een
computer uitrekenen.
--
Bert ( A W RvB )
> Op hoge scholen en universiteiten is het heel gewoon om grafieken
> waarvan de oppervlaktes niet kunnen worden berekend om die te benaderen
> door zo´n grafiek op een A4 ( A3 enz ) te tekenen waarna zowel het hele
> vel en daarna de uitgeknipte grafiek worden gewogen waardoor de
> oppervlakte van de grafiek bekend is. Ik vermoed dat ze dat nu met een
> computer uitrekenen.
Dat doen ze alleen op hele hoge scholen.
> Op hoge scholen en universiteiten is het heel gewoon om grafieken
> waarvan de oppervlaktes niet kunnen worden berekend om die te benaderen
> door zo´n grafiek op een A4 ( A3 enz ) te tekenen waarna zowel het hele
> vel en daarna de uitgeknipte grafiek worden gewogen waardoor de
> oppervlakte van de grafiek bekend is.
Hoe heette weer dat ding, met een haakse wieltje, waarmee je de omtrek
moest traceren, en dan kon je de oppervlakte aflezen?
Planimeter? Kan dat?
> Hoe heette weer dat ding, met een haakse wieltje, waarmee je de omtrek
> moest traceren, en dan kon je de oppervlakte aflezen?
> Planimeter? Kan dat?
Even gegoogled, inderdaad planimeter...
http://nl.wikipedia.org/wiki/Planimeter
Ik heb me afgevraagd hoe het probleem opgelost kan worden en er zijn
vele manieren! Vandaar ook deze:
Je zal eerst het volume van het bolsegment moeten berekenen:
V(bolsegment)=(1/6)*pi*b*(3*(r^2)+(b^2))
b=breedte van de bol die uitstulpt = [C,D]
Voor h<r
V(bolsegment t/m h)=(V(bolsegment)/2)- leeg gedeelte
leeg gedeelte = integraal van cirkelsegment
=((r(cirkel)^2/)2)* integraal((pi/180))*alfa-sin(alfa))*sin(hoek)
sin(hoek) = (r(cilinder)-h)/r(cirkel)
alfa = hoek CMA in graden
voor h = r
V(bolsegment t/m h)=(V(bolsegment)/2)
voor h>r
V(bolsegment t/m h)=(V(bolsegment)/2)+ volume van h-r
V(van h-r) = integraal van cirkelsegment
=((r(cirkel)^2/)2)* integraal((pi/180))*alfa-sin(alfa))*sin(hoek)
sin(hoek) = (h-r(cilinder))/r(cirkel)
alfa = hoek CMA in graden
Ik heb het nog niet uitgerekend maar in deze richting zal je het moeten
zoeken.
--
Bert ( A W RvB )
Ik heb met Visual Basic 6.0 een programmaatje gemaakt om de inhoud van
het bolle deel te berekenen!
Als test is de straal van de bol 500 centimeter en de straal van de
cilinder 300 centimeter. De afwijking is ongeveer een procent. De berekening
geeft 20 liter te veel aan. Als ik tijd heb dan zal ik hier uitleggen hoe
het werkt.
Als je het programmaatje wilt stuur me een mail.
--
********************
Bert RvB.
www.rjrsnvbrn.nl
********************
Die 20 liter verschil is voor hoogte van h [1,r(cilinder)].
> Als ik tijd heb dan zal ik hier uitleggen hoe
> het werkt.
>
> Als je het programmaatje wilt stuur me een mail.
Het programmaatje werkt als volgt:
Het volume van de vloeistof die zich in het bolle gedeelte van de tank
bevindt is uit te rekenen door het oppervlak van de vloeistof met hoogte
i uit te rekenen en op te tellen.
for i = 1 to h
'berekeningen.
VolumeTotaal = VolumeTotaal + (grotevanvloeistofoppervlakophoogte(i))
next
Daarvoor is het nodig om de breedte van het vloestofoppervlak uit te
rekenen:
De straal van de cilinder is de hypothenusa van de driehoek waarvan een
zijde, die de gelijke hoogte heeft als het vloeistofoppervlak, de helft
is van de breedte van het vloeistofoppervlak. (Dat is het snijpunt van
de lijn CA met het vloeistofoppervlak op jouw tekening.)
br= 2*SQR(r(cilinder)^2-(r(cilinder)-i))^2)
Nu kan de straal van de cirkel worden berekent die de raakpunten
aangeeft van het vloeistofoppervlak en de bol:
r(raakpunten)= SQR( (breedte vloeistof)^2 + ( halve lengte cilinder)^2)
Nu is het nodig om de hoek uit te rekenen van het punt die onder het
middelpunt van de cirkel ligt daar waar een loodlijn uit dat middelpunt
de vloeistof raakt en dat is het middelpunt van de straal r(raakpunten):
Die hoek is uit te rekenen omdat er een driehoek is:
Die driehoek is:
middelpunt van de straal r(raakpunten),
raakpunt van de straal r(raakpunten) met het punt waar die straal zowel
de cilinder als de bol en het vloeistofoppervlak raakt,
en als laatste het punt op het vloeistofoppervlak halverwege de breedte
waar de overgang is van cilinder naar bol op hoogte h. ( Waar op jouw
tekening de lijn CA het vloeistofoppervlak raakt. )
hoek(taartdeel) = 2*atn( (br/2)/(halve lengte cilinder))*(180/pi)
Nu is de oppervlakte van het taartdeel van de cirkel met straal
r(raakpunten) uit te rekenen:
Dat taartdeel bestaat uit de driehoek:
lijn links vanaf middelpunt van de straal r(raakpunten)
naar de kant links op het vloeistofoppervlak waar de cilinder en de bol
elkaar raken.
lijn rechts vanaf middelpunt van de straal r(raakpunten)
naar de kant rechts op het vloeistofoppervlak waar de cilinder en de bol
elkaar raken.
En de lijn br waar de overgang is van cilinder naar bol.
Met het vloeistofoppervlak in de bol.
Oppervlak(taartdeel)= (pi*r(raakpunten)^2)*( hoek(taartdeel)/360)
Nodig is slechts het oppervlak van de vloeistof in het gedeelte van de bol:
Van oppervlak(taartdeel) gaat dan de driehoek af
Oppervlak ( vloeistofoppervlak in bol) =
oppervlak(taartdeel) - (( halve lengte cilinder )/2)*(br)
Het volume van de vloeistof in de bol is dan: alle berekende
oppervlak(taartdeel) voor hoogte i bij elkaar opgeteld.
for i = 1 to h
'berekeningen.
VolumeTotaal = VolumeTotaal + (grotevanvloeistofoppervlakophoogte(i))
next
>
> VolumeTotaal = VolumeTotaal + (grotevanvloeistofoppervlakophoogte(i))
>
>
Volumes en oppervlaktes optellen???
Dat komt nooit goed.
Ik denk dat je (grote...(i)) moet vermenigvuldigen met iets.
Ik denk ook dat het (grootte...(i)) moet zijn.
> Vermengvuldig V met het cirkelsegment
> De oppervlakte bereken je zo:
> Opp= ((r*r)/2)*((pi/180)*hoek-sin(hoek))
De formule die in het boek atlas van de wiskunde staat op pagina 170 is
fout!
Er staat Opp=((r^2)/2)*((pi/180)*alpha)- sin(alpha))
Bij het zelf maken van de formule komt er dit uit:
Opp=(pi*r^2)*(alpha/360)-(r^2)*cos(alpha/2)*sin(alpha/2)
>
> De hoek is in D met de twee raakpunten van cilinder en bolle deel van de
> tank waar het vloeisotfniveau is.
>
> Dus inhoud van de tank is:
> I(tank)=V*Opp
>
>
>
>
>
>
--
Bert ( A W RvB )