| Distintivo Un semplice codice MATLAB per la generazione di maglie triangolare e tetraedrica non strutturate |
Scarica ora |
Distintivo Classifica e riepilogo
- Nome editore:
- Per-Olof Persson
- Sistemi operativi:
- Windows All
- Dimensione del file:
- 37 KB
Distintivo Tag
Distintivo Descrizione
Il Dissesh è stato progettato per essere un semplice codice MATLAB per la generazione di maglie triangolari e tetraedlari non strutturate. Una ragione per cui il codice è breve e semplice è che le geometrie sono specificate da funzioni di distanza firmate. Questi danno la distanza più breve da qualsiasi punto nello spazio al confine del dominio. Il segno è negativo all'interno della regione e positivo all'esterno. Un semplice esempio è il cerchio dell'unità in 2-D, che ha la funzione di distanza D = R-1, dove R è la distanza dall'origine. Per le geometrie più complicate, la funzione di distanza può essere calcolata da interpolazione tra valori su una griglia, una rappresentazione comune per i metodi di set di livello. Per la generazione effettiva della mesh, Distmesh utilizza la routine di triangolazione Delaunay in MATLAB e tenta di ottimizzare le posizioni dei nodi mediante una procedura di levigatura basata sulla forza. La topologia è regolarmente aggiornata da Delaunay. I punti limite sono autorizzati a muoversi solo in tangenzialmente al limite dalle proiezioni utilizzando la funzione di distanza. Questa procedura iterativa tipicamente si traduce in maglie molto ben modellate. Il nostro obiettivo con questo codice è la semplicità, in modo che tutti possano capire il codice e modificarlo in base alle loro esigenze. Il codice non è interamente robusto (cioè, potrebbe non interrompere e restituire una rete ben modellata), ed è relativamente lento. Tuttavia, la nostra attuale ricerca mostra che questi problemi possono essere risolti in un codice C ++ ottimizzato, e riteniamo che il nostro semplice codice MATLAB sia importante per la dimostrazione dei principi sottostanti.
Distintivo Software correlato