Abstrakt. En kompilator metod för att generera låg nivå datorkod från hög nivå ingång för icke-kontinuerliga Galerkin finita element former presenteras. Inmatningsspråket speglar konventionell matematisk notation, och kompilatorn genererar effektiv kod i ett standardprogrammeringsspråk. Detta underlättar en snabb generering av effektiv kod för allmänna ekvationer i olika rumsliga dimensioner. Nyckelbegrepp som ligger till grund för kompilatorns tillvägagångssätt och automatiserad generering av datakod utarbetas. Tillvägagångssättet demonstreras för en rad gemensamma problem, inklusive Poisson, biharmonic, advection-diffusion och Stokes ekvationer. Nyckelord. Variatiella former, icke-kontinuerliga Galerkin-metoder, finita element, formkompilator, kodgenerering. AMS-ämnesklassificeringar. Det är 65N30, 68N20. 1. Vad är det för fel på dig? Inledning. Diskontinuerliga Galerkinmetoder i rymden har framträtt som en generalisering av finita elementmetoder för att lösa en rad partiella differentialekvationer. Även historiskt används för första ordningens hyperboliska ekvationer, diskontinuerliga Galerkin metoder nu tillämpas på en rad hyperboliska, paraboliska och elliptiska problem. Förutom den vanliga integrationen över cellvolymer som kännetecknar den konventionella finita elementmetoden, innebär icke-kontinuerliga Galerkinmetoder också integrering av flödestermer över inre aspekter. Diskontinuerliga Galerkin metoder finns i många varianter, och kännetecknas i allmänhet av formen av flödet på fasetter. Ett prov av flöden för elliptiska problem finns i [4]. Vi presenterar här en kompilator metod för att generera datakod för diskontinuerliga Galerkin former. Från ett indataspråk på hög nivå som liknar konventionell matematisk notation genereras datorkod på låg nivå automatiskt. Den genererade koden kallas av en monteringsenhet för att konstruera globala glesa tensorer, vanligen känd som "siffnessmatrisen" och "lastvektorn". Kompilatorn erbjuder ett antal intressanta möjligheter. Det möjliggör snabb prototypering och testning av nya metoder samt ger utrymme för att producera optimerad kod. Den senare kan uppnås genom kompilatorn genom att man i förväg beräknar olika termer som traditionellt utvärderas i körtid, och genom att man använder förfaranden för att analysera strukturen på formulär som underlättar olika förhandsoptimeringar som kanske inte går att dra när man utvecklar datakod på ett konventionellt sätt. Dessutom är representationerna av element tensorer (elementstelhetsmatriser) för en viss variationsform inte begränsade till den vanliga kvadreringsslingan. För många former kan beräkningseffektivare representationer användas. I huvudsak möjliggör formkompilatorn en hög grad av allmängiltighet, samtidigt som den konkurrerar i fråga om prestanda med specialiserade, dedikerade koder, vilket kommer att utvecklas i detta arbete. Användningen av en formkompilator är särskilt attraktiv för blandade problem, där man kan vilja arbeta med en kombination av kontinuerlig och okontinuerlig funktion
FENICS REF-projektet definierar ett språk på hög nivå, UFL, för specifikationen av finita elementalgoritmer.
Automated code generation for discontinuous Galerkin methods
{'venue': 'SIAM J. Sci. Comput. 31(2), 2008, pp. 849-864', 'journal': None, 'mag_field_of_study': ['Mathematics', 'Computer Science']}