•  

    Cześć! GRoT> mknie do przodu w szybkości rozwiązywania układu równań i w minimalizowaniu niezbędnych zasobów do przechowywania macierzy. Po małych zmianach jest 1,5 razy szybszy i pożera 2,5 razy pamięci RAM mniej. Jest też bardziej elegancki wygląd, galeria wyników jako strona html i możliwość analizowania większych modeli (obrazków). Wczoraj przetłumaczyłem stronę projektu github.com/tutajrobert/grot na język angielski - link dla ciekawych tutaj strona projektu. Na zachętę zgniatanie garbusa! Obliczeniowe pozdrowienia! #ansys #cad #wytrzymaloscmaterialow #nauka #programowanie #matematyka #fizyka #python #autocad #inzynieria #mes

    GIF

    źródło: deformed_car.gif (2.48MB)

    •  

      @kadetPirx: Ciekawy projekt. Jaki jest teraz maksymalny wymiar zadania?

    •  

      @kadetPirx Chlopie gdzies ty byl 5 lat temu!?
      Zajebiste, do zakladek na dysk i co tam jeszcze...
      Zajebisra robota btw. !!!
      Pozdrawiam i szacunek!

    •  

      @chrsec: Właśnie sprawdzam tego garbusa w większej rozdzielczości: 20 000 elementów skończonych, macierz sztywności 40 000 x 40 000. Wciąga do obliczeń 26 GB pamięci RAM. Model o liczbie 10 000 elementów zabiera 6 GB. Za to 2500 elementów to już tylko 430 MB, a odpowiada to obrazkom 50 na 50 pikseli

      +: BionicA, c....c +2 innych
    •  

      @BionicA: Dzięki za pozytywną reakcję! Miałem być w konkretnym miejscu 5 lat temu? Jak widzę po mailach to 5 lat temu w kwietniu zaczynałem mierzyć się pierwszy raz z Pythonem by napisać w nim generator geometrii wirników pomp :-) Pozdrawiam

    •  

      @kadetPirx: 26 GB to strasznie dużo jak na wymiar 40k. Jak przechowujesz macierz sztywności? Macierz rzadka by się przydała to spadnie do parudziestu-set MB ( ͡° ͜ʖ ͡°) Warto by też użyć do solvera pythonowskiego api do C (czyli napisać sover w .pyd). Możnaby wtedy spokojnie przekazywać w numpy jedynie macierze topologii, współrzędnych węzłów i konstytutywne.

      Nie wiem na ile chcesz pisać solver sam. Po kodzie widzę, że nawet faktoryzacje cholesky'ego sam implementowałeś. Są natomiast w C dobre i wypróbowane biblioteki do algebry liniowej no i macierzy rzadkich (np CSparse Timothyego Davisa).

      Tak czy inaczej dobra robota i zacne hobby, podzielam ( ͡° ͜ʖ ͡°)

    •  

      @chrsec: Hej! Zgadzam się, że to bardzo dużo jak na pobór RAMu. Projekt zaczynałem pisać na tablecie z androidem w drodze do pracy pociągiem i miałem dostęp tylko do okrojonych bibliotek pythona i z początku nie było nawet numpy. Samodzielnie napisany algorytm do eliminacji Gaussa był potwornie wolny, myślę że koło 2000 razy wolniejszy niż obecne algorytmy numpy. Dzięki za porady, wiem też że są dobre sposoby na przechowywanie takich macierzy jak np. skyline method, i widziałem, że używając funkcji z C lub Fortrana da się niesamowicie podnieść wydajność, ale GRoTowi już wystarczy rozwoju. Wiem, gdzie popełniłem błędy i mam pomysł na coś nowego i tym razem wykorzystam sprawdzone metody z innych języków. Poczytam o metodzie o której piszesz. Pozdrawiam!

      +: Rzuku