Esistono schemi di progettazione o approcci generalizzati per le simulazioni di particelle?

4

Sto lavorando a un progetto (per il college) in C ++. L'obiettivo è scrivere un programma che può più o meno simulare un raggio di particelle che volano attraverso il sincrotrone LHC.

Non volendo precipitarsi nelle cose, io e il mio team stiamo pensando a come implementarlo e mi stavo chiedendo se ci sono schemi di progettazione generali che sono usati per risolvere questo tipo di problema.

L'approccio generale che abbiamo sviluppato finora è il seguente:

  • c'è un World che contiene tutti gli oggetti
  • puoi aggiungere oggetti a questo mondo come Particle , Dipole e Quadrupole
  • il tempo viene tagliato in passi discreti e in ogni momento, per ogni Particle , vengono calcolate e sommate le forze magnetiche ed elettriche che ciascun oggetto nella World genera (fortunatamente l'elettromagnetismo è lineare) .
  • ogni Particle si sposta di conseguenza (usando un semplice approccio di stima per risolvere le equazioni del movimento differenziale)
  • salva le posizioni Particle
  • ripetizione

Questo sembra un buon approccio ma, ad esempio, è difficile prendere in considerazione le simmetrie che potrebbero essere presenti (come il campo magnetico di ogni Quadrupole ) ed è quindi non ottimale.

Per tenere conto di tali simmetri come quelle del campo Quadrupole , sarebbe molto più facile (anche) rendere lo spazio discreto e in qualche modo memorizzare la forma del campo Quadrupole da qualche parte. (Dal momento che il 2532 circa Quadrupole s viene memorizzato, ciò dovrebbe comportare un enorme guadagno di prestazioni, senza dover ricalcolare ogni campo Quadrupole )

Quindi, ci sono schemi di design? Il World -approach è fattibile o è vecchio stile, cattiva programmazione? Che dire della simmetria, come viene generalmente presa in considerazione?

    
posta romeovs 26.03.2012 - 21:44
fonte

1 risposta

2

Controllare nella comunità grafica le simulazioni di fisica delle particelle. Esistono molti modelli esistenti (risolutori di fisica e simili per sistemi di particelle) ed è un concetto ben compreso per quella comunità, e ci sono molte implementazioni. Ti risparmierai moltissimo tempo.

    
risposta data 27.03.2012 - 04:41
fonte

Leggi altre domande sui tag