Difference between revisions of "Contrib/funkySetFields"

From OpenFOAMWiki
m
m (Updated link to the forum)
 
(46 intermediate revisions by 8 users not shown)
Line 1: Line 1:
[http://primonona.info/content/view/fiera-del/ fiera del fitness 2004 rimini programmi] [http://wedner.info/content/view/opel-corsa.htm opel corsa 1 8] [http://budget7i.info/lib/sigla-di/ sigla di contro campo] [http://klohy.info/img/styles/italy-net.htm italy net guide] [http://polex.com.cn/resources/articles/incontri-pordenone.htm incontri pordenone] [http://soler.net.cn/data/softwareupgrade.htm softwareupgrade] [http://svike.info/view/new/madamigella-oscar.htm madamigella oscar] [http://joperan.org/data/remington-hc/ remington hc363] [http://polex.com.cn/resources/articles/giustino-durano.htm giustino durano] [http://klohy.info/img/styles/nina-dance.htm nina dance] [http://joperan.org/data/sony-dscp/ sony dsc-p43] [http://klohy.info/img/styles/mariolina.htm mariolina] [http://budget7i.info/lib/www-adidas/ www adidas] [http://veggis.org.cn/resources/articles/si-tu.htm si tu quisieras andar conmigo] [http://funkall.us/images/small/wrestiling-femminile/ wrestiling femminile] [http://manoke.cn/topic/bucketheads-the/ bucketheads the] [http://soler.net.cn/data/gioco-demo.htm gioco demo avventura] [http://polex.com.cn/resources/articles/isole-canarie.htm isole canarie lanzarote] [http://funkall.us/images/small/il-caso/ il caso difficile del commissario maigret] [http://sneck.info/data/la-favorita/ la favorita di carlo ii] [http://budget7i.info/lib/bar-mixing/ bar mixing] [http://klohy.info/img/styles/alimentatore-universale.htm alimentatore universale 12 volt] [http://budget7i.info/lib/blutooth-samsung/ blutooth samsung wep150] [http://manoke.cn/topic/neverjetna-si/ neverjetna si] [http://wedner.info/content/view/opel-astra.htm opel astra sw 1 7] [http://klohy.info/img/styles/hp-.htm hp 1160 toner] [http://veggis.org.cn/resources/articles/estee-lauder.htm estee lauder creme] [http://soler.net.cn/data/stage-in.htm stage in abruzzo e molise] [http://manoke.cn/topic/discoteche-meridionali/ discoteche meridionali] [http://joperan.org/data/siemens-celsius/ siemens celsius h230] [http://manoke.cn/topic/benq-pb/ benq pb 6210] [http://veggis.org.cn/resources/articles/residence-bibione.htm residence bibione] [http://veggis.org.cn/resources/articles/www-movil.htm www movil com bo] [http://joperan.org/data/logitech-quickcam/ logitech quickcam communicate] [http://manoke.cn/topic/www-caravanbacci/ www caravanbacci it] [http://svike.info/view/new/un-mostro.htm un mostro di nome lila film dvd] [http://joperan.org/data/cordoba-argentina/ cordoba argentina] [http://svike.info/view/new/nec-e.htm nec e808] [http://polex.com.cn/resources/articles/accestire.htm accestire] [http://svike.info/view/new/batterie-ricaricabili.htm batterie ricaricabili lettori mp3] [http://xionny.cn/topic/acer-aspire/ acer aspire 5024wlmi turion ml34 512mb] [http://soler.net.cn/data/jesolo-hotel.htm jesolo hotel canarie] [http://polex.com.cn/resources/articles/cuffie-stereo.htm cuffie stereo sennheiser] [http://soler.net.cn/data/nimboda.htm nimboda] [http://soler.net.cn/data/burda.htm burda] [http://klohy.info/img/styles/selezione-miss.htm selezione miss italia liguria 1996] [http://wedner.info/content/view/cristoforo-colombo.htm cristoforo colombo. kids cartoons] [http://sneck.info/data/ariete/ ariete 1330] [http://budget7i.info/lib/lavatrice-carico/ lavatrice carico 6 kg] [http://svike.info/view/new/film-di.htm film di fantascienza] [http://svike.info/view/new/pistero.htm pistero] [http://svike.info/view/new/non-mi.htm non mi chiedermi mp3] [http://soler.net.cn/data/fogli-a.htm fogli a4 carta] [http://joperan.org/data/manutenzioni-tecnologiche/ manutenzioni tecnologiche industriali] [http://joperan.org/data/le-zoo/ le zoo jamba] [http://polex.com.cn/resources/articles/maschera-matrix.htm maschera matrix] [http://veggis.org.cn/resources/articles/balme.htm balme] [http://soler.net.cn/data/telefono-spy.htm telefono spy] [http://budget7i.info/lib/geri-halliwell/ geri halliwell ride it] [http://funkall.us/images/small/escort-girl/ escort girl] [http://veggis.org.cn/resources/articles/ballets-trockadero.htm ballets trockadero part 1] [http://sneck.info/data/quintetti-ottoni/ quintetti ottoni] [http://budget7i.info/lib/jancker/ jancker] [http://xionny.cn/topic/gruppo/ gruppo 47] [http://joperan.org/data/campo-thiaroye/ campo thiaroye] [http://veggis.org.cn/resources/articles/onemeet.htm onemeet] [http://primonona.info/content/view/divertimento-a/ divertimento a napoli] [http://manoke.cn/topic/funk-cops/ funk cops] [http://funkall.us/images/small/panasonic-hi/ panasonic hi fi] [http://manoke.cn/topic/creed-my/ creed my sacrifice] [http://soler.net.cn/data/km-chrysler.htm km0 chrysler diesel auto km 0] [http://primonona.info/content/view/logitech-bluetooth/ logitech bluetooth headset] [http://xionny.cn/topic/porno-veline/ porno veline belle e porcelline] [http://klohy.info/img/styles/dude-descending.htm dude descending a staircase] [http://funkall.us/images/small/montatore/ montatore] [http://sneck.info/data/night-fever/ night fever] [http://svike.info/view/new/chello-fr.htm chello fr] [http://manoke.cn/topic/rojas/ rojas] [http://klohy.info/img/styles/www-buonchef.htm www buonchef it] [http://svike.info/view/new/mario-b.htm mario b] [http://xionny.cn/topic/videocamere-digitali/ videocamere digitali canon mvx300] [http://budget7i.info/lib/furgone-mercedes/ furgone mercedes] [http://joperan.org/data/motorola-v/ motorola v 525] [http://veggis.org.cn/resources/articles/mitsubishi-.htm mitsubishi - pajero] [http://klohy.info/img/styles/batajsk.htm batajsk] [http://svike.info/view/new/instincs.htm instincs] [http://manoke.cn/topic/meridiana-com/ meridiana com] [http://funkall.us/images/small/anna-dei/ anna dei mille giorni] [http://sneck.info/data/altoparlanti-philips/ altoparlanti philips] [http://manoke.cn/topic/asus-car/ asus car kit] [http://svike.info/view/new/lil-jon.htm lil jon get low testo] [http://budget7i.info/lib/dv-mustek/ dv mustek] [http://soler.net.cn/data/tobogan.htm tobogan] [http://soler.net.cn/data/villapiana.htm villapiana] [http://budget7i.info/lib/pentium/ pentium 3 4] [http://polex.com.cn/resources/articles/intellimouse-explorer.htm intellimouse explorer 4] [http://manoke.cn/topic/il-delinquente/ il delinquente delicato] [http://joperan.org/data/bluetooth-mac/ bluetooth mac] [http://veggis.org.cn/resources/articles/sito-ufficiale.htm sito ufficiale juventus] [http://soler.net.cn/data/edream.htm edream] [http://sneck.info/data/attrezzatura-giardinaggio/ attrezzatura giardinaggio] [http://manoke.cn/topic/laura-betti/ laura betti] [http://xionny.cn/topic/julio-nava/ julio nava] [http://wedner.info/content/view/cambio-ai.htm cambio ai vertici di sega of america] [http://soler.net.cn/data/contadine.htm contadine] [http://veggis.org.cn/resources/articles/sesso-nei.htm sesso nei parcheggi] [http://wedner.info/content/view/www-netmadeira.htm www netmadeira com] [http://soler.net.cn/data/estensori-telecomando.htm estensori telecomando] [http://primonona.info/content/view/tv-sony/ tv sony plasma] [http://xionny.cn/topic/sandungueo-perreo/ sandungueo perreo video] [http://soler.net.cn/data/filmati-pamela.htm filmati pamela anderson] [http://soler.net.cn/data/la-pecorella.htm la pecorella al bosco] [http://manoke.cn/topic/voodoo-popeye/ voodoo popeye] [http://primonona.info/content/view/double-layer/ double layer portatili] [http://svike.info/view/new/occhiali-caravan.htm occhiali caravan] [http://polex.com.cn/resources/articles/samsung-laser.htm samsung laser 2010] [http://primonona.info/content/view/sannino/ sannino] [http://klohy.info/img/styles/sting-feat.htm sting feat cray david] [http://budget7i.info/lib/vonnegut/ vonnegut] [http://sneck.info/data/piedicavallo/ piedicavallo] [http://sneck.info/data/occhiali-ray/ occhiali ray ban donna] [http://veggis.org.cn/resources/articles/michel-iett.htm michel iett] [http://funkall.us/images/small/ice-cream/ ice cream mania] [http://veggis.org.cn/resources/articles/jbl-ep.htm jbl e-150p] [http://wedner.info/content/view/dvd-.htm dvd 160 gb] [http://klohy.info/img/styles/g-con.htm g con] [http://soler.net.cn/data/nomadi-copertine.htm nomadi copertine cd] [http://wedner.info/content/view/sony-lcs.htm sony lcs csd] [http://wedner.info/content/view/massaggiatrice-a.htm massaggiatrice a lecco] [http://xionny.cn/topic/franchesca/ franchesca] [http://soler.net.cn/data/viaggi-d.htm viaggi d affari] [http://svike.info/view/new/rubrica-dell.htm rubrica dell agricoltore] [http://klohy.info/img/styles/bruno-bozzetto.htm bruno bozzetto download film in flash] [http://budget7i.info/lib/le-cantique/ le cantique de noel] [http://manoke.cn/topic/foto-milly/ foto milly carlucci nuda] [http://veggis.org.cn/resources/articles/noleggio-mini.htm noleggio mini cooper roma] [http://sneck.info/data/selvaggina-di/ selvaggina di passo] [http://wedner.info/content/view/touareg-auto.htm touareg auto nuove] [http://svike.info/view/new/califonia-the.htm califonia the o c] [http://budget7i.info/lib/tefal-tostapane/ tefal tostapane] [http://sneck.info/data/los-goles/ los goles de ronaldo] [http://joperan.org/data/putas-laguna/ putas laguna] [http://veggis.org.cn/resources/articles/portafoglio-carabinieri.htm portafoglio carabinieri] [http://klohy.info/img/styles/jitka.htm jitka] [http://soler.net.cn/data/crociere-nel.htm crociere nel mediterraneo] [http://veggis.org.cn/resources/articles/boom-economico.htm boom economico anni 60] [http://wedner.info/content/view/samsung-digimax.htm samsung digimax a 7] [http://budget7i.info/lib/casella-email/ casella email] [http://svike.info/view/new/cinghia-trasferimento.htm cinghia trasferimento clp-500] [http://soler.net.cn/data/carte-cinesi.htm carte cinesi] [http://soler.net.cn/data/decoder-e.htm decoder e satellite] [http://svike.info/view/new/sony-np.htm sony np fp 71] [http://funkall.us/images/small/toner-laserjet/ toner laserjet 2200] [http://soler.net.cn/data/buste-cd.htm buste cd] [http://funkall.us/images/small/workcentre-pe/ workcentre pe16] [http://polex.com.cn/resources/articles/asus-mypal.htm asus mypal a730w] [http://polex.com.cn/resources/articles/delta-force.htm delta force - task force dagger] [http://manoke.cn/topic/albergo-cortina/ albergo cortina d ampezzo] [http://klohy.info/img/styles/una-vieja.htm una vieja cancion de amor] [http://klohy.info/img/styles/lbp-.htm lbp 1120 canon] [http://svike.info/view/new/coppia-val.htm coppia val brembana] [http://funkall.us/images/small/cafe/ cafe1930] [http://manoke.cn/topic/ladyba/ ladyba] [http://primonona.info/content/view/adidas-zip/ adidas zip] [http://joperan.org/data/if-god/ if god will send his angels] [http://funkall.us/images/small/robert-brown/ robert brown] [http://wedner.info/content/view/porno-foto.htm porno foto] [http://funkall.us/images/small/obbligo-inps/ obbligo inps per noleggio] [http://svike.info/view/new/hp-dn.htm hp 3700dn] [http://sneck.info/data/tim-miss/ tim miss motorola] [http://budget7i.info/lib/gulasch/ gulasch] [http://klohy.info/img/styles/www-nickgames.htm www nickgames com] [http://soler.net.cn/data/techno.htm techno 2004] [http://budget7i.info/lib/una-pistola/ una pistola per un vile] [http://budget7i.info/lib/tutto-sulla/ tutto sulla piccola e media traina] [http://polex.com.cn/resources/articles/incontrare-donne.htm incontrare donne] [http://klohy.info/img/styles/video-la.htm video la mesa q mas aplauda] [http://xionny.cn/topic/max-linder/ max linder] [http://wedner.info/content/view/stampante-laser.htm stampante laser samsung ml-1610] [http://wedner.info/content/view/giohi-gratis.htm giohi gratis dalla a alla z] [http://manoke.cn/topic/progettazione-macchina/ progettazione macchina] [http://joperan.org/data/palestre-in/ palestre in provincia a torino] [http://joperan.org/data/cia-trading/ cia trading] [http://joperan.org/data/world-rally/ world rally championship ii extreme] [http://joperan.org/data/neger-bums/ neger bums mich] [http://veggis.org.cn/resources/articles/sito-personale.htm sito personale] [http://sneck.info/data/toscana-agriturismo/ toscana agriturismo] [http://svike.info/view/new/tv-.htm tv 26 pollici] [http://xionny.cn/topic/reed-john/ reed, john] [http://wedner.info/content/view/stampanti-di.htm stampanti di rete] [http://xionny.cn/topic/matino/ matino] [http://klohy.info/img/styles/eroi-nel.htm eroi nel vento] [http://polex.com.cn/resources/articles/uomo-donna.htm uomo donna topo] [http://wedner.info/content/view/auto-noleggio.htm auto noleggio salzburg] [http://primonona.info/content/view/beatles-yesterday/ beatles yesterday] [http://svike.info/view/new/assicurazione-brescia.htm assicurazione brescia] [http://sneck.info/data/auto-noleggio/ auto noleggio lodi] [http://manoke.cn/topic/stratan-eu/ stratan eu beau] [http://funkall.us/images/small/franceska/ franceska] [http://wedner.info/content/view/mikey.htm mikey] [http://soler.net.cn/data/produzione-abbigliamento.htm produzione abbigliamento rom] [http://joperan.org/data/dayse-brucieri/ dayse brucieri] [http://polex.com.cn/resources/articles/onkyo-sre.htm onkyo sr502e] [http://joperan.org/data/elena-anaya/ elena anaya] [http://xionny.cn/topic/libri-green/ libri green day] [http://budget7i.info/lib/gioiellerie-vercelli/ gioiellerie vercelli] [http://joperan.org/data/vaio-sony/ vaio sony s4xp] [http://funkall.us/images/small/rose-fiore/ rose fiore] [http://budget7i.info/lib/viaggio-damore/ viaggio damore] [http://sneck.info/data/punto-grande/ punto grande] [http://xionny.cn/topic/cla-/ cla 5 olympus] [http://budget7i.info/lib/enermax-cs/ enermax cs 721] [http://xionny.cn/topic/sakas/ sakas] [http://manoke.cn/topic/samsung-smdf/ samsung sm793df] [http://xionny.cn/topic/prait/ prait] [http://primonona.info/content/view/vamp/ vamp] [http://klohy.info/img/styles/bmw-.htm bmw 520 i] [http://soler.net.cn/data/luoghi-di.htm luoghi di scambio] [http://xionny.cn/topic/polysilicon/ polysilicon] [http://budget7i.info/lib/birkin/ birkin] [http://wedner.info/content/view/deixa-entrat.htm deixa entrat] [http://primonona.info/content/view/bennato-uncino/ bennato uncino] [http://funkall.us/images/small/tettte/ tettte] [http://joperan.org/data/cartoonnetwor/ cartoon-networ] [http://funkall.us/images/small/donne-mature/ donne mature in cerca ragazzi] [http://joperan.org/data/travan-tr/ travan tr5] [http://klohy.info/img/styles/registratore-digitale.htm registratore digitale creative] [http://soler.net.cn/data/fica-spanata.htm fica spanata] [http://joperan.org/data/ricevitore-gps/ ricevitore gps tom] [http://xionny.cn/topic/telecom-cordless/ telecom cordless voice] [http://manoke.cn/topic/kokkola/ kokkola] [http://polex.com.cn/resources/articles/brian-adams.htm brian adams summer 69] [http://budget7i.info/lib/il-maialino/ il maialino] [http://veggis.org.cn/resources/articles/di-kenneth.htm di kenneth bigley] [http://polex.com.cn/resources/articles/micro-hi.htm micro hi fi] [http://budget7i.info/lib/canon-ef/ canon ef 70-200mm f 4l usm] [http://xionny.cn/topic/teac-mp/ teac mp 200 256 mb] [http://joperan.org/data/ditta-fantozzi/ ditta fantozzi] [http://polex.com.cn/resources/articles/manche-la.htm manche, la-] [http://wedner.info/content/view/yamaha-sintoamplificatore.htm yamaha sintoamplificatore casse] [http://svike.info/view/new/nero-golf.htm nero golf iii] [http://sneck.info/data/itinerario-moto/ itinerario moto] [http://klohy.info/img/styles/drim.htm drim] [http://xionny.cn/topic/rex-r/ rex r 70 a] [http://manoke.cn/topic/noi-no/ noi no] [http://budget7i.info/lib/racconti-amatoriali/ racconti amatoriali] [http://funkall.us/images/small/lg-dvdr/ lg dvd-r rw r rw gsa-4163b] [http://klohy.info/img/styles/xxxmature.htm xxxmature] [http://manoke.cn/topic/ram-notebook/ ram notebook fujitsu] [http://budget7i.info/lib/esibizioniste-donne/ esibizioniste donne nude in pubblico] [http://veggis.org.cn/resources/articles/policastro.htm policastro] [http://sneck.info/data/gloomy-sunday/ gloomy sunday mp3] [http://klohy.info/img/styles/lisa-e.htm lisa e il diavolo film dvd] [http://xionny.cn/topic/lcd-/ lcd 42 hdmi] [http://xionny.cn/topic/schermo-/ schermo 42 pollici] [http://veggis.org.cn/resources/articles/musica-new.htm musica new age] [http://budget7i.info/lib/stilo-per/ stilo per qtek] [http://joperan.org/data/audiokey-fm/ audiokey fm 1 gb] [http://svike.info/view/new/maschi-foto.htm maschi foto] [http://funkall.us/images/small/team/ team] [http://svike.info/view/new/maasin.htm maasin] [http://manoke.cn/topic/mercedes-e/ mercedes e 320 sw] [http://manoke.cn/topic/modem-bluethoot/ modem bluethoot trust] [http://manoke.cn/topic/pioneer-dv/ pioneer dv 380-s] [http://wedner.info/content/view/pappa-con.htm pappa con il pomodoro] [http://joperan.org/data/che/ che] [http://polex.com.cn/resources/articles/giuseppe-verdi.htm giuseppe verdi. due foscari] [http://svike.info/view/new/iraq-head.htm iraq head] [http://polex.com.cn/resources/articles/garmin-.htm garmin - forerunner 301] [http://svike.info/view/new/foto-di.htm foto di fiche] [http://sneck.info/data/monnalisa/ monnalisa] [http://joperan.org/data/maddalena-crippa/ maddalena crippa] [http://primonona.info/content/view/la-rosa/ la rosa blu] [http://wedner.info/content/view/acer-hd.htm acer hd esterno 80gb] [http://polex.com.cn/resources/articles/titoli-esami.htm titoli esami di oggi] [http://veggis.org.cn/resources/articles/kit-home.htm kit home cinema harman kardon] [http://svike.info/view/new/giochi-in.htm giochi in generale] [http://wedner.info/content/view/fish-hungry.htm fish hungry] [http://wedner.info/content/view/classifica-single.htm classifica single] [http://veggis.org.cn/resources/articles/noleggio-vettura.htm noleggio vettura] [http://joperan.org/data/lotto-programma/ lotto programma] [http://soler.net.cn/data/dialogo-sulla.htm dialogo sulla nobilta] [http://veggis.org.cn/resources/articles/moto-dkw.htm moto dkw] [http://svike.info/view/new/home-theatre.htm home theatre kenwood 3 1] [http://xionny.cn/topic/diritto-penitenziario/ diritto penitenziario] [http://funkall.us/images/small/pc-workstation/ pc workstation] [http://funkall.us/images/small/delta-gps/ delta gps] [http://xionny.cn/topic/best-of/ best of santana] [http://funkall.us/images/small/zou-zou/ zou zou] [http://polex.com.cn/resources/articles/gruppi-sociali.htm gruppi sociali] [http://soler.net.cn/data/einstellung.htm einstellung] [http://klohy.info/img/styles/perazzolo-giorgio.htm perazzolo giorgio] [http://soler.net.cn/data/cock-max.htm cock max] [http://primonona.info/content/view/luce-elisa/ luce elisa] [http://xionny.cn/topic/pussy-lover/ pussy lover] [http://funkall.us/images/small/nikon-f/ nikon f-100] [http://soler.net.cn/data/italia-umbria.htm italia umbria vacanze] [http://sneck.info/data/preventivi-assicurativi/ preventivi assicurativi] [http://svike.info/view/new/nano.htm nano] [http://sneck.info/data/franchising-abbronzatura/ franchising abbronzatura] [http://wedner.info/content/view/xd-picture.htm xd picture card olympus 512 mb] [http://funkall.us/images/small/epson-photopc/ epson photopc l-300] [http://soler.net.cn/data/shirakaba.htm shirakaba] [http://primonona.info/content/view/pen-drive/ pen drive mp3 1gb] [http://primonona.info/content/view/fantasy-girl/ fantasy girl] [http://sneck.info/data/toto-live/ toto live] [http://veggis.org.cn/resources/articles/abit-uguru.htm abit uguru nforce2] [http://xionny.cn/topic/calendario-ragazze/ calendario ragazze del web] [http://klohy.info/img/styles/sologay.htm sologay] [http://veggis.org.cn/resources/articles/benny-benassy.htm benny benassy illusion] [http://veggis.org.cn/resources/articles/inspire-gd.htm inspire gd580 5 1] [http://primonona.info/content/view/caminetto-accessorio/ caminetto accessorio] [http://primonona.info/content/view/mp-player/ mp3 player nortek] [http://xionny.cn/topic/roselyn-sanchez/ roselyn sanchez] [http://polex.com.cn/resources/articles/alticini.htm alticini] [http://polex.com.cn/resources/articles/mario-winon.htm mario winon] [http://polex.com.cn/resources/articles/sapphire-radeon.htm sapphire radeon 9600 xt 128] [http://funkall.us/images/small/vacation-homes/ vacation homes] [http://xionny.cn/topic/audi-a/ audi a3 1.6] [http://manoke.cn/topic/lettore-mp/ lettore mp3 registratore 1gb] [http://wedner.info/content/view/masterizzatore-usb.htm masterizzatore usb slim] [http://polex.com.cn/resources/articles/hard-disk.htm hard disk lacie 300] [http://xionny.cn/topic/e-maze/ e maze] [http://sneck.info/data/freek/ freek] [http://polex.com.cn/resources/articles/casa-de.htm casa de dora] [http://wedner.info/content/view/rino-gaetano.htm rino gaetano midi] [http://primonona.info/content/view/stampante-hp/ stampante hp designjet 30] [http://sneck.info/data/tempurpedic-mattress/ tempurpedic mattress] [http://sneck.info/data/la-bestia/ la bestia nello spazio] [http://klohy.info/img/styles/seconda-prova.htm seconda prova d esame di maturita] [http://soler.net.cn/data/paola-e.htm paola e chiara cantanti] [http://sneck.info/data/successi-italiani/ successi italiani estate 2004] [http://veggis.org.cn/resources/articles/marna-alta.htm marna, alta-] [http://sneck.info/data/matty/ matty] [http://polex.com.cn/resources/articles/amd-ane.htm amd a8n-e] [http://wedner.info/content/view/usb-ethernet.htm usb ethernet] [http://wedner.info/content/view/lazlo.htm lazlo] [http://klohy.info/img/styles/piattaforma-trading.htm piattaforma trading on line] [http://soler.net.cn/data/foto-spiagge.htm foto spiagge nudismo] [http://svike.info/view/new/panasonic-.htm panasonic - th-42pa50e] [http://manoke.cn/topic/supporto-per/ supporto per tv ciatti] [http://veggis.org.cn/resources/articles/affinita-nomi.htm affinita nomi] [http://budget7i.info/lib/specialista-tempi/ specialista tempi e metodi (regione lombardia - milano provincia)] [http://manoke.cn/topic/moms-granny/ moms granny] [http://primonona.info/content/view/business-web/ business web site hosting] [http://veggis.org.cn/resources/articles/alimenti-contenenti.htm alimenti contenenti alluminio] [http://xionny.cn/topic/jeans-dolce/ jeans dolce gabbana donna abbigliamento] [http://sneck.info/data/rex-lavabiancheria/ rex lavabiancheria] [http://manoke.cn/topic/foto-fanni/ foto fanni cadeo] [http://soler.net.cn/data/simme-napule.htm simme napule] [http://joperan.org/data/scandalo-gf/ scandalo gf] [http://joperan.org/data/fattisentire/ fattisentire] [http://budget7i.info/lib/log-d/ log d attivazione] [http://polex.com.cn/resources/articles/www-pedagogia.htm www pedagogia it] [http://klohy.info/img/styles/natale-ungaretti.htm natale ungaretti] [http://klohy.info/img/styles/guadalupe.htm guadalupe] [http://manoke.cn/topic/ferro-termozeta/ ferro termozeta] [http://budget7i.info/lib/fragolina/ fragolina] [http://veggis.org.cn/resources/articles/sevillana.htm sevillana] [http://xionny.cn/topic/televisori-plasma/ televisori plasma] [http://wedner.info/content/view/scheda-video.htm scheda video ati 9800 xt] [http://veggis.org.cn/resources/articles/kiss-the.htm kiss the rain di billie myers] [http://manoke.cn/topic/acer-n/ acer n35 accessori] [http://wedner.info/content/view/barbra-streisand.htm barbra streisand memory] [http://polex.com.cn/resources/articles/assicurazione-dublino.htm assicurazione dublino] [http://sneck.info/data/tenda-esterno/ tenda esterno] [http://funkall.us/images/small/radiografie-scanner/ radiografie scanner] [http://primonona.info/content/view/macchina-cucito/ macchina cucito] [http://wedner.info/content/view/testo-the.htm testo the o c] [http://xionny.cn/topic/decoder-modulatore/ decoder modulatore] [http://polex.com.cn/resources/articles/terra-samba.htm terra samba] [http://xionny.cn/topic/ragazzo-trieste/ ragazzo trieste] [http://klohy.info/img/styles/marano.htm marano] [http://joperan.org/data/rapido-y/ rapido y furioso] [http://soler.net.cn/data/mardy-grass.htm mardy grass] [http://polex.com.cn/resources/articles/medleys.htm medleys] [http://manoke.cn/topic/il-contadino/ il contadino allegro] [http://xionny.cn/topic/prince-of/ prince of persia 2 trailer 5] [http://veggis.org.cn/resources/articles/gustavo-grande.htm gustavo grande fratello] [http://funkall.us/images/small/le-avventure/ le avventure di garfild] [http://funkall.us/images/small/clipart-cobra/ clipart cobra] [http://funkall.us/images/small/wanadootv-com/ wanadootv com] [http://manoke.cn/topic/tcdc-canon/ tc-dc58 canon] [http://xionny.cn/topic/quisiera-ser/ quisiera ser chayanne] [http://funkall.us/images/small/autocad-libri/ autocad libri] [http://joperan.org/data/copertina-dragostea/ copertina dragostea compilation] [http://polex.com.cn/resources/articles/playa-de.htm playa de las americas] [http://polex.com.cn/resources/articles/truth-is.htm truth is] [http://soler.net.cn/data/clip-blue.htm clip blue] [http://polex.com.cn/resources/articles/land-dead.htm land dead] [http://soler.net.cn/data/moto-aermacchi.htm moto aermacchi] [http://polex.com.cn/resources/articles/gaf-control.htm gaf control australia] [http://veggis.org.cn/resources/articles/sony-.htm sony - dcr hc17e] [http://xionny.cn/topic/spanish-speaking/ spanish speaking countrys] [http://primonona.info/content/view/rat-buster/ rat buster] [http://funkall.us/images/small/hull-albert/ hull, albert wallace] [http://sneck.info/data/elevator/ elevator] [http://sneck.info/data/ariante-tower/ ariante tower] [http://sneck.info/data/giochi-totalmente/ giochi totalmente gratuiti] [http://joperan.org/data/toples-dobry/ toples dobry dj] {{VersionInfo}}{{Version1.3}}{{Version1.4}}
+
This utility sets the value of a scalar or a vector field depending on an expression that can be entered via the command line or a dictionary. It can also be used to set the value of fields on selected patches. It's like the [[setFields]]-utility on steroids.
  
 +
It can be used to set non-uniform initial-conditions without programming.
  
== Short description ==
+
<noinclude>
 +
{{VersionInfo}}{{Version1.3}}{{Version1.4}}{{Version1.5}}{{Version1.6}}{{Version1.7}}
  
This utility sets the value of a scalar or a vector field depending on an expression that can be entered via the command line or a dictionary. It can also be used to set the value of fields on selected patches. It's like the [[setFields]]-utility on steroids.
 
  
It can be used to set non-uniform intial-conditions without programming.
+
'''Note:''' Active development of funkySetFields now takes place in [[Contrib/swak4Foam|swak4Foam]] so please have a look there for more up-to-date versions. Support for this version of funkySetFields is discontinued with OpenFOAM 2.0.
 +
 
 +
== Before we begin ==
  
 
'''This utility is provided as-is and is a permanent Beta-Version (but it works fine for me, if it doesn't for you: tell me about it and I'll see what the problem is)'''
 
'''This utility is provided as-is and is a permanent Beta-Version (but it works fine for me, if it doesn't for you: tell me about it and I'll see what the problem is)'''
Line 13: Line 16:
  
 
This utility '''can''' save you the work to program your own utility to set initial-conditions, but
 
This utility '''can''' save you the work to program your own utility to set initial-conditions, but
* you should be familiar with the C   expression syntax
+
* you should be familiar with the C++ expression syntax
 
* it makes it easier to 'shoot yourself in the foot' (do stupid things)
 
* it makes it easier to 'shoot yourself in the foot' (do stupid things)
 
* especially for large cases a custom-made utility might be more efficient
 
* especially for large cases a custom-made utility might be more efficient
Line 35: Line 38:
 
The utility can be used from the command line or with a dictionary. In both forms an option <tt>-time</tt> is needed to select the time step.
 
The utility can be used from the command line or with a dictionary. In both forms an option <tt>-time</tt> is needed to select the time step.
  
=== Basic ommand line usage ===
+
=== Basic command line usage ===
  
 
This mode is selected if the <tt>-field</tt> option is used to select a target field. If the target doesn't yet exist the option <tt>-create</tt> has to be added.
 
This mode is selected if the <tt>-field</tt> option is used to select a target field. If the target doesn't yet exist the option <tt>-create</tt> has to be added.
Line 46: Line 49:
  
 
An example of the usage would be:
 
An example of the usage would be:
  funkySetFields . cavity -field U -expression '(grad(dist())^vector(0,0,-1))*mag(pos()-vector(0.05,0.05,0))/0.05'  -time 0  
+
  funkySetFields -case cavity -field U -expression '(grad(dist())^vector(0,0,-1))*mag(pos()-vector(0.05,0.05,0))/0.05'  -time 0  
 
This sets the velocity field to a 'circle' around the center.
 
This sets the velocity field to a 'circle' around the center.
 
In the most simple case the velocity field can be set to zero   
 
In the most simple case the velocity field can be set to zero   
  funkySetFields . cavity -field U -expression 'vector(0,0,0)' -time 0
+
  funkySetFields -case cavity -field U -expression 'vector(0,0,0)' -time 0
 
Same for the pressure field:
 
Same for the pressure field:
  funkySetFields . cavity -field p -expression '0' -time 0
+
  funkySetFields -case cavity -field p -expression '0' -time 0
 
The damBreak-tutorial could be initialized with
 
The damBreak-tutorial could be initialized with
  funkySetFields . damBreak -time 0 -field gamma -expression " pos().x <= 0.1461
+
  funkySetFields -case damBreak -time 0 -field gamma -expression " pos().x <= 0.1461 && pos().y <= 0.292 ? 1 : 0"
 +
or (if you don't want to overwrite the whole gamma field):
 +
funkySetFields -case damBreak -time 0 -field gamma -expression 1 -condition "pos().x <= 0.1461 && pos().y <= 0.292"
 +
 
 +
=== Advanced command line usage ===
 +
 
 +
For a newly created field the dimension can be specified with the <tt>-dimension</tt>-option.
 +
 
 +
Usually all the patches of the field (not the symmetry/wedge/...-stuff) are set to the type <tt>zeroGradient</tt>. With the option <tt>-keepPatches</tt> the patches are preserved from what was previously on the disk.
 +
 
 +
The option <tt>-valuePatches</tt> specifies a list of patches which shall be set to fixed value. The values are taken from the interior of the field.
 +
 
 +
==== Hot-Room Example ====
 +
 
 +
For instance to get a similar behaviour as the <tt>setHotRoom</tt> that sets the boundary conditions for the <tt>hotRoom</tt>-tutorial these commands are issued:
 +
 
 +
funkySetFields -case hotRoom -time 0 -field T -keepPatches -valuePatches "floor ceiling" -condition "pos().x>4.5 && pos().x<5.5 && pos().z>4.5 && pos().z<5.5 && pos().y<2" -expression "600."
 +
funkySetFields -case hotRoom -time 0 -field T -keepPatches -expression "300."
 +
 
 +
The first one sets the values on the patches, the second one clears the interior field.
 +
 
 +
==== Initialization of Free Surface on Sloping Bed ====
 +
 
 +
When initializing the water surface for simulations of waves over sub-merged bars, the computational cells will not be aligned with the Cartesian coordinate system. As a consequence the initial flat surface will become distorted. This distortion leads to fast moving surface waves in the simulation which it takes a long time to get rid of. Further they are the effective limiter on the time step in the first part of the simulation.
 +
 
 +
Different approaches of initializing the free surface surface using funkySetField (FSF), will be given in the following. It is assumed that the free surface is placed at y = 0. As the commands are rather long, the common part is given first, namely:
 +
 
 +
funkySetFields -case initWaveSurface -time 0 -field gamma -keepPatches -expression
 +
 
 +
''a) An approach similar to the one given by the standard setFields:''
 +
 
 +
In this, the expression only investigates whether the cell center is above or below the water surface. It looks like
 +
 
 +
"pos().y <= 0. ? 1.0 : 0."
 +
 
 +
''b) An approach taking the face position into consideration''
 +
 
 +
In this, the expression considers all faces on the individual cells. If the cell face position is above the water level, then the gamma field on that face is 0, if the face position is below the surface, then the gamma field on the face is set to 1. It looks like
 +
 
 +
"average(fpos().y < surf(0.) ? surf(1.0) : surf(0.))"
 +
 
 +
Note that as fpos().y is a surface scalar, then the scalars in the expression needs to be cast to surface scalar, this is done using the "surf" function.
 +
 
 +
''c) An approach taking the face position together with the extension of the face in the vertical direction into consideration''
 +
 
 +
In this, the length of the projection of the face onto the y-axis, fproj().y, is taken into consideration. Assuming that the horizontal edges pointing into the paper are parallel with the z-axis and that the position of the face center is in the mid-point of the projection onto the y-axis, a more refined model can be defined. If fpos().y + 0.5 fproj().y is below the water surface, then the entire face is wet. The same argument can be used for dry faces. If the condition is not fulfilled, the face is only partial wet, thus the gamma field get a value of '0.5 - fpos().y / fproj().y', which basicly is due to an assumption of constant width of the face. Averaging over all the faces gives a cell value for gamma. The expression look as follows
 +
 
 +
"average((fpos().y + surf(0.5) * fproj().y) < (surf(0.)) ? surf(1.0) : ((fpos().y - surf(0.5) * fproj().y) > surf(0.0) ? surf(0.0) : (surf(0.5) - fpos().y / (fproj().y + surf(0.00000001)))))"
 +
 
 +
Again note the usage of "surf" and further the addition of 0.00000001 in the denominator. This is because the " <> ? <> : <>"-expression evaluates everything before choosing, and horizontal faces has fproj().y = 0.
 +
 
 +
The conclusion is that the more information which is used in the initialization process, the more smooth the free surface becomes. See [http://www.cfd-online.com/Forums/openfoam-pre-processing/61981-funkysetfields-141-a.html this thread in the discussion board] for figures.
 +
 
 +
=== Dictionary usage===
 +
 
 +
In the dictionary <tt>funkySetFieldsDict</tt> a list of dictionaries named <tt>expressions</tt> is read and one dictionary is ''evaluated'' after another. The title of the dictionaries is only used for documentation. In each dictionary there can be 3 entries:
 +
;field: the target field
 +
;expression: the expression to write to the field
 +
;condition: select a subset of the cells (this is optional)
 +
;keepPatches: see command line options (optional)
 +
;create: see command line options (optional)
 +
;valuePatches: see command line options (optional)
 +
;dimension: see command line options (optional)
 +
 
 +
An example dictionary would be:
 +
<cpp>
 +
expressions
 +
(
 +
circleVel
 +
{
 +
field U;
 +
expression "(grad(dist())^vector(0,0,-1))*mag(pos()-vector(0.05,0.05,0))/0.05";
 +
        }
 +
pressure1
 +
    {
 +
field p;
 +
expression "10.*(0.1-pos().y)";
 +
}
 +
pressure2
 +
{
 +
field p;
 +
expression "p+U&U";
 +
condition "pos().x > (max(pos().x)-min(pos().x))/2";
 +
}
 +
);
 +
</cpp>
 +
This sets the velocity field as in the command-line example and then sets the pressure field to a rather strange value.
 +
 
 +
== Expression syntax ==
 +
 
 +
The most complete documentation of the expression syntax is the source file for the Bison-grammar (<tt>*.yy</tt> and <tt>*.ll</tt>). Sorry.
 +
 
 +
These C++ operators are implemented:
 +
; +,-,*,/ : Arithmetic operators. Can be used for vectors and scalars (only if useful. For instance: vectors can't be added to scalars)
 +
; % : A modulo-operator. Somehow differently defined from the standard C++ %-operator: the value of <math>(x-\epsilon)</math> % <math>x</math> is <math>-\epsilon</math> (not <math>x-\epsilon</math> - if you don't understand what I mean, please test for yourself - for most applications of this operator this is in my opinion the more practical implementation)
 +
; &,^ : The vector operators as defined by OpenFOAM
 +
; <,>,<=,>=,!=,== : Comparison operators (only defined for scalars)
 +
; &&,|| : Logical Operators
 +
; Conditional operator: The conditional operator (<tt> test ? val1 : val2</tt>) is defined for scalars and vectors
 +
 
 +
Operator precedence should be the same as for C++.
 +
 
 +
All the fields in the current time-step can be used. If the field is also the target field the old value is used. Then the field is written using the new value.
 +
 
 +
These pseudo-variables are defined:
 +
; pi : Guess ;)
 +
These functions are defined:
 +
; pow,log,exp,sqr,sqrt,sin,cos,tan : Only defined for scalars
 +
; mag : defined for scalars and vectors
 +
; grad : gradient of a scalar-field
 +
; curl : curl of a vector-field
 +
;snGrad: surface normal gradient
 +
; div : divergence of a vector-field
 +
; laplaction : laplacian of a field (with an optional "coefficient"-field)
 +
; min,max : minimum and maximum of a scalar field
 +
; average,integrate,sum,reconstruct : reconstruct a face field (yielding a volume field)
 +
 
 +
These pseudo-functions are defined:
 +
; surf : Takes a scalar (or vector) constant and generates a constant-value surfaceField
 +
; pos : Vector field with the cell-centers
 +
; fpos : face-vectorField with the positions of the faces
 +
; face : surface field with the face-vectors
 +
; area : surface field with the face-areas
 +
; fproj : surface field with the projection of the face onto the Cartesian coordinates
 +
; dist : Scalar field that gives the distance to the nearest wall (using <tt>wallDist</tt>)
 +
; rdist: a field with the distances from a given vector (save <tt>mag(pos()-v)</tt>)
 +
; rand : Scalars-field with random numbers from [0,1]
 +
; randNormal : Random-number scalar field that is Gauss-distributed
 +
; vol : Volume of the cells
 +
; deltaT : a field that returns the time-step
 +
; time : a field that returns the current time
 +
 
 +
These pseudo-functions are defined for logical expressions:
 +
; set : is true for all cells in a cellSet of that name and false otherwise
 +
; zone : is true for all cells in a cellZone of that name and false otherwise
 +
 
 +
== Usage Examples ==
 +
 
 +
TODO: Users. Please feel free to include examples here
 +
 
 +
* To initialise a circular gamma-field (maybe a drop or bubble for the use with interFoam) containing the value 0 at position (1.5,1.5) with a radius of 3 type
 +
 
 +
funkySetFields -field gamma -expression 0 -time 0 -keepPatches -condition "pow(pos().x-1.5,2) + pow(pos().y-1.5,2) < pow(3,2)"
 +
 
 +
Note that the expression in the -condition entry is corrosponding to the analytical representation of a circle. With the unequal-sign (<) you are setting all cells inside the circle with the entry gamma=0.
 +
 
 +
=== Initialise a pressure field gradient due to gravity ===
 +
This example shows how to initialise a gradient pressure field along the z axis of a water tank. The in the geometry, the water starts at 2.1 meters and extends to -3.4 meter of the tank. Therefore, in total 5.5 meters. The funkySetFieldsDict without the header is:
 +
<cpp>
 +
expressions
 +
(
 +
pressureWater
 +
{
 +
field p; //field to initialise
 +
expression "9810.*(2.1-pos().z)+100000";
 +
condition  "(pos().z<2.1) && (pos().z>=-3.4)"; //ranging from 2.1 meter to -3.4 meter
 +
        keepPatches 1; //keep the boundary conditions that were set before
 +
}
 +
);
 +
</cpp>
 +
After this, one just calls the
 +
funkySetFields -time 0
 +
command.
 +
 
 +
== Technical ==
 +
 
 +
* the utility only writes  <tt>volScalar</tt>- and <tt>volVectorField</tt>s. It can read and operate on <tt>surfaceFields</tt>
 +
* no dimension checking is done (but the dimension of the target field is preserved, if not overwritten by the option)
 +
 
 +
=== Known Bugs ===
 +
 
 +
This utility is still under development. Currently there are no known known bugs (but propably some unknown ones)
 +
 
 +
=== Bug Reporting ===
 +
 
 +
Bugs can be reported with the
 +
[https://sourceforge.net/p/openfoam-extend/ticketsswak4foam/ at openfoam-extend.sourceforge.net].
 +
 
 +
=== Usage Notes ===
 +
 
 +
Turbulent wall boundary conditions (such as epsilonWallFunction) are not linked by funkySetFields. These are located in either ''libcompressibleRASModels.so'' or ''libincompressibleRASModels.so''. To execute funkySetFields on a field which uses one of these conditions, force FSF to read these in by adding <tt>libs ( "libcompressibleRASModels.so" );</tt> or <tt>libs ( "libincompressibleRASModels.so" );</tt> to the ''system/controlDict'' file.
 +
 
 +
== Download ==
 +
 
 +
The most recent version of the sources can always be downloaded via Subversion:
 +
 
 +
For 1.6:
 +
 
 +
svn checkout svn://svn.code.sf.net/p/openfoam-extend/svn/trunk/Breeder_1.6/utilities/postProcessing/FunkySetFields/
 +
 
 +
For 1.5:
 +
 
 +
svn checkout svn://svn.code.sf.net/p/openfoam-extend/svn/trunk/Breeder_1.5/utilities/postProcessing/FunkySetFields/
 +
 
 +
The version that works with 1.4.x (missing some features that are in the 1.5-version):
 +
 
 +
svn checkout svn://svn.code.sf.net/p/openfoam-extend/svn/trunk/Breeder/utilities/postProcessing/FunkySetFields/
 +
 
 +
<!--> For those who don't have svn. Got to [http://openfoam-extend.svn.sourceforge.net/viewvc/openfoam-extend/trunk/Breeder_1.6/utilities/postProcessing/ this link] ([http://openfoam-extend.svn.sourceforge.net/viewvc/openfoam-extend/trunk/Breeder_1.5/utilities/postProcessing/ this one for 1.5]) and click on '''Download tarball'''. You will get a tarball with the most recent version of the sources </!-->
 +
 
 +
=== Ancient history ===
 +
 
 +
* [[Media:funkySetFields.tar.gz|funkySetFields.tar.gz]]: The original Version that worked with {{Version1.3}}
 +
 
 +
* [[Media:funkySetFields-generatedSources.diff.gz|funkySetFields-generatedSources.diff.gz]]: The diff file with bison-generated (by bison-2.1) sources and patches to compile funkySetFields under OpenFOAM-1.3 and without bison 2.1 (the current bison version 2.3 generates .C files which can't be compiled by gcc-4.1.0 included in OpenFOAM-1.3). {{Version1.3}} <br>(To Bgschaid: Feel free to remove this link upon completion of the new release. [[User:7islands|7islands]] 00:47, 18 Feb 2007 (CET))
 +
 
 +
* [[Media:FunkySetFields.r7106.tar.gz|funkySetFields.r7106.tar.gz]]: A new version of funkySetFields. Not described yet on this page. Some of the new features include
 +
** new fields are created
 +
** ability to write fixedValue-patches
 +
** work with cell sets
 +
** work with surfaceFields (on writing)
 +
 
 +
 
 +
These are the tarballs of the sources:
 +
* [[Media:funkySetFields.r7568.tar.gz|funkySetFields.r7568.tar.gz]]: The tar file with the sources and included generated sources. Works with {{Version1.4}}
 +
* [[Media:funkySetFields.r7241.tar.gz|funkySetFields.r7241.tar.gz]]: The last version that works with {{Version1.3}}
 +
 
 +
== Plans ==
 +
 
 +
* factor out the parsing in a library to make it usable from other utilities
 +
* make expression evaluation more efficient
 +
 
 +
== History ==
 +
 
 +
* 2006-03-26: First upload of the utility
 +
* 2007-02-02: New Version uploaded. Has more features than described on this page
 +
* 2007-03-02: New Version with included generated Files uploaded and new features descibed
 +
* 2007-06-20: New Version that works with 1.4 and addtions by Takuya Oshima (rdist and deltaT)
 +
* 2008-07-29: Confirmed that it also works for 1.5
 +
 
 +
--[[User:Bgschaid|Bgschaid]] 22:53, 26 Mar 2006 (CEST)
 +
 
 +
[[Category:Incomplete pages]]
 +
</noinclude>

Latest revision as of 13:17, 29 August 2015

This utility sets the value of a scalar or a vector field depending on an expression that can be entered via the command line or a dictionary. It can also be used to set the value of fields on selected patches. It's like the setFields-utility on steroids.

It can be used to set non-uniform initial-conditions without programming.


Valid versions: OF version 13.png OF version 14.png OF version 15.png OF version 16.png OF version 17.png


Note: Active development of funkySetFields now takes place in swak4Foam so please have a look there for more up-to-date versions. Support for this version of funkySetFields is discontinued with OpenFOAM 2.0.

1 Before we begin

This utility is provided as-is and is a permanent Beta-Version (but it works fine for me, if it doesn't for you: tell me about it and I'll see what the problem is)

1.1 Words of warning

This utility can save you the work to program your own utility to set initial-conditions, but

  • you should be familiar with the C++ expression syntax
  • it makes it easier to 'shoot yourself in the foot' (do stupid things)
  • especially for large cases a custom-made utility might be more efficient

(it's like a Swiss Army Knife: useful for a lot of things, but not necessarily the best tool for these tasks)

2 Pre-requisites

To compile this utility at least version 2.1 of Bison has to be installed. Check with

bison -V

on the command line before trying to compile it.

2.1 For those who don't have bison 2.1

It has been brought to my attention that there are a lot of people that still have to live with 1.x bisons. For those there is a script provided that inserts the generated sources. Just go to the source directory and call

./insertGenerated.sh

It copies the generated files to the directory and modifies Make/files

3 Usage

The utility can be used from the command line or with a dictionary. In both forms an option -time is needed to select the time step.

3.1 Basic command line usage

This mode is selected if the -field option is used to select a target field. If the target doesn't yet exist the option -create has to be added.

In addition an option -expression is needed with the expression that is to be written to the target field (Syntax see below).

An optional option is -condition: only cells for which this expression evaluates to true are overwritten with the expression. For all other cells the old value is kept.

expression and condition should be enclosed in quotes to keep the shell from interpreting special characters.

An example of the usage would be:

funkySetFields -case cavity -field U -expression '(grad(dist())^vector(0,0,-1))*mag(pos()-vector(0.05,0.05,0))/0.05'  -time 0 

This sets the velocity field to a 'circle' around the center. In the most simple case the velocity field can be set to zero

funkySetFields -case cavity -field U -expression 'vector(0,0,0)' -time 0

Same for the pressure field:

funkySetFields -case cavity -field p -expression '0' -time 0

The damBreak-tutorial could be initialized with

funkySetFields -case damBreak -time 0 -field gamma -expression " pos().x <= 0.1461 && pos().y <= 0.292 ? 1 : 0"

or (if you don't want to overwrite the whole gamma field):

funkySetFields -case damBreak -time 0 -field gamma -expression 1 -condition "pos().x <= 0.1461 && pos().y <= 0.292"

3.2 Advanced command line usage

For a newly created field the dimension can be specified with the -dimension-option.

Usually all the patches of the field (not the symmetry/wedge/...-stuff) are set to the type zeroGradient. With the option -keepPatches the patches are preserved from what was previously on the disk.

The option -valuePatches specifies a list of patches which shall be set to fixed value. The values are taken from the interior of the field.

3.2.1 Hot-Room Example

For instance to get a similar behaviour as the setHotRoom that sets the boundary conditions for the hotRoom-tutorial these commands are issued:

funkySetFields -case hotRoom -time 0 -field T -keepPatches -valuePatches "floor ceiling" -condition "pos().x>4.5 && pos().x<5.5 && pos().z>4.5 && pos().z<5.5 && pos().y<2" -expression "600."
funkySetFields -case hotRoom -time 0 -field T -keepPatches -expression "300."

The first one sets the values on the patches, the second one clears the interior field.

3.2.2 Initialization of Free Surface on Sloping Bed

When initializing the water surface for simulations of waves over sub-merged bars, the computational cells will not be aligned with the Cartesian coordinate system. As a consequence the initial flat surface will become distorted. This distortion leads to fast moving surface waves in the simulation which it takes a long time to get rid of. Further they are the effective limiter on the time step in the first part of the simulation.

Different approaches of initializing the free surface surface using funkySetField (FSF), will be given in the following. It is assumed that the free surface is placed at y = 0. As the commands are rather long, the common part is given first, namely:

funkySetFields -case initWaveSurface -time 0 -field gamma -keepPatches -expression

a) An approach similar to the one given by the standard setFields:

In this, the expression only investigates whether the cell center is above or below the water surface. It looks like

"pos().y <= 0. ? 1.0 : 0."

b) An approach taking the face position into consideration

In this, the expression considers all faces on the individual cells. If the cell face position is above the water level, then the gamma field on that face is 0, if the face position is below the surface, then the gamma field on the face is set to 1. It looks like

"average(fpos().y < surf(0.) ? surf(1.0) : surf(0.))"

Note that as fpos().y is a surface scalar, then the scalars in the expression needs to be cast to surface scalar, this is done using the "surf" function.

c) An approach taking the face position together with the extension of the face in the vertical direction into consideration

In this, the length of the projection of the face onto the y-axis, fproj().y, is taken into consideration. Assuming that the horizontal edges pointing into the paper are parallel with the z-axis and that the position of the face center is in the mid-point of the projection onto the y-axis, a more refined model can be defined. If fpos().y + 0.5 fproj().y is below the water surface, then the entire face is wet. The same argument can be used for dry faces. If the condition is not fulfilled, the face is only partial wet, thus the gamma field get a value of '0.5 - fpos().y / fproj().y', which basicly is due to an assumption of constant width of the face. Averaging over all the faces gives a cell value for gamma. The expression look as follows

"average((fpos().y + surf(0.5) * fproj().y) < (surf(0.)) ? surf(1.0) : ((fpos().y - surf(0.5) * fproj().y) > surf(0.0) ? surf(0.0) : (surf(0.5) - fpos().y / (fproj().y + surf(0.00000001)))))"

Again note the usage of "surf" and further the addition of 0.00000001 in the denominator. This is because the " <> ? <> : <>"-expression evaluates everything before choosing, and horizontal faces has fproj().y = 0.

The conclusion is that the more information which is used in the initialization process, the more smooth the free surface becomes. See this thread in the discussion board for figures.

3.3 Dictionary usage

In the dictionary funkySetFieldsDict a list of dictionaries named expressions is read and one dictionary is evaluated after another. The title of the dictionaries is only used for documentation. In each dictionary there can be 3 entries:

field
the target field
expression
the expression to write to the field
condition
select a subset of the cells (this is optional)
keepPatches
see command line options (optional)
create
see command line options (optional)
valuePatches
see command line options (optional)
dimension
see command line options (optional)

An example dictionary would be:

 
 expressions
 (
	circleVel
	{
		field U;
		expression "(grad(dist())^vector(0,0,-1))*mag(pos()-vector(0.05,0.05,0))/0.05";
        }
	pressure1
    	{
		field p;
		expression "10.*(0.1-pos().y)";
	}
	pressure2
	{
		field p;
		expression "p+U&U";
		condition "pos().x > (max(pos().x)-min(pos().x))/2";
	}
 );

This sets the velocity field as in the command-line example and then sets the pressure field to a rather strange value.

4 Expression syntax

The most complete documentation of the expression syntax is the source file for the Bison-grammar (*.yy and *.ll). Sorry.

These C++ operators are implemented:

+,-,*,/ 
Arithmetic operators. Can be used for vectors and scalars (only if useful. For instance: vectors can't be added to scalars)
 % 
A modulo-operator. Somehow differently defined from the standard C++ %-operator: the value of (x-\epsilon) % x is -\epsilon (not x-\epsilon - if you don't understand what I mean, please test for yourself - for most applications of this operator this is in my opinion the more practical implementation)
&,^ 
The vector operators as defined by OpenFOAM
<,>,<=,>=,!=,== 
Comparison operators (only defined for scalars)
&&,|| 
Logical Operators
Conditional operator
The conditional operator ( test ? val1 : val2) is defined for scalars and vectors

Operator precedence should be the same as for C++.

All the fields in the current time-step can be used. If the field is also the target field the old value is used. Then the field is written using the new value.

These pseudo-variables are defined:

pi 
Guess ;)

These functions are defined:

pow,log,exp,sqr,sqrt,sin,cos,tan 
Only defined for scalars
mag 
defined for scalars and vectors
grad 
gradient of a scalar-field
curl 
curl of a vector-field
snGrad
surface normal gradient
div 
divergence of a vector-field
laplaction 
laplacian of a field (with an optional "coefficient"-field)
min,max 
minimum and maximum of a scalar field
average,integrate,sum,reconstruct 
reconstruct a face field (yielding a volume field)

These pseudo-functions are defined:

surf 
Takes a scalar (or vector) constant and generates a constant-value surfaceField
pos 
Vector field with the cell-centers
fpos 
face-vectorField with the positions of the faces
face 
surface field with the face-vectors
area 
surface field with the face-areas
fproj 
surface field with the projection of the face onto the Cartesian coordinates
dist 
Scalar field that gives the distance to the nearest wall (using wallDist)
rdist
a field with the distances from a given vector (save mag(pos()-v))
rand 
Scalars-field with random numbers from [0,1]
randNormal 
Random-number scalar field that is Gauss-distributed
vol 
Volume of the cells
deltaT 
a field that returns the time-step
time 
a field that returns the current time

These pseudo-functions are defined for logical expressions:

set 
is true for all cells in a cellSet of that name and false otherwise
zone 
is true for all cells in a cellZone of that name and false otherwise

5 Usage Examples

TODO: Users. Please feel free to include examples here

  • To initialise a circular gamma-field (maybe a drop or bubble for the use with interFoam) containing the value 0 at position (1.5,1.5) with a radius of 3 type
funkySetFields -field gamma -expression 0 -time 0 -keepPatches -condition "pow(pos().x-1.5,2) + pow(pos().y-1.5,2) < pow(3,2)"

Note that the expression in the -condition entry is corrosponding to the analytical representation of a circle. With the unequal-sign (<) you are setting all cells inside the circle with the entry gamma=0.

5.1 Initialise a pressure field gradient due to gravity

This example shows how to initialise a gradient pressure field along the z axis of a water tank. The in the geometry, the water starts at 2.1 meters and extends to -3.4 meter of the tank. Therefore, in total 5.5 meters. The funkySetFieldsDict without the header is:

 
 expressions
 (
	pressureWater
	{
	 field p; //field to initialise
	 expression "9810.*(2.1-pos().z)+100000"; 
	 condition  "(pos().z<2.1) && (pos().z>=-3.4)"; //ranging from 2.1 meter to -3.4 meter
         keepPatches 1; //keep the boundary conditions that were set before
	}
 );

After this, one just calls the

funkySetFields -time 0

command.

6 Technical

  • the utility only writes volScalar- and volVectorFields. It can read and operate on surfaceFields
  • no dimension checking is done (but the dimension of the target field is preserved, if not overwritten by the option)

6.1 Known Bugs

This utility is still under development. Currently there are no known known bugs (but propably some unknown ones)

6.2 Bug Reporting

Bugs can be reported with the at openfoam-extend.sourceforge.net.

6.3 Usage Notes

Turbulent wall boundary conditions (such as epsilonWallFunction) are not linked by funkySetFields. These are located in either libcompressibleRASModels.so or libincompressibleRASModels.so. To execute funkySetFields on a field which uses one of these conditions, force FSF to read these in by adding libs ( "libcompressibleRASModels.so" ); or libs ( "libincompressibleRASModels.so" ); to the system/controlDict file.

7 Download

The most recent version of the sources can always be downloaded via Subversion:

For 1.6:

svn checkout svn://svn.code.sf.net/p/openfoam-extend/svn/trunk/Breeder_1.6/utilities/postProcessing/FunkySetFields/

For 1.5:

svn checkout svn://svn.code.sf.net/p/openfoam-extend/svn/trunk/Breeder_1.5/utilities/postProcessing/FunkySetFields/

The version that works with 1.4.x (missing some features that are in the 1.5-version):

svn checkout svn://svn.code.sf.net/p/openfoam-extend/svn/trunk/Breeder/utilities/postProcessing/FunkySetFields/


7.1 Ancient history

  • funkySetFields-generatedSources.diff.gz: The diff file with bison-generated (by bison-2.1) sources and patches to compile funkySetFields under OpenFOAM-1.3 and without bison 2.1 (the current bison version 2.3 generates .C files which can't be compiled by gcc-4.1.0 included in OpenFOAM-1.3). OF version 13.png
    (To Bgschaid: Feel free to remove this link upon completion of the new release. 7islands 00:47, 18 Feb 2007 (CET))
  • funkySetFields.r7106.tar.gz: A new version of funkySetFields. Not described yet on this page. Some of the new features include
    • new fields are created
    • ability to write fixedValue-patches
    • work with cell sets
    • work with surfaceFields (on writing)


These are the tarballs of the sources:

8 Plans

  • factor out the parsing in a library to make it usable from other utilities
  • make expression evaluation more efficient

9 History

  • 2006-03-26: First upload of the utility
  • 2007-02-02: New Version uploaded. Has more features than described on this page
  • 2007-03-02: New Version with included generated Files uploaded and new features descibed
  • 2007-06-20: New Version that works with 1.4 and addtions by Takuya Oshima (rdist and deltaT)
  • 2008-07-29: Confirmed that it also works for 1.5

--Bgschaid 22:53, 26 Mar 2006 (CEST)