Computational Science

Pytania i odpowiedzi dla naukowców używających komputerów do rozwiązywania problemów naukowych

4
Dlaczego w arytmetyki zmiennoprzecinkowej niedokładność liczbowa wynika z dodania małego terminu do różnicy dużych pojęć?
Czytałem książkę Computer Simulation of Liquids autorstwa Allena i Tildesleya. Począwszy od strony 71, autorzy omawiają różne algorytmy stosowane do integracji równań ruchu Newtona w symulacjach dynamiki molekularnej (MD). Począwszy od strony 78, autorzy omawiają algorytm Verleta, który jest być może algorytmem integracji kanonicznej w MD. Stanowią one: Być może …

2
Narzuć warunki zgodności dla metody mieszanych elementów skończonych w równaniu Stokesa
\newcommand{\v}[1]{\boldsymbol{#1}} Załóżmy, że mamy następujące równanie modelu przepływu Stokesa: {−div(ν∇u)+∇pdivu=f=0{−div(ν∇u)+∇p=fdivu=0 \tag{1} \left\{ \begin{aligned} -\mathrm{div}(\nu \nabla \v{u}) + \nabla p &= \v{f} \\ \mathrm{div} \v{u} &= 0 \end{aligned} \right. gdzie lepkość ν(x)ν(x)\nu(x) jest funkcją, dla standardowego mieszanego elementu skończonego powiedzmy, że używamy pary stabilnej: przestrzeń Crouzeixa-Raviarta VhVh\v{V}_h dla prędkości uu\v{u} i …

5
Jak mogę oszacować niewłaściwą całkę?
Mam funkcję taką, że jest skończone i chcę aproksymować tę całkę. ∫ R 3 f ( x , y , z ) d Vfa( x , y, z)f(x,y,z)f(x,y,z) ∫R3)fa( x , y, z) dV.∫R3f(x,y,z)dV\int_{R^3} f(x,y,z)dV Znam zasady kwadratury i przybliżenia całek Monte Carlo, ale widzę pewne trudności z ich implementacją …

5
Jakie są zalety i wady związane z używaniem klas do enkapsulacji algorytmów numerycznych?
Wiele algorytmów wykorzystywanych w obliczeniach naukowych ma inną wewnętrzną strukturę niż algorytmy powszechnie uważane za mniej wymagające matematyki formy inżynierii oprogramowania. W szczególności poszczególne algorytmy matematyczne są zwykle bardzo złożone, często obejmują setki lub tysiące wierszy kodu, ale mimo to nie obejmują żadnego stanu (tj. Nie działają na złożoną strukturę …
13 algorithms 

3
Najlepsza praktyka przechowywania hierarchicznych danych symulacyjnych
TL, DR Jaka jest sprawdzona najlepsza praktyka w naukowych kręgach obliczeniowych do przechowywania dużych ilości danych o strukturze hierarchicznej? Na przykład SQL nie działa dobrze z dużymi rzadkimi macierzami. Czy istnieje dobre narzędzie do strukturyzacji, magazynowania i analizy tego rodzaju danych? Czego używają faceci z LHC? Użyj szczegółów sprawy Chcę …

3
SVD do znalezienia największej wartości własnej macierzy 50x50 - czy marnuję znaczną ilość czasu?
Mam program, który oblicza największą wartość własną spośród wielu rzeczywistych symetrycznych macierzy 50 x 50, wykonując dekompozycje o liczbie pojedynczej na wszystkich z nich. SVD stanowi wąskie gardło w programie. Czy istnieją algorytmy, które są znacznie szybsze w znajdowaniu największej wartości własnej, czy też optymalizacja tej części nie przyniosłaby dużego …

3
Precyzja pojedynczego kontra podwójnego zmiennoprzecinkowego
Liczby zmiennoprzecinkowe pojedynczej precyzji zajmują połowę pamięci, a na nowoczesnych komputerach (nawet na GPU) operacje można wykonywać z nimi prawie dwukrotnie szybciej niż podwójna precyzja. Wiele kodów FDTD, które znalazłem, używa wyłącznie arytmetyki i pamięci o pojedynczej precyzji. Czy istnieje ogólna zasada, kiedy dopuszczalne jest stosowanie pojedynczej precyzji do rozwiązywania …

3
Zrozumienie, jak Numpy robi SVD
Stosowałem różne metody do obliczania zarówno rangi macierzy, jak i rozwiązania układu równań macierzowych. Natknąłem się na funkcję linalg.svd. Porównując to do własnych wysiłków związanych z rozwiązaniem systemu z eliminacją Gaussa, wydaje się on zarówno szybszy, jak i bardziej precyzyjny. Próbuję zrozumieć, jak to jest możliwe. O ile mi wiadomo, …

4
Jak stworzyć losową domenę 3D reprezentującą strukturę korzenia rośliny?
Chciałbym modelować laminarny przepływ wody od korzeni do łodygi rośliny. Na samym końcu korzeni rurki mają średnicę i długość od milimetra do centymetra. Gdy zbliżamy się do łodygi, korzenie stają się większe pod względem długości i średnicy. Chcę tworzyć losowe domeny 3D, które reprezentują sieć korzeni o różnych średnicach i …


1
Czy istnieje narzędzie, które może generować rozszerzenia przedziałów funkcji Fortran (lub C) przez analizowanie kodu Fortran (lub C)?
Studia przypadków w mojej rozprawie doktorskiej wymagają przedłużenia interwałów podprogramów Fortrana w CHEMKIN-II (przepraszam za link; to najlepsze, jakie mogłem znaleźć dla pakietu, który nie jest już dystrybuowany przez Sandia National Laboratory). CHEMKIN-II to pakiet chemiczny stosowany w chemii spalania; ponieważ jest to standardowy pakiet używany do spalania, nie mogę …

5
O znajdowaniu projektów Open Source, do których należy się przyczynić
To pytanie zostało zadane miliard razy na Stackoverflow, jednak zawsze skupiano się na kodowaniu nienumerycznym. Szukam projektu, do którego można się przyczynić w ramach obliczeń numerycznych i obliczeń o wysokiej wydajności. Idealnie wolałbym mały projekt, ale nie jest to konieczne. Jaki byłby najlepszy sposób na zaangażowanie się w projekt open …
13 software 

5
Ile należy zoptymalizować oprogramowanie naukowe?
W przypadku aplikacji wymagających znacznych zasobów obliczeniowych wysoka wydajność może być krytycznym czynnikiem, jeśli chodzi o dostarczanie wyników naukowych lub osiąganie „przełomów” w rozsądnym czasie. Ile czasu i wysiłku powinni twórcy oprogramowania zainwestować w optymalizację aplikacji? Jakie są zastosowane kluczowe kryteria?
13 software  hpc 

4
Zliczanie FLOP dla funkcji bibliotecznych
Oceniając liczbę FLOP w prostej funkcji, często można po prostu zejść w dół wyrażenia zestawiając podstawowe operatory arytmetyczne. Jednak w przypadku wyrażeń matematycznych obejmujących parzysty podział nie można tego zrobić i można oczekiwać, że będzie można porównać z liczbą FLOP z funkcji z tylko dodatkami i mnożeniami. Sytuacja jest jeszcze …

5
C ++ lub Python do opracowania biblioteki CFD
Jakie byłyby zalety / wady dwóch podejść do kodowania biblioteki ogólnej (objętość skończona, fem, dg) dla obliczeniowej mechaniki ciągłości? Tak właśnie teraz widzę, więc proszę, przekaż swoje własne doświadczenia i nie rozpalaj mnie dla mnie :): 1) C ++: ogólne programowanie, funkcje wirtualne, przeciążanie, szybkość ...: wszystkie dostępne narzędzia genreic …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.