Citcom
Originalförfattare | Louis Moresi (Monash U.) |
---|---|
Initial release | tidigt 1990-tal |
Stabil frisättning | 2.2 / 27 mars 2007
|
Skrivet i | C |
Licens | GNU General Public License |
Hemsida |
|
CitCom (för California Institute of Technology Convection in the Mantle ) är en kod med finita element utformad för att lösa termiska konvektionsproblem som är relevanta för jordens mantel släppt under GNU General Public License . Kodens senaste version, CitComS, skriven i C , körs på en mängd olika parallellbearbetningsdatorer, inklusive delade och distribuerade minnesplattformar.
Historia
CitCom skrevs ursprungligen i början av 1990-talet av Louis Moresi (Monash U.). Även om koden för tredimensionella problem införlivades från starten, löste tidiga versioner av programvaran endast för tidsberoende konvektionsproblem inom tvådimensionella kartesiska domäner. Moresis originalkod visade sig vara otroligt modulär och lätt att utöka. Följaktligen finns den grundläggande finita element-infrastrukturen som Louis skrev fortfarande på plats och utgör grunden för mycket av koden som finns i den här versionen.
I mitten av 1990-talet skrev Moresi versioner av koden som löste ekvationerna inom tredimensionella kartesiska domäner. Sedan lyckades Shijie Zhong (U. of Colorado, Boulder) parallellisera CitCom med hjälp av meddelandeförmedlingsrutiner på en Intel-superdator med begränsad utgåva. Zhong skapade sedan en sfärisk version av koden som han döpte till CitComS. Lijie Han (Planetary Science Institute) skapade sedan en regional version av CitComS såväl som en alternativ version av meddelandeöverföring för ett godtyckligt stort antal processorer. Clint Conrad (Johns Hopkins) skapade de första Beowulf-implementeringarna av koden, sedan kodade Conrad och Eh Tan ( Computational Infrastructure for Geodynamics ) om meddelandet som skickades för den helt sfäriska versionen så att problem körs på godtyckligt stora antal processorer också löst. En uppsjö av olika versioner av CitCom finns både på datorer vid California Institute of Technology och runt om i världen.
Följaktligen fanns det 2002 så många olika versioner av koden att en viss rationalisering var på sin plats. Mjukvaran migrerades till ett versionskontrollsystem och Eh Tan och Eun-seo Choi (Caltech) skapade en version av CitComS som genererar antingen en helt sfärisk eller regional modell, CitcomSFull respektive CitcomSRegional. CitComS släpptes till communityn genom det tidigare GeoFramework-projektet som version 1.0 och 1.1.
År 2004, för att öka funktionaliteten hos CitComS, började utvecklarna omarbeta koden till en objektorienterad miljö specifikt så att den kunde fungera med ett Python-baserat modelleringsramverk kallat Pyre. Denna utgåva av programvaran, som nu heter CitComS.py, är i huvudsak produkten av dessa omstruktureringsansträngningar. Eh Tan var den främsta utvecklaren av CitComS.py, med stor hjälp från Eun-seo Choi och Michael Aivazis (Caltech).
CitComS är en komponent i en större samling mjukvara som omfattas av det tidigare GeoFramework-projektet, ett samarbete mellan Center for Advanced Computing Research (CACR) och Seismological Laboratory, båda vid Caltech, och Victorian Partnership for Advanced Computing i Australien. GeoFramework-projektet utvecklade en uppsättning verktyg för att modellera flerskalig deformation för geovetenskapliga problem. Denna ansträngning motiverades av behovet av att förstå interaktioner mellan den långsiktiga utvecklingen av plattektoniken och kortsiktiga processer såsom utvecklingen av förkastningar under och mellan jordbävningar. Under 2005 och 2006 släpptes mycket av den återstående mjukvaran som utvecklats av GeoFramework under en GPL-licens och gjordes tillgänglig från Computational Infrastructure for Geodynamics (CIG).
Den andra stora utgåvan av CitComS (2.0) inkorporerade mjukvaruramverket Pyre, metoder för fria ytmodellering och stressgränsförhållanden på topp- och bottenytor. Sommaren 2005, som en del av 2.0.1-versionen, ersatte CIG den gamla byggproceduren med GNU Build System. En efterföljande version, version 2.0.2, skulle kunna kompilera och köras på 64-bitarssystem.
Den tredje stora utgåvan av CitComS (2.1) innehöll nya funktioner och funktionalitet, den viktigaste är användningen av HDF5 (en parallell version av Hierarchical Data Format). HDF5-formatet låter dig hantera den massiva datautmatningen som skapas för produktionskörningar. Denna version accepterade .cfg-filer vid inmatning, som är lättare att skapa och läsa.
Andra förbättringar inkluderade inkorporeringen av geoidberäkningar som hade utelämnats från tidigare utgåvor, såväl som nya skript för att göra det möjligt att visualisera resultat med MayaVi2 förutom Generic Mapping Tools (GMT) och OpenDX. Instruktioner gavs om hur du använder den här versionen som ett förinstallerat paket på några av NSF TeraGrid-webbplatserna.
Den senaste versionen av CitComS (2.2, 3/27/07) innehåller möjligheten att spåra partiklar i flödet. Spårningskoden utvecklades av Allen McNamara och Shijie Zhong 2004 och donerades till CIG i början av 2007. Spårningskoden har ett brett utbud av tillämpningar inom mantelkonvektion. Den kan användas för att spåra passiva partiklars bana, för att avgränsa den övre gränsen för subducerade plattor för att definiera kilarna med låg viskositet, eller för att spåra utvecklingen av det kemiska sammansättningsfältet.