VITESS
Det virtuella instrumenteringsverktyget för ESS (VITESS) är ett mjukvarupaket med öppen källkod för simulering av neutronspridningsexperiment . Mjukvaran underhålls och utvecklas av Helmholtz-Zentrum Berlin für Materialien und Energie (HZB), det tidigare Hahn-Meitner-Institur HMI, och tillgänglig för Windows, Linux och Macintosh på VITESS hemsida . Det används i stor utsträckning för simulering av befintliga neutronspridningsinstrument samt för utveckling av nya instrument.
VITESS initierades av F. Mezei 1998, tätt följt av den första utgåvan av VITESS 1999 och version 2 2001. Den nuvarande versionen 3 inklusive ett X3D- visualiseringsgränssnitt har släppts i november 2012.
Även om det ursprungligen utvecklades för att underlätta designen av neutronspridningsinstrument för European Spallation Source (ESS) som namnet antyder, fungerar VITESS som ett generiskt simuleringsverktyg för en stor mängd neutronspridningsinstrument vid alla större pulsade eller kontinuerliga neutronkällor. Den omfattar all etablerad instrumenthårdvara som neutronoptik (t.ex. guider, bländaröppningar, linser), våglängdsväljare (t.ex. skivhackare, hastighetsväljare) och ett växande utbud av prover, vilket gör det möjligt att utföra virtuella experiment inklusive sofistikerade inställningar som polariserade neutroner i magnetfält .
Parametrar som anger instrumentkomponenterna kan ges med hjälp av ett grafiskt användargränssnitt, vilket gör VITESS jämförelsevis lätt att använda och snabb att lära sig för nya användare, medan avancerade användare kan bidra med sina egna moduler. Giltigheten av VITESS-simuleringar testas genom jämförelse med andra neutronsimuleringspaket och med mätningar vid neutronspridningsanläggningar.
Andra simuleringspaket för neutronspridningsinstrument inkluderar McStas , Restrax, NISP och IDEAS.
Arbetsprincip
VITESS-simuleringar utförs med hjälp av en Monte Carlo-strålspårningsmetod. Neutronbanor skapas i en källmodul eller laddas från en fil som skapats i en tidigare simulering. Varje neutron tilldelas en räknehastighet som modifieras vid varje interaktion med instrumentet, som reflektion vid eller transmission genom en (super)spegelplatta. Banan kasseras om neutronen inte träffar den efterföljande komponenten eller absorberas. Vissa komponenter (t.ex. provmiljö) kan multiplicera neutronbanor genom att dela upp neutronerna i flera möjliga sluttillstånd och tilldela lämplig sannolikhet till var och en av dem, vilket håller den totala neutronintensiteten antingen konstant eller minskande om neutroner går förlorade.
Instrumentdelar representeras av moduler som löper oberoende i en rörstruktur under simulering. Neutroner skickas från en modul till en annan i paket med typiskt 10 000 neutroner, vilket innebär att för de flesta simuleringar som kräver mer statistik körs alla moduler parallellt. Denna modulära struktur gör det möjligt att dela upp simuleringen i flera delar, och t.ex. spara neutronerna i valfri del av instrumentet för att mata dem som input till den efterföljande delen i en separat simulering.
Versionshistorik
- VITESS 1.0 (1999)
- VITESS 2.0 (2001)
- VITESS 2.10 (okt 2011) parallella trådar minskar simuleringstiden på datorer med flera processorer, visualisering av banor i neutronguiden, utgångskompression, nya komponenter: elliptisk spegel, lins, strålstopp
- VITESS 2.11 (dec 2011) första Macintosh-versionen, ny generisk 2-dimensionell monitor, nytt prov: bildbehandling
- VITESS 3.0 (november 2012) visualisering av instrument- och neutronbanor, nya komponenter: idealisk guide, briljans och generiska 1-dimensionella monitorer, FRM-2 källa, uppdaterad ESS kall och HZB kall/bispektral källa