Hej tamo! Kao kombinirani dobavljač, super sam podijelio s vama kako implementirati kombinirani solver za PDES (djelomične diferencijalne jednadžbe). PDE -ovi su posvuda u znanosti i inženjerstvu, od modeliranja prijenosa topline do simuliranja protoka tekućine. A kombinirane metode mogu biti prava igra - izmjenjivač kada je u pitanju učinkovito rješavanje ovih jednadžbi.
Što je Combigrid?
Prvo, brzo pređite na to što je Combigrid. Combigrid je tehnika koja kombinira prednosti rijetkih mreža i punih mreža. Rijetke rešetke su izvrsne jer mogu smanjiti računalne troškove u visokim dimenzijskim problemima. Ali oni imaju određena ograničenja. S druge strane, pune rešetke su točne, ali mogu biti izuzetno računalno skupe, posebno u visokim dimenzijama. Combigrid pokušava pronaći slatko mjesto između njih dvojice.
Korak 1: Definicija problema
Prvo što morate učiniti je očito definirati svoj PDE problem. Morate znati vrstu PDE (npr. Eliptična, parabolička, hiperbolička), domenu u kojoj je definiran PDE i granični uvjeti. Na primjer, ako se bavite problemom provođenja topline, imat ćete parabolični PDE. Domena bi mogla biti pravokutna ploča, a granični uvjeti mogu odrediti temperaturu na rubovima ploče.
Recimo da imamo jednostavan 2D eliptični PDE obrasca:
[-\ delta u (x, y) = f (x, y) \ quad \ text {in} \ quad \ omega = (0,1) \ Times (0,1)]
s graničnim uvjetima dirichleta (u (x, y) = g (x, y)) na (\ djelomično \ omega). Ovdje je (\ delta) laplacijski operator, (f (x, y)) je data izvorna funkcija, a (g (x, y)) je funkcija granične vrijednosti.
Korak 2: diskretizacija
Jednom kada definirate problem, sljedeći korak je diskretiziranje PDE -a. To znači pretvaranje kontinuiranog PDE -a u sustav algebričnih jednadžbi koje se mogu numerički riješiti. Postoji nekoliko načina za to, poput metode konačne razlike, metode konačnih elemenata ili spektralne metode.
Za naš kombinirani pristup, koristit ćemo kombinaciju ovih metoda na rijetkim mrežama. Osnovna ideja je konstruirati skup hijerarhijskih osnovnih funkcija na mrežnim točkama. Ove osnovne funkcije omogućuju nam približavanje rješenja PDE kao linearne kombinacije ovih funkcija.
Pogledajmo kako možemo konstruirati kombiniranje za 2D problem. Započinjemo definiranjem skupa od 1D rešetke u svakom smjeru. Na primjer, u smjeru (x) - možemo imati skup rešetki (g_ {x}^l) s različitim razinama (l). Isto vrijedi i za (y) - smjer. Zatim kombiniramo ove 1D rešetke u obliku 2D kombiniranja.
Broj mrežnih točaka u kombinaciji mnogo je manji nego u punoj mreži, što štedi puno računalnih resursa. Ali još uvijek moramo biti sigurni da je aproksimacija dovoljno točna.


Korak 3: Combigrid Construction
Izgradnja kombiniranja je presudan korak. Započinjemo definiranjem razine 1D rešetke u svakoj dimenziji. Razina (L) 1D mreže određuje broj točaka mreže. Viša razina znači više mrežnih točaka i potencijalno veću točnost.
Zatim koristimo kombiniranu tehniku za kombiniranje 1D rešetki u različitim dimenzijama. Postoje različite kombinirane sheme, poput klasične kombinacijske tehnike ili tehnike adaptivne kombinacije. Tehnika klasične kombinacije jednostavno rezimira rješenja dobivena na različitim pod -rešetkama s odgovarajućim utezima.
U Pythonu možemo koristiti knjižnice poput PYCCF (Python Combigrid Framework) za izgradnju i rad s kombinirima. Evo jednostavnog primjera kako konstruirati 2D Combigrid:
Uvoz PYCCF # Definirajte broj dimenzija DIM = 2 # Definirajte razine u svakoj razini dimenzija = [3, 3] # Stvorite Combigrid Combigrid = PYCCF.combigrid (dim, razine)
Korak 4: Rješavanje diskretiziranog sustava
Nakon konstrukcije Combigrid, moramo riješiti diskretizirani sustav algebričnih jednadžbi. To se može učiniti pomoću iterativnih metoda poput metode gradijenta konjugata ili izravnih metoda poput Gaussove eliminacije.
Izbor solvera ovisi o veličini i svojstvima sustava. Iterativne metode obično su učinkovitije za probleme s velikim skalama, dok izravne metode mogu biti brže za male probleme veličine - srednje veličine.
Recimo da imamo sustav jednadžbi (ax = b), gdje je (a) matrica krutosti dobivena iz diskretizacije, (x) je vektor nepoznanica (približno rješenje na mrežnim točkama), a (b) je desni vektor ručni bočni vektor.
Uvoz numpy kao NP iz Scipy.sparse.linalg Import CG # Pretpostavimo da je matrica krutosti, a B je desni - ručni vektor # A je rijetka matrica, a B je numpy niz x, info = cg (a, b)
Korak 5: Post - obrada
Jednom kada smo riješili sustav, moramo objaviti - obraditi rješenje. To uključuje vizualizaciju rješenja, izračunavanje nekih fizičkih količina od interesa i provjeru točnosti rješenja.
Za vizualizaciju rješenja možemo koristiti knjižnice poput Matplotlib u Python -u. Na primjer, ako je naše rješenje (u (x, y)) 2D funkcija, možemo stvoriti crtu konture ili površinsku crtu da bismo vidjeli kako rješenje varira u odnosu na domenu.
uvoz matplotlib.pyplot kao plt # pretpostavimo da su x_grid i y_grid točke rešetke u uputama x i y u uputama # i u je rješenje na mrežnim točkama x, y = np.meshgrid (x_grid, y_grid) plt.contourf (x, y, u) PLT.COLOW () PLT.)
Naši kombinirni proizvodi
U našoj tvrtki nudimo širok spektar proizvoda povezanih s kombiniranjem. Na primjer, imamoPp dvosmisleni geotekstil, što je izvrsno za pojačanje i stabilizaciju tla. Kombinira čvrstoću biaksijalne geogride s svojstvima filtracije geotekstila.
Drugi proizvod jeGeotekstil polipropilen biaksija. Ovaj je proizvod izrađen od visokokvalitetnog polipropilena i pruža izvrsna mehanička svojstva. Može se koristiti u raznim aplikacijama za građevinarstvo, poput izgradnje cesta i pojačanja nasipa.
Imamo iPp geogrid kompozit s geotekstilom, koji je svestran proizvod koji nudi i funkcije pojačanja i razdvajanja.
Kontaktirajte nas za nabavu
Ako ste zainteresirani za implementaciju kombiniranog rješavanja za vaše PDE probleme ili ako želite kupiti naše kombinirane proizvode, voljeli bismo čuti vas. Bez obzira jeste li istraživač, inženjer ili izvođač, možemo vam pružiti podršku i proizvode koji su vam potrebni. Samo se obratite nama i započeli ćemo sjajan razgovor o tome kako možemo raditi zajedno.
Reference
- Gerstner, T., i Griebel, M. (1998). Numerička integracija pomoću rijetkih mreža. Numerička matematika, 77 (1), 209 - 232.
- Bungartz, HJ, & Griebel, M. (2004). Rijetke rešetke. Acta Numenica, 13, 147 - 269.
- Pritisnite, WH, Tekolsky, SA, Vetterling, WT, & Flannery, BP (2007). Numerički recepti: Umjetnost znanstvenog računanja. Cambridge University Press.











