Citcom

Cit Com
Oryginalni autorzy Louis Moresi (Monash U.)
Pierwsze wydanie początek lat 90
Wersja stabilna
2.2 / 27 marca 2007 ; 15 lat temu ( 27.03.2007 )
Napisane w C
Licencja Powszechna Licencja Publiczna GNU
Strona internetowa geodynamics.org/cig/software/citcomcu/ _ _ _ _ _  Edit this on Wikidata

CitCom (od California Institute of Technology Convection in the Mantle ) to kod elementów skończonych przeznaczony do rozwiązywania problemów związanych z konwekcją termiczną w płaszczu Ziemi, wydany na licencji GNU General Public License . Napisana w języku C , najnowsza wersja kodu, CitComS, działa na różnych komputerach przetwarzających równolegle, w tym na platformach z pamięcią dzieloną i rozproszoną.

Historia

CitCom został pierwotnie napisany na początku lat 90. przez Louisa Moresiego (Monash U.). Chociaż kod dla problemów trójwymiarowych był włączony od samego początku, wczesne wersje oprogramowania rozwiązywały tylko zależne od czasu problemy konwekcji w dwuwymiarowych domenach kartezjańskich. Oryginalny kod Moresiego okazał się niewiarygodnie modułowy i łatwo rozszerzalny. W rezultacie podstawowa infrastruktura elementów skończonych, którą napisał Louis, nadal istnieje i stanowi podstawę większości kodu zawartego w obecnym wydaniu.

W połowie lat 90. Moresi napisał wersje kodu, które rozwiązywały równania w trójwymiarowych domenach kartezjańskich. Następnie Shijie Zhong (U. of Colorado, Boulder) z powodzeniem zrównoleglił CitCom przy użyciu procedur przekazywania wiadomości na superkomputerze Intela o limitowanej wersji. Następnie Zhong stworzył sferyczną wersję kodu, którą nazwał CitComS. Lijie Han (Planetary Science Institute) stworzył następnie regionalną wersję CitComS oraz alternatywną wersję przekazywania wiadomości dla dowolnie dużej liczby procesorów. Clint Conrad (Johns Hopkins) stworzył pierwsze implementacje kodu Beowulfa, następnie Conrad i Eh Tan ( Computational Infrastructure for Geodynamics ) ponownie zakodowali przekazywanie wiadomości w pełni sferycznej wersji, tak aby problemy działające na dowolnie dużej liczbie procesorów mogły być również rozwiązany. Mnóstwo różnych wersji CitCom istnieje zarówno na komputerach w California Institute of Technology, jak i na całym świecie.

W rezultacie do 2002 roku istniało tak wiele różnych wersji kodu, że konieczna była pewna racjonalizacja. Oprogramowanie zostało przeniesione do systemu kontroli wersji, a Eh Tan i Eun-seo Choi (Caltech) stworzyli wersję CitComS, która generuje model w pełni sferyczny lub regionalny, odpowiednio CitcomSFull i CitcomSRegional. CitComS został udostępniony społeczności w ramach poprzedniego projektu GeoFramework w wersji 1.0 i 1.1.

Do 2004 roku, w celu zwiększenia funkcjonalności CitComS, programiści rozpoczęli przebudowę kodu w środowisku zorientowanym obiektowo, specjalnie tak, aby mógł współpracować z opartym na Pythonie frameworkiem modelowania o nazwie Pyre. Ta wersja oprogramowania, obecnie nazywana CitComS.py, jest zasadniczo wynikiem tych prac inżynieryjnych. Eh Tan był głównym twórcą CitComS.py, przy znacznej pomocy Eun-seo Choi i Michaela Aivazisa (Caltech).

CitComS jest jednym z elementów większej kolekcji oprogramowania objętej poprzednim projektem GeoFramework, będącym wynikiem współpracy między Center for Advanced Computing Research (CACR) i Laboratorium Sejsmologicznym, oba w Caltech, oraz Victorian Partnership for Advanced Computing w Australii. W ramach projektu GeoFramework opracowano zestaw narzędzi do modelowania deformacji w wielu skalach na potrzeby problemów nauk o Ziemi. Wysiłek ten był motywowany potrzebą zrozumienia interakcji między długoterminową ewolucją tektoniki płyt a procesami krótkoterminowymi, takimi jak ewolucja uskoków podczas trzęsień ziemi i pomiędzy nimi. W latach 2005 i 2006 większość pozostałego oprogramowania opracowanego przez GeoFramework została wydana na licencji GPL i udostępniona w Computational Infrastructure for Geodynamics (CIG).

Drugie główne wydanie CitComS (2.0) zawierało platformę programową Pyre, metody modelowania swobodnej powierzchni oraz warunki brzegowe naprężeń na górnej i dolnej powierzchni. Latem 2005 roku, w ramach wydania 2.0.1, CIG zastąpiło starą procedurę kompilacji GNU Build System. Kolejna wersja, wersja 2.0.2, mogła się kompilować i działać w systemach 64-bitowych.

Trzecia główna wersja CitComS (2.1) zawierała nowe funkcje i funkcje, z których najważniejszą było użycie HDF5 (równoległa wersja Hierarchical Data Format). Format HDF5 pozwala radzić sobie z ogromną ilością danych wyjściowych tworzonych na potrzeby serii produkcyjnych. Ta wersja akceptowała pliki .cfg na wejściu, które są łatwiejsze do tworzenia i czytania.

Inne ulepszenia obejmowały włączenie obliczeń geoidy, które zostały pominięte we wcześniejszych wersjach, a także nowe skrypty umożliwiające wizualizację wyników za pomocą MayaVi2 oprócz Generic Mapping Tools (GMT) i OpenDX. Dostarczono instrukcje dotyczące używania tej wersji jako preinstalowanego pakietu w niektórych witrynach NSF TeraGrid.

Najnowsza wersja CitComS (2.2, 3/27/07) zawiera możliwość śledzenia cząstek w przepływie. Kod znacznika został opracowany przez Allena McNamarę i Shijie Zhonga w 2004 r. i przekazany CIG na początku 2007 r. Kod znacznika ma szeroki zakres zastosowań w konwekcji płaszcza. Może być używany do śledzenia trajektorii cząstek pasywnych, do wyznaczania górnej granicy subdukowanych płyt w celu zdefiniowania klinów o niskiej lepkości lub do śledzenia ewolucji pola składu chemicznego.

Linki zewnętrzne