Modellering av forskningsprocessen och dess algoritmisering. Konstruktion av modelleringsalgoritmer: formalisering och algoritmisering av processer. Beskrivning av den matematiska modellen

MOSKVA TEKNOLOGISKA INSTITUTE
Datormodellering
Buzhinsky V.A. ktn
assisterande professor

Moskva
2014

Grundläggande begrepp för CM
Modell är ett artificiellt skapat föremål som reproducerar i ett visst
formen av ett verkligt föremål - originalet.
Datormodell - representation av information om systemet som modelleras
dator betyder.
Ett system är en uppsättning sammankopplade element som har egenskaper
skiljer sig från egenskaperna hos enskilda element.
Ett element är ett objekt som har egenskaper som är viktiga för modelleringsändamål.
I en datormodell representeras egenskaperna hos ett element av värdena för elementets egenskaper.
Relationen mellan element beskrivs med användning av i synnerhet kvantiteter och algoritmer
beräkningsformler.

För närvarande förstås en datormodell oftast som:
en konventionell bild av ett objekt eller något system av objekt (eller processer),
beskrivs med sammanlänkade datortabeller, flödesscheman,
diagram, grafer, ritningar, animationer, hypertexter m.m.
och visa strukturen och relationerna mellan elementen i objektet.
Vi kommer att kalla datormodeller av denna typ strukturellt funktionella;
separat program, uppsättning program, mjukvarupaket,
tillåter, med hjälp av en sekvens av beräkningar och grafiska
visa sina resultat reproducera (simulera) processer
ett objekts funktion, system av objekt, föremål för påverkan på objektet
olika (oftast slumpmässiga) faktorer. Vi kommer att använda sådana modeller vidare
kallade simuleringsmodeller.
Datormodellering är en metod för att lösa ett analysproblem eller
syntes av ett komplext system baserat på användningen av dess datormodell.
Kärnan i datormodellering ligger i att erhålla kvantitativa och
kvalitativa resultat från den befintliga modellen.

Ämne nr 1. Grundläggande begrepp för datormodellering.
Ämne nr 2. Konstruktion av modelleringsalgoritmer: formalisering och
algoritmisering av processer.
Ämne nr 3. Matematiska modellers universalitet.
Ämne nr 4. Matematiska modeller av komplexa system.
Ämne nr 5. Kontinuerligt-deterministiska, diskret-deterministiska, diskret-probabilistiska och kontinuerligt-probabilistiska modeller.

Webbseminarium nr 2
Konstruktion av modelleringsalgoritmer:
formalisering och algoritmisering av processer
1. Formalisering av modellen
2. Algoritmisering av processen

Under hela sin historia har mänskligheten använt olika
metoder och verktyg för att skapa informationsmodeller. Dessa metoder
ständigt förbättras. Ja, först informationsmodeller
skapades i form av hällmålningar. Information för närvarande
modeller är vanligtvis byggda och studerade med moderna
datorteknik.
När man studerar ett nytt föremål konstrueras det vanligtvis först
beskrivande informationsmodell med naturliga språk
och ritningar. En sådan modell kan visa objekt, processer och fenomen
kvalitativt, dvs utan att använda kvantitativa egenskaper. Till exempel,
Copernicus heliocentriska modell av världen i naturligt språk
formulerades enligt följande:
Jorden kretsar runt solen och månen kretsar runt jorden;
alla planeter kretsar runt solen.

Formella språk används för att bygga formella
informationsmodeller. Matematik är det mest utbredda
det formella språket som används. Använda matematiska
matematiska modeller byggs med hjälp av begrepp och formler.
Inom naturvetenskapen (fysik, kemi etc.) bygger man
formella modeller av fenomen och processer. Används ofta för detta
universellt matematiskt språk av algebraiska formler (för uppgift nr 3).
Men i vissa fall specialiserad
formella språk (i kemi - språket för kemiska formler, i musik - musiknotation
läskunnighet, etc.) (?).

1. elev fråga. Formalisering
modeller
Processen att bygga informationsmodeller med hjälp av
formella språk kallas formalisering.
I processen att studera formella modeller genomförs det ofta
deras visualisering. (?)
Flödesscheman används för att visualisera algoritmer,
rumsliga relationer mellan objekt - ritningar, modeller
elektriska kretsar - elektriska kretsar. När man visualiserar formella
modeller som använder animation kan visa dynamiken i processen,
grafer över förändringar i värden etc. konstrueras.
För närvarande utbredd
datorinteraktiva visuella modeller. I sådana modeller forskaren
kan ändra de initiala förutsättningarna och parametrarna för processer och observera
förändringar i modellens beteende.

Det första steget i någon forskning är formuleringen av ett problem som
bestäms av ett givet mål.
Problemet är formulerat i vanligt språk. Genom produktionens natur allt
uppgifter kan delas in i två huvudgrupper. Till den första gruppen kan du
omfatta uppgifter där det är nödvändigt att undersöka hur förändringar
egenskaper hos ett föremål under viss påverkan på det, "vad kommer att hända,
Om?…". Den andra gruppen av uppgifter: vilken påverkan bör göras på
objekt så att dess parametrar uppfyller vissa givna
villkor, "hur gör man det?...".
Det andra steget är objektanalys. Resultatet av objektanalys är dess identifiering
komponenter (elementära objekt) och bestämma sambanden mellan dem.
Det tredje steget är utvecklingen av en informationsmodell av objektet. Konstruktion
Modellen ska relateras till syftet med simuleringen. Varje objekt har
ett stort antal olika fastigheter. Håller på att bygga modellen
belyser de viktigaste, viktigaste egenskaperna som
passar syftet
Allt som nämnts ovan är formalisering, dvs ersättning
av ett verkligt föremål eller process genom dess formella beskrivning, dvs. hans
informationsmodell.

10.

Efter att ha byggt en informationsmodell använder en person den istället
originalobjekt för att studera egenskaperna hos detta objekt, förutsäga
hans beteende, etc. Innan du bygger någon komplex struktur,
till exempel en bro, designers gör dess ritningar och utför beräkningar
styrka, tillåtna belastningar. Alltså istället för en riktig bro
de behandlar dess modellbeskrivning i form av ritningar,
matematiska formler.
Formalisering är en process
urval och översättning
inre struktur av ett objekt i
viss information
struktur - form.

11.

12.

Beroende på graden av formalisering delas informationsmodeller in i
figurativt-tecken och symboliskt.
Ikoniska modeller kan delas in i följande grupper:
matematiska modeller representerade av matematiska formler,
visar förhållandet mellan olika parametrar för ett objekt, system eller
bearbeta;
specialmodeller presenterade på speciella språk (noter,
kemiska formler etc.);
algoritmiska modeller som representerar en process i form av ett program,
skriven på ett speciellt språk.

13.

Sekvens av kommandon för att styra objektet,
vars genomförande leder till uppnåendet av ett förutbestämt
mål kallas en kontrollalgoritm.
Ursprunget till begreppet "algoritm".
Ordet "algoritm" kommer från namnet matematiker
medeltida öster Muhammad al-Khwarizmi (787-850). De var
metoder för att utföra aritmetiska beräkningar med
flersiffriga nummer. Senare i Europa kallades dessa tekniker
algoritmer, från den latinska stavningen av namnet al-Khwarizmi. I vår tid
begreppet en algoritm är inte begränsat till aritmetik
beräkningar.

14.

En algoritm är en tydlig och exakt instruktion att utföra
en viss sekvens av handlingar,
syftar till att uppnå ett angivet mål eller
lösa problemet.
Algoritm som tillämpas på datoranvändning
maskin - en exakt instruktion, det vill säga en uppsättning operationer och
regler för deras växling, med vars hjälp börjar
med lite inledande data kan du lösa alla
problem av fast typ.

15.

Egenskaper för algoritmer:
Diskrethet - algoritmen måste delas in i steg (separata
genomförda åtgärder).
Visshet – den utövande ska inte ha
oklarheter i att förstå stegen i algoritmen (utövaren gör det inte
måste fatta självständiga beslut).
Effektivitet (finitet) - algoritmen ska leda till
slutresultatet i ett begränsat antal steg.
Förståbarhet – algoritmen måste vara begriplig för utföraren.
Effektivitet - från de möjliga algoritmerna, den valda
en algoritm som innehåller färre steg eller som tar kortare tid att slutföra
kräver mindre tid.

16.

Typer av algoritmer
Typer av algoritmer som logiskt-matematiska verktyg i
beroende på målet, initiala förutsättningar för problemet, sätt att lösa det,
definitioner av utövarens handlingar är uppdelade enligt följande
sätt:
mekaniska algoritmer, annars deterministiska;
flexibla algoritmer, i övrigt probabilistiska och heuristiska.
En mekanisk algoritm specificerar vissa åtgärder,
utse dem i en unik och pålitlig sekvens,
därigenom tillhandahålla ett entydigt begärt eller eftersträvat
resultat om dessa process- eller uppgiftsvillkor är uppfyllda
som algoritmen utvecklades.
En heuristisk algoritm är en algoritm där
att uppnå det slutliga resultatet av åtgärdsprogrammet är det definitivt inte
förutbestämd, precis som hela sekvensen inte anges
artistens handlingar. Dessa algoritmer använder
universella logiska procedurer och metoder för beslutsfattande,
utifrån analogier, associationer och erfarenheter, lösningar på liknande
uppgifter.

17.

I processen för algoritmisering är den ursprungliga algoritmen uppdelad i separata
relaterade delar som kallas steg, eller partiella algoritmer.
Det finns fyra huvudtyper av privata algoritmer:
linjär algoritm;
grenalgoritm;
cyklisk algoritm;
hjälp- eller underordnad algoritm.
Linjär algoritm - en uppsättning instruktioner som exekveras
sekventiellt en efter en i tiden.
En grenalgoritm är en algoritm som innehåller minst en
skick, som ett resultat av att kontrollera vilken datorn ger en övergång till
ett av två möjliga steg.
Cyklisk algoritm - en algoritm som involverar upprepningar
samma åtgärd på nya initiala data. Nödvändig
Observera att den cykliska algoritmen enkelt implementeras med två
tidigare diskuterade typer av algoritmer.
Hjälp- eller underordnad algoritm - en tidigare algoritm
utvecklat och helt och hållet används i algoritmiseringen av en specifik
uppgifter.

18.

I alla stadier av förberedelserna för algoritmisering av ett problem används det flitigt
strukturell representation av algoritmen i form av blockdiagram.
Blockdiagram - grafisk bild algoritm i form av ett diagram
block av grafiska symboler kopplade till varandra med hjälp av pilar (övergångslinjer), som var och en motsvarar ett steg
algoritm. Inuti blocket finns en beskrivning av de åtgärder som utförs i det.

19.

Sätt att beskriva algoritmer
Välja verktyg och metoder för att skriva en algoritm
beror främst på syftet (naturen) av
algoritm, samt vem (vad) som ska
exekutor av algoritmen.
Algoritmerna skrivs som:
verbala regler
blockdiagram,
program.

20.

Det verbala sättet att beskriva algoritmer är i huvudsak vanligt språk, men
med ett noggrant urval av ord och fraser som inte tillåter onödiga ord,
tvetydighet och upprepning. Språket kompletteras med vanlig matematisk
notationer och några speciella konventioner.
Algoritmen beskrivs som en sekvens av steg. Varje steg på vägen
sammansättningen av de åtgärder som ska utföras och riktningen för vidare
beräkningar. Dessutom, om det aktuella steget inte anger vilket steg som ska
exekveras nästa, sedan utförs övergången till nästa steg.
Exempel. Skapa en algoritm för att hitta det största antalet av tre givna
siffrorna a, b, c.
Jämför a och b. Om a>b, ta då a som maximalt t, annars (a<=b) в
ta b som maximum.
Jämför t och c. Om t>c, gå till steg 3. Annars (t maximalt c (t=c).
Ta t som resultat.
Nackdelar med det verbala sättet att beskriva algoritmer:
bristande synlighet,
otillräcklig noggrannhet.

21.

Grafisk beskrivningsmetod
algoritmer är vägen
presentation av algoritmen med
använder allmänt accepterade
grafiska figurer, var och en av
vilken eller
flera steg i algoritmen.
Inuti blocket står skrivet
beskrivning av kommandon eller villkor.
Att indikera
exekveringssekvenser
block använder kommunikationslinjer
(anslutningsledningar).
Det finns vissa
regler för att beskriva algoritmer i
i form av blockdiagram. (?)

22.

Beskrivning av algoritmer med hjälp av program - en algoritm skriven på
programmeringsspråk kallas ett program.
Verbala och grafiska former för inspelning av algoritmen är avsedda för
person. En algoritm designad för att köras på en dator
skrivet på ett programmeringsspråk (ett språk som en dator förstår). Nu
Flera hundra programmeringsspråk är kända. Mest populär:
C, Pascal, BASIC, etc.
Exempel. Skapa en algoritm för att hitta det största antalet av tre
givna siffrorna a, b, c.
programmet MaxFromThree;
var
a, b, c, resultat: Real;
Börja
Write("Ange a, b, c");
LäsLn(a, b, c);
om a>b då result:= a else result:= b;
om c>resultat då resultat:= c;
WriteLn("Maximalt av tre siffror är:", resultat:9:2)
slutet.
(?)

23.

Exempel 1
Givet en endimensionell matris, beräkna det aritmetiska medelvärdet. (?)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Lösningen på problemet
Programtest;
Var i,summ:Integer;
array: array av heltal;
Börja
summa:=0;
för i:=1 till 5 do
Börja
Write("Ange arrayelement: ");
ReadLn(array[i]);
summa:=summ+massiv[i];
slutet;
Write("det aritmetiska medelvärdet av matrisen är: ", summa/5);
WriteLn;
Slutet.
(?)

24.

Exempel 2
Konstruera en algoritm för processen att kasta en kropp i en vinkel mot horisontalplanet
(?)

25.

V.V. Vasiliev, L.A. Simak, A.M. Rybnikov. Matematisk och
datormodellering av processer och system i miljön
MATLAB/SIMULINK. Lärobok för studenter och doktorander. 2008
år. 91 sid.
Datorsimulering av fysiska problem i
Microsoft Visual Basic. Lärobok Författare: Alekseev D.V.
SOLON-PRESS, 2009
Författare: Orlova I.V., Polovnikov V.A.
Förlag: Universitetets lärobok
År: 2008

26.

Anfilatov, V. S. Systemanalys i förvaltning [Text]: lärobok / V. S.
Anfilatov, A. A. Emelyanov, A. A. Kukushkin; redigerad av A. A. Emelyanova. – M.:
Finans och statistik, 2002. – 368 sid.
Venikov, V.A.. Teori om likhet och modellering [Text] / V.A. Venikov, G.V.
Venikov. - M.: Högre skola, 1984. - 439 sid.
Evsyukov, V. N. Analys automatiska system[Text]: pedagogisk och metodologisk
guide för implementering praktiska uppgifter/ V. N. Evsyukov, A. M. Chernousova. –
2:a uppl., spanska – Orenburg: IPK GOU OSU, 2007. - 179 s.
Zarubin, V. S. Matematisk modellering i teknik [Text]: lärobok. för universitet/
Ed. V.S. Zarubina, A.P. Krischenko. - M.: MSTUs förlag uppkallat efter N.E. Bauman, 2001. –
496 sid.
Kolesov, Yu. B. Modellering av system. Dynamiska och hybridsystem [Text]:
uch. ersättning / Yu.B. Kolesov, Yu.B. Senichenkov. - St. Petersburg. : BHV-Petersburg, 2006. - 224 sid.
Kolesov, Yu.B. Systemmodellering. Objektorienterat tillvägagångssätt [Text]:
Usch. ersättning / Yu.B. Kolesov, Yu.B. Senichenkov. - St. Petersburg. : BHV-Petersburg, 2006. - 192 sid.
Norenkov, I. P. Fundamentals of computer-aided design [Text]: lärobok för
universitet / I. P. Norenkov. – M.: Förlag av MSTU im. N.E. Bauman, 2000. – 360 sid.
Skurikhin, V.I. Matematisk modellering [Text] / V. I. Skurikhin, V. V.
Shifrin, V.V. Dubrovsky. - K.: Teknik, 1983. – 270 sid.
Chernousova, A.M. programvara automatiserade system
design och ledning: handledning[Text] / A. M. Chernousova, V.
N. Sherstobitova. - Orenburg: OSU, 2006. - 301 sid.

För att modellera ett objekt som specificeras med hjälp av en matematisk modell, såväl som i form av en sekvens av procedurer som simulerar individuella elementära processer, är det nödvändigt att konstruera en lämplig modelleringsalgoritm. Strukturen för ett beräkningsprogram som sammanställts i förhållande till typen av dator beror på typen av algoritm och datorns egenskaper. Modelleringsalgoritmen måste skrivas i en form som i första hand skulle återspegla funktionerna i dess konstruktion utan onödiga mindre detaljer.

Skapandet av en modelleringsalgoritm är ett forskningsstadium när alla frågor om att välja en matematisk apparat för forskning redan har lösts.

Det är nödvändigt att spela in algoritmen oavsett datorns egenskaper. Sätten att presentera en modelleringsalgoritm är följande: skriva algoritmer med hjälp av operatordiagram; inspelning på programmeringsspråk; användning av metoder för tillämpningsprogram.

I relation till simuleringsmodellering kallas detta: operatörsdiagram av modelleringsalgoritmer (OSMA); programmeringsspråk; universella simuleringsmodeller.

OSMA innehåller en sekvens av operatörer, som var och en representerar en ganska stor grupp av elementära operationer. Den här posten innehåller inga detaljerade beräkningsscheman, utan speglar snarare helt den logiska strukturen hos modelleringsalgoritmen. OSMA tar inte hänsyn till kommandosystemets detaljer. Detta händer när programmet byggs.

Krav på operatörer: operatören måste ha en tydlig innebörd relaterad till arten av den process som modelleras; vilken operator som helst kan uttryckas som en sekvens av elementära operationer.

Operatörerna som utgör modelleringsalgoritmen är indelade i huvud, hjälp och tjänst.

Huvudoperatörerna inkluderar operatörer som används för att simulera individuella elementära handlingar i processen som studeras och interaktionen mellan dem. De implementerar relationerna i den matematiska modellen som beskriver funktionsprocesserna för verkliga delar av systemet, med hänsyn till påverkan från den yttre miljön.

Hjälpoperatörer är inte avsedda att simulera elementära handlingar i en process. De beräknar de parametrar och egenskaper som är nödvändiga för huvudoperatörernas arbete.

Tjänsteoperatörer är inte bundna av den matematiska modellens relationer. De säkerställer interaktionen mellan huvud- och hjälpoperatörer, synkroniserar driften av algoritmen, registrerar värdena som är resultatet av simuleringen, samt bearbetar dem.

När man konstruerar en modelleringsalgoritm skisseras först huvudoperatörerna för att simulera funktionsprocesserna för enskilda element i systemet. De måste kopplas till varandra i enlighet med det formaliserade schemat för den process som studeras. Efter att ha bestämt vilka operatörer som är nödvändiga för att säkerställa driften av huvudoperatörerna, introduceras extra operatörer i operatörsdiagrammet för att beräkna värdena för dessa parametrar.

Grundläggande och hjälpoperatorer måste täcka alla relationer i den matematiska modellen, som utgör huvuddelen av modelleringsalgoritmen. Sedan introduceras tjänsteoperatörerna. Dynamiken i det undersökta systemets funktion beaktas och interaktionen mellan de olika faserna av processen beaktas, och inhämtningen av information under modellering analyseras.

För att skildra operatordiagrammet för modelleringsalgoritmer är det bekvämt att använda aritmetiska och logiska operatorer.

Aritmetiska operatorer utför operationer relaterade till beräkningar. Betecknas med A14 - aritmetisk operator nr 14.

Egenskapen hos en aritmetisk operator är att efter att ha utfört operationerna som den avbildar överförs handlingen till en annan operator. - överföring av kontroll från A14 till A16 (grafiskt markerad med en pil).

Logiska operatörer är utformade för att kontrollera giltigheten av specificerade villkor och utveckla tecken som indikerar resultatet av kontrollen.

Egenskapen för en logisk operatör är att efter dess implementering överförs kontrollen till en av de två operatörerna av algoritmen, beroende på värdet på attributet som genereras av den logiska operatören. Det betecknas som Pi, och grafiskt som en cirkel eller romb, inuti vilken villkoret är symboliskt skrivet.

Bild på kontrollöverföring - P352212. Om villkoret är uppfyllt överförs kontrollen till operatör nr 22, om inte så till operatör nr 12.

För operatörer av alla klasser utelämnas beteckningen överföring av kontroll till operatören omedelbart efter honom.

Överföring av kontroll till denna operatör från andra operatörer är det betecknat 16.14A18. Operatör A18 får kontroll från operatörerna nr 16 och nr 14..

Notationen för operatorn som indikerar slutet av beräkningarna är I.

Exempel. Betrakta lösningen till ekvationen x2+px+q= 0,

Låt oss presentera operatörerna:

A1 -- beräkning p/2;

A2 -- beräkning p2/4-q;

A3-- beräkning;

P4 -- kontrollera tillstånd D0;

A5 -- bestämning av reella rötter x12=-(р/2)R;

A6 -- bestämning av imaginära rötter x12=-(р/2)jR;

I - slutet av beräkningar och utdata (x1,x2).

Operatörsdiagram av algoritmen

A1 A2 A3 P46 A57 A6, 5Я7.

Algoritmens operatörsdiagram kan ersättas med en ritning av algoritmen, vars utseende visas i fig. 4.1.

Operatörsdiagram av algoritmer låter dig gå från en schematisk representation av en algoritm till dess registrering i form av en formel.

Du kan överväga andra exempel på att konstruera operatorscheman för modellering av algoritmer.

Som självständig uppgift Det föreslås att man utvecklar operatorscheman för att modellera algoritmer för att erhålla slumpvariabler med hjälp av metoden för inversa funktioner, metoden för stegvis approximation, för att erhålla normalfördelningslagen med användning av gränssatser.

De viktigaste typerna av operatörer är följande. Beräkningsoperatorer(räkneoperatorer) beskriver en godtyckligt komplex och besvärlig grupp av operatörer om den uppfyller kraven för algoritmoperatörer (förberedelse för källdata, överföring av kontroll till endast en operatör i modelleringsalgoritmens operatörsscheman). Betecknas med Ai.

Operatörer för att generera implementeringar av slumpmässiga processer löser transformationsproblemet slumpmässiga siffror standardform vid implementering av slumpmässiga processer med givna egenskaper. Betecknas med i.

Operatörer för bildandet av icke-slumpmässiga kvantiteter bildar olika konstanter och icke-slumpmässiga funktioner av tid. Betecknas med Fi.

Räknare räknar mängden av olika objekt som har specificerade egenskaper. De betecknas Ki.

    formalisering och algoritmisering av system fungerande processer.

Metodik för utveckling och maskinimplementering av systemmodeller. Konstruktion av konceptuella modeller av system och deras formalisering. Algoritmisering av systemmodeller och deras maskinimplementering. Erhålla och tolka resultat av systemmodellering.

Metodik för utveckling och maskinimplementering av systemmodeller.

Modellering med hjälp av datorteknik (datorer, AVM, GVK) låter dig studera mekanismen för fenomen som uppstår i ett verkligt objekt vid höga eller låga hastigheter, när det är svårt att utföra fullskaliga experiment med ett objekt

(eller omöjligt) att spåra förändringar som inträffar

under en kort tid, eller när det krävs ett långt experiment för att få tillförlitliga resultat.

Kärnan i maskinmodellering av ett system är att utföra ett experiment på en dator med en modell, vilket är ett visst mjukvarukomplex som formellt och (eller) algoritmiskt beskriver beteendet hos systemelement S i processen för dess funktion, det vill säga i deras interaktion med varandra och den yttre miljön E.

Användarkrav för modellen. Låt oss formulera de grundläggande kraven för modellen M S.

1. Modellens fullständighet bör ge användaren möjlighet

erhållande av den erforderliga uppsättningen av uppskattningar av egenskaper

system med erforderlig noggrannhet och tillförlitlighet.

2. Modellens flexibilitet bör möjliggöra reproduktion

olika situationer när man varierar strukturen, algoritmer

och systemparametrar.

3. Varaktighet för utveckling och implementering av en stor systemmodell

bör vara så minimal som möjligt, med hänsyn till restriktioner

med tillgängliga resurser.

4. Modellens struktur bör vara blockbaserad, d.v.s. tillåta

möjlighet att ersätta, lägga till och exkludera vissa delar

utan att omarbeta hela modellen.

5. Informationsstöd ska ge möjlighet

effektiv drift av modellen med en databas av system av en viss

6. Programvara och hårdvara måste tillhandahålla effektiv (i termer av hastighet och minne) maskinimplementering

modeller och bekväm kommunikation med den av användaren.

7. Riktade aktiviteter måste genomföras

(planerade) maskinexperiment med en systemmodell med hjälp av

analytisk simuleringsmetod i närvaro av begränsade datorresurser.

När man simulerar ett system

S egenskaperna hos dess funktionsprocess bestäms

modellbaserad M, byggd utifrån den befintliga initialen

information om modelleringsobjektet. När du får ny information

om objektet revideras och förtydligas dess modell

med hänsyn till ny information.

Datormodellering av system kan användas

i följande fall: a) att studera systemet S innan det utformas, för att bestämma känsligheten hos egenskapen för förändringar i strukturen, algoritmerna och parametrarna för modelleringsobjektet och den yttre miljön; b) vid systemdesignstadiet S för analys och syntes av olika systemalternativ och urval bland konkurrerande alternativ som skulle uppfylla ett givet kriterium för att bedöma systemets effektivitet under accepterade begränsningar; c) efter slutförandet av designen och implementeringen av systemet, d.v.s. under dess drift, för att få information som kompletterar resultaten av fullskaliga tester (drift) av det verkliga systemet, och för att få prognoser för utvecklingen (utvecklingen) av systemet systemet över tid.

Systemmodelleringsstadier:

    bygga en konceptuell modell av systemet och dess formalisering;

    algoritmisering av systemmodellen och dess maskinimplementering;

    erhålla och tolka systemsimuleringsresultat.

Låt oss lista dessa understeg:

1.1-uttalande av problemet med maskinmodellering av systemet (mål, uppgifter för systemet som skapas, a) erkännande av problemets existens och behovet av maskinmodellering;

b) välja en metod för att lösa ett problem, med hänsyn till tillgängliga resurser; c) bestämma uppgiftens omfattning och möjligheten att dela upp den i deluppgifter.);

1.2 - analys av systemmodelleringsproblemet (val av utvärderingskriterier, urval av endogena och exogena variabler, val av metoder, utförande av preliminära analyser av 2:a och 3:e etappen);

1.3 - fastställande av krav på initial information om modelleringsobjektet

och organisation av dess insamling (genomfört: a) urval av nödvändig information om systemet S och yttre miljö E; b) beredning av a priori-data. c) analys av tillgängliga experimentella data; d) val av metoder och medel för preliminär bearbetning av information om systemet;

1.4 - lägga fram hypoteser och göra antaganden (om systemets funktion, om de processer som studeras);

1.5 - bestämning av modellparametrar och variabler (indatavariabler, utdatavariabler, modellparametrar, etc.);

1.6 - fastställa huvudinnehållet i modellen (struktur, algoritmer för dess beteende);

1.7 - motivering av kriterier för bedömning av systemets effektivitet;

1.8 - definition av tillnärmningsförfaranden;

1.9 - beskrivning av systemets konceptuella modell (a) den konceptuella modellen beskrivs i abstrakta termer och begrepp; b) en beskrivning av modellen ges med hjälp av matematiska standardscheman; c) hypoteser och antaganden accepteras slutligen; d) valet av förfarande för att approximera verkliga processer vid konstruktion är motiverat

1.10 - kontrollera tillförlitligheten hos den konceptuella modellen;

1.11 - förberedelse av teknisk dokumentation för det första steget (a) detaljerad redogörelse för problemet med systemmodellering S; b) analys av systemmodelleringsproblemet; c) Kriterier för bedömning av systemets effektivitet. d) parametrar och variabler för systemmodellen; e) hypoteser och antaganden som använts vid konstruktionen av modellen; f) beskrivning av modellen i abstrakta termer och begrepp; g) Beskrivning av förväntade resultat av systemmodellering S.);

2.1 - konstruktion logisk krets modeller (bygga ett systemdiagram, till exempel med hjälp av en blockprincip med alla funktionsblock);

2.2 - erhålla matematiska samband (ställa in alla funktioner som beskriver systemet);

2.3 - kontrollera tillförlitligheten hos systemmodellen; (markerad: a) möjlighet

lösa problemet; b) noggrannhet av reflektion av planen i logisk

schema; c) fullständighet av modellens logiska diagram; d) riktighet

matematiska relationer som används)

2.4 - val av verktyg för modellering (det slutliga valet av en dator, AVM eller GVM för modelleringsprocessen, med hänsyn till att de kommer att vara tillgängliga och snabbt ge resultat);

2.5 - att utarbeta en plan för att utföra programmeringsarbete (definiera uppgifter och deadlines för deras genomförande, a) att välja ett programmeringsspråk (system) för modellen beaktas också; b) Uppgift om vilken typ av dator och utrustning som krävs för modellering; c) bedömning av den ungefärliga mängden erforderligt RAM och externt minne; d) uppskattade datortidskostnader för modellering; e) den uppskattade tiden som spenderas på programmering och felsökning av programmet på en dator.);

2.6 - specifikation och konstruktion av ett programdiagram (att upprätta ett logiskt blockschema),

2.7 - verifiering och verifiering av programschemats tillförlitlighet (Programverifiering - bevis på att programmets beteende överensstämmer med specifikationen för programmet);

2.8 - programmering av modellen;

2.9 - kontroll av programmets tillförlitlighet (måste utföras: a) genom att överföra programmet tillbaka till den ursprungliga kretsen; b) testa enskilda delar av programmet vid lösning av olika testproblem; c) kombinera alla delar av programmet och testa det som helhet på ett testexempel på modellering av en variant av systemet S) ;

2.10 - förberedelse av teknisk dokumentation för det andra steget (a) logiskt diagram över modellen och dess beskrivning; b) ett adekvat programdiagram och godkänd notation; c) programmets fullständiga text; d) förteckning över ingående och utgående kvantiteter med förklaringar; e) instruktioner för att arbeta med programmet; f) bedömning av datortidskostnader för modellering, med angivande av de datorresurser som krävs).

3.1 - beklädnad av ett maskinexperiment med en systemmodell (en experimentplan med initiala parametrar och alla villkor upprättas, simuleringstiden bestäms);

3.2 - fastställande av krav på datorfaciliteter (vilken typ av datorer behövs och hur länge de kommer att fungera);

3.3 - utföra arbetsberäkningar (inkluderar vanligtvis: a) förbereda uppsättningar av initiala data för inmatning i en dator; b) kontroll av källdata förberedda för inmatning; c) utföra beräkningar på en dator; d) erhållande av utdata, dvs simuleringsresultat.);

3.4 - analys av systemmodelleringsresultat (analys av systemutgångsdata och deras vidare bearbetning);

3.5 - presentation av modelleringsresultat (olika visuella representationer i form av grafer, tabeller, diagram);

3.6 - tolkning av modelleringsresultat (övergång från information erhållen som ett resultat av ett maskinexperiment med en modell till ett verkligt system);

3.7 - summera modelleringsresultaten och utfärda rekommendationer (huvudresultaten bestäms, hypoteserna testas);

3.8 - förberedelse av teknisk dokumentation för det tredje steget (a) plan för att genomföra ett maskinexperiment; b) uppsättningar av initiala data för modellering; c) Resultat av systemmodellering; d) Analys och utvärdering av modelleringsresultat; e) slutsatser baserade på de erhållna modelleringsresultaten; anger sätt att ytterligare förbättra maskinmodellen och möjliga användningsområden).

Således systemmodelleringsprocessen S kokar ner till genomförandet av de listade delstadierna, grupperade i form av tre steg.

I stadiet för att konstruera en konceptuell modell Mx och dess formalisering, en studie av det modellerade objektet utförs ur synvinkeln att identifiera huvudkomponenterna i processen för dess funktion, de nödvändiga approximationerna bestäms och ett generaliserat diagram av systemmodellen erhålls S, som omvandlas till en maskinmodell Mm vid det andra steget av modellering genom sekventiell algoritmisering och programmering av modellen.

Det sista tredje steget av modellering av systemet handlar om att utföra arbetsberäkningar på en dator enligt den mottagna planen med användning av vald mjukvara och hårdvara, erhålla och tolka resultaten av modellering av systemet S, med hänsyn till påverkan från den yttre miljön E.

Konstruktion av konceptuella modeller av system och deras formalisering.

I det första steget av maskinmodellering - konstruktion konceptuell modell Mx system S och dess formalisering - formulerat modell och dess formella schema byggs, d.v.s. den huvudsakliga syftet med detta steg är övergången från en meningsfull beskrivning

invända mot dess matematiska modell, med andra ord formaliseringsprocessen.

Det är mest rationellt att bygga en modell av systemets funktion enligt blockprincipen.

I detta fall kan tre autonoma grupper av block av en sådan modell särskiljas. Blocken i den första gruppen representerar en simulator av miljöpåverkan E till system 5; Blocken i den andra gruppen är den faktiska modellen för hur det system som studeras fungerar S; block av den tredje gruppen - hjälpmedel

och tjäna för maskinimplementering av block av de två första grupperna, såväl som för registrering och bearbetning av simuleringsresultat.

Konceptuell modell - underprocesser av systemet visas, processer som inte kan beaktas tas bort från blocksystemet (de påverkar inte driften av modellen).

Läs mer om ritningen. Övergången från en beskrivning av ett system till dess modell i denna tolkning handlar om att utesluta några mindre delar av beskrivningen (element

j_ 8,39 - 41,43 - 47). Det antas att de inte har någon betydande inverkan på förloppet av processer som studeras med hjälp av

modeller. En del av elementen (14,15, 28, 29, 42) ersättas av passiva anslutningar h,återspeglar systemets interna egenskaper (fig. 3.2, b). Några av elementen (1 - 4. 10. 11, 24L 25)- ersättas av insatsfaktorer X och miljöpåverkan v – Kombinerade ersättningar är också möjliga: element 9, 18, 19, 32, 33 ersatt av passiv anslutning A2 och miljöpåverkan E.

Element 22,23.36.37 spegla systemets inverkan på den yttre miljön y.

Matematiska modeller av processer. Efter att ha flyttat från beskrivning

modellerat system S till hennes modell Mv byggd enligt block

princip är det nödvändigt att bygga matematiska modeller av processer,

förekommer i olika block. Matematisk modell

representerar en uppsättning relationer (till exempel ekvationer,

logiska förhållanden, operatörer) definierande egenskaper

processen för systemets funktion S beroende på

systemstruktur, beteendealgoritmer, systemparametrar,

miljöpåverkan E, initiala förhållanden och tid.

Algoritmisering av systemmodeller och deras maskinimplementering.

I det andra steget av modellering - steget för modellalgoritmering

och dess maskinimplementering - en matematisk modell bildad

i det första steget, förkroppsligad i en specifik maskin

modell. Praktisk implementering av systemet.

Konstruktion av modelleringsalgoritmer.

Systemdriftprocess S kan betraktas som en sekventiell förändring av dess tillstånd z=z(zl(t), z2(t),..., zk(t)) i k-dimensionellt utrymme. Uppenbarligen är uppgiften att modellera processen för att fungera hos systemet som studeras Sär konstruktionen av funktioner z, på grundval av vilken det är möjligt att göra ränteberäkningar

egenskaper hos systemets fungerande process.

För att göra detta måste sambanden mellan funktionerna beskrivas z (tillstånd) med variabler, parametrar och tid, samt initiala förhållanden.

Den övervägda principen för att konstruera modelleringsalgoritmer kallas princip Kl. Detta är den mest universella principen som gör att vi kan bestämma de sekventiella tillstånden i systemets funktionsprocess S med angivna intervall

På. Men ur datortidskostnadssynpunkt visar det sig ibland vara oekonomiskt.

När man överväger funktionsprocesserna för vissa system kan man finna att de kännetecknas av två typer av tillstånd:

1) speciell, inneboende i processen att fungera endast i systemet

vid vissa tidpunkter (ögonblick av inmatning

eller kontrollåtgärder, miljöstörningar, etc.);

2) icke-singular, där processen är belägen resten av tiden.

Specialtillstånd kännetecknas också av att funktionerna för tillstånden zi(t) och tidsmoment förändras abrupt, och mellan specialtillstånd sker förändringen av koordinaterna zi(t) jämnt och kontinuerligt eller inte alls. Så

Följer alltså vid modellering av systemet S endast från dess speciella tillstånd vid de tidpunkter då dessa tillstånd inträffar kan man få den information som behövs för att konstruera funktioner z(t). Uppenbarligen, för den beskrivna typen av system, kan modelleringsalgoritmer konstrueras med hjälp av "principen för speciella tillstånd." Låt oss beteckna den hoppliknande (relä) förändringen av tillstånd z Hur bz, och "principen om speciella stater" - som princip bz.

Till exempel för ett kösystem (Q-scheman) som speciella tillstånd kan tillstånd väljas vid tidpunkten för mottagande av förfrågningar om service i enhet P och vid tidpunkter för avslutande av service av förfrågningar av kanaler TILL, när systemets tillstånd,

uppskattas av antalet ansökningar som den innehåller, ändras abrupt.

En bekväm form för att representera den logiska strukturen hos modeller av processer för system och datorprogram är ett diagram. I olika skeden av modelleringen sammanställs generaliserade och detaljerade logiska diagram av modelleringsalgoritmer, såväl som programdiagram.

Generaliserat (förstorat) diagram av modelleringsalgoritmen specificerar det allmänna förfarandet för modellering av ett system utan några ytterligare detaljer. Det generaliserade diagrammet visar vad som behöver göras vid nästa modelleringssteg, till exempel att komma åt slumptalssensorn.

Detaljerat diagram över modelleringsalgoritmen innehåller förtydliganden som saknas i det allmänna schemat. Ett detaljerat diagram visar inte bara vad som bör göras i nästa steg av systemmodellering, utan också hur man gör det.

Logiskt diagram över modelleringsalgoritmen representerar den logiska strukturen hos den systemfungerande processmodellen S. Ett logikdiagram specificerar en tidsordnad sekvens av logiska operationer associerade med att lösa ett modelleringsproblem.

Programöversikt visar ordningen för mjukvaruimplementering av modelleringsalgoritmen med användning av specifik matematisk programvara. Ett programdiagram är en tolkning av det logiska diagrammet för en modelleringsalgoritm av en programutvecklare baserat på ett specifikt algoritmiskt språk.

Erhålla och tolka resultat av systemmodellering.

I det tredje steget av modellering - steget att erhålla och tolka modelleringsresultat - används datorn för att utföra arbetsberäkningar med hjälp av ett kompilerat och felsökt program.

Resultaten av dessa beräkningar tillåter oss att analysera och formulera slutsatser om egenskaperna hos det simulerade systemets funktionsprocess S.

Under ett maskinexperiment studeras beteendet hos modellen som studeras. M processen för systemets funktion S vid ett givet tidsintervall.

Ofta används enklare utvärderingskriterier, till exempel sannolikheten för ett visst tillstånd i systemet vid en given tidpunkt t*, frånvaro av fel och fel i systemet över intervallet etc. Vid tolkning av simuleringsresultaten beräknas olika statistiska egenskaper som behöver beräknas.

Sovetov B.Ya., Yakovlev S.A.

Systemmodellering. 4:e uppl. – M.: Högre skola, 2005. – S. 84-106.

Det andra steget av modellering är steget av modellalgoritmering och dess maskinimplementering. Detta steg är ett steg som syftar till att implementera idéer och matematiska scheman i form av en maskinmodell M system fungerande process S.

Systemdriftprocess S kan betraktas som en sekventiell förändring av dess tillstånd i det k-dimensionella rummet. Uppgiften att modellera hur det system som studeras fungerar Sär konstruktionen av funktioner z, på grundval av vilken det är möjligt att beräkna egenskaperna av intresse i processen för systemets funktion. Detta kräver relationer som kopplar ihop funktionerna z med variabler, parametrar och tid, samt initiala förhållanden vid tidpunkten t=t 0 .

Det finns två typer av systemtillstånd:

  • 1) speciell, inneboende i processen för att systemet fungerar endast vid vissa tidpunkter;
  • 2) icke-singular, där processen är belägen resten av tiden. I detta fall tillståndsfunktionen z i (t) kan ändras abrupt, och mellan speciella - smidigt.

Modelleringsalgoritmer kan byggas enligt "principen om speciella tillstånd". Låt oss beteckna den hoppliknande (relä) förändringen av tillstånd z Hur z, och "principen om speciella stater" - som princip z.

« Princip z" gör det möjligt för ett antal system att avsevärt minska kostnaden för datortid för implementering av modelleringsalgoritmer. matematisk modellering modell statistisk

En bekväm form för att representera den logiska strukturen hos modeller av processer för system och datorprogram är ett diagram. I olika stadier av modellering sammanställs följande scheman för modelleringsalgoritmer och -program:

Generaliserat (förstorat) diagram av modelleringsalgoritmen specificerar det allmänna förfarandet för modellering av ett system utan några ytterligare detaljer.

Detaljerat diagram över modelleringsalgoritmen innehåller förtydliganden som saknas i det allmänna schemat.

Logiskt diagram över modelleringsalgoritmen representerar den logiska strukturen hos den systemfungerande processmodellen S.

Programöversikt visar ordningen för mjukvaruimplementering av modelleringsalgoritmen med användning av specifik matematisk programvara. Ett programdiagram är en tolkning av det logiska diagrammet för en modelleringsalgoritm av en programutvecklare baserat på ett specifikt algoritmiskt språk.

Stadier av algoritmisering av modellen och dess maskinimplementering:

  • 1. Konstruktion av ett logiskt diagram över modellen.
  • 2. Att erhålla matematiska samband.
  • 3. Kontroll av tillförlitligheten hos systemmodellen.
  • 4. Val av verktyg för modellering.
  • 5. Göra upp en plan för att utföra programmeringsarbete.
  • 6. Specifikation och konstruktion av programdiagrammet.
  • 7. Verifiering och verifiering av programschemats tillförlitlighet.
  • 8. Genomföra modellprogrammering.
  • 9. Kontrollera programmets tillförlitlighet.
  • 10. Upprättande av teknisk dokumentation för den andra etappen.

Skicka ditt goda arbete i kunskapsbasen är enkelt. Använd formuläret nedan

Studenter, doktorander, unga forskare som använder kunskapsbasen i sina studier och arbete kommer att vara er mycket tacksamma.

Postat på http://www.allbest.ru/

Postat på http://www.allbest.ru/

Introduktion

1. Analytisk granskning befintliga metoder och sätt att lösa problemet

1.1 Koncept och typer av modellering

1.2 Numeriska beräkningsmetoder

1.3 Allmänt koncept för finita elementmetoden

2. Algoritmisk analys av problemet

2.1 Problembeskrivning

2.2 Beskrivning av den matematiska modellen

2.3 Grafiskt diagram algoritm

3. Mjukvaruimplementering av uppgiften

3.1 Avvikelser och toleranser för cylindriska rörgängor

3.2 Implementering av avvikelser och toleranser för cylindriska rörgängor i programvaran Compass

3.3 Implementering av uppgiften i programmeringsspråket C#

3.4 Implementering av en strukturell modell i ANSYS-paketet

3.5 Studie av de erhållna resultaten

Slutsats

Lista över begagnad litteratur

Introduktion

I modern värld Det finns ett alltmer behov av att förutsäga beteendet hos fysikaliska, kemiska, biologiska och andra system. Ett av sätten att lösa problemet är att använda en ganska ny och relevant vetenskaplig riktning - datormodellering, vars karakteristiska egenskap är hög visualisering av beräkningsstadierna.

Detta arbete ägnas åt studier av datormodellering för att lösa tillämpade problem. Sådana modeller används för att få ny information om det modellerade objektet för en ungefärlig bedömning av systemens beteende. I praktiken används sådana modeller aktivt inom olika vetenskaps- och produktionsområden: fysik, kemi, astrofysik, mekanik, biologi, ekonomi, meteorologi, sociologi, andra vetenskaper, såväl som i tillämpade och tekniska problem inom olika områden av radioelektronik, maskinteknik, fordonsindustri m.fl. Anledningarna till detta är uppenbara: och detta är möjligheten att snabbt skapa en modell och snabbt göra ändringar i källdata, ange och justera Extra tillval modeller. Exempel inkluderar att studera beteendet hos byggnader, delar och strukturer under mekanisk belastning, förutsäga styrkan hos strukturer och mekanismer, modellera transportsystem, designa material och dess beteende, designa Fordon, väderprognoser, arbetsemulering elektroniska apparater, simulerade krocktester, testning av styrka och lämplighet hos rörledningar, termiska och hydrauliska system.

Syfte kursarbeteär studiet av datormodelleringsalgoritmer, såsom finita elementmetoden, gränsskillnadsmetoden, finita differensmetoden med vidare tillämpning i praktiken för beräkning gängade anslutningar för styrka; Utveckling av en algoritm för att lösa ett givet problem med efterföljande implementering i formuläret mjukvaruprodukt; säkerställa den erforderliga beräkningsnoggrannheten och utvärdera modellens lämplighet med hjälp av olika mjukvaruprodukter.

1 . Analytisk genomgång av befintliga metoder och medel för att lösa problemet

1.1 Koncept och typer av modellerOchströvande

Forskningsproblem som löses genom att modellera olika fysiska system kan delas in i fyra grupper:

1) Direkta problem, i vars lösning det studerade systemet specificeras av parametrarna för dess element och parametrarna för det initiala läget, strukturen eller ekvationerna. Det krävs för att bestämma systemets svar på de krafter (störningar) som verkar på det.

2) Omvända problem, där det, baserat på en känd reaktion hos ett system, krävs att hitta de krafter (störningar) som orsakade denna reaktion och tvinga det aktuella systemet att nå ett givet tillstånd.

3) Omvända problem som kräver bestämning av systemets parametrar baserat på processens kända förlopp, beskrivna av differentialekvationer och värdena på krafter och reaktioner på dessa krafter (störningar).

4) Induktiva problem, vars lösning syftar till att upprätta eller förtydliga ekvationer som beskriver processer som sker i ett system vars egenskaper (störningar och reaktioner på dem) är kända.

Beroende på vilken typ av processer som studeras i systemet kan alla typer av modellering delas in i följande grupper:

Deterministisk;

Stokastisk.

Deterministisk modellering representerar deterministiska processer, d.v.s. processer där frånvaron av slumpmässiga influenser antas.

Stokastisk modellering skildrar probabilistiska processer och händelser. I detta fall analyseras ett antal realiseringar av en slumpmässig process och de genomsnittliga egenskaperna uppskattas, d.v.s. en uppsättning homogena implementeringar.

Beroende på objektets beteende över tiden klassificeras modellering i en av två typer:

Statisk;

Dynamisk.

Statisk modellering tjänar till att beskriva ett objekts beteende vid vilken tidpunkt som helst, och dynamisk modellering speglar ett objekts beteende över tid.

Beroende på formen av representation av objektet (systemet) kan vi särskilja

Fysisk modellering;

Matematisk modellering.

Fysisk modellering skiljer sig från observation av ett verkligt system (fullskaligt experiment) genom att forskning bedrivs på modeller som bevarar fenomenens natur och har en fysisk likhet. Ett exempel är en modell av ett flygplan som studeras i en vindtunnel. I processen med fysisk modellering specificeras vissa egenskaper hos den yttre miljön och modellens beteende under givna yttre påverkan studeras. Fysisk modellering kan ske på verkliga och overkliga tidsskalor.

Matematisk modellering förstås som processen att etablera en överensstämmelse mellan ett givet verkligt objekt och ett visst matematiskt objekt, kallad en matematisk modell, och studiet av denna modell på en dator för att erhålla egenskaperna hos det verkliga objektet i fråga.

Matematiska modeller är byggda på grundval av lagar som identifierats av grundläggande vetenskaper: fysik, kemi, ekonomi, biologi, etc. Ytterst väljs en eller annan matematisk modell utifrån praktikkriterier, uppfattade i vid mening. Efter att modellen har bildats är det nödvändigt att studera dess beteende.

Vilken matematisk modell som helst, som alla andra, beskriver ett verkligt objekt endast med en viss grad av approximation till verkligheten. Därför är det i modelleringsprocessen nödvändigt att lösa problemet med överensstämmelse (tillräcklighet) för den matematiska modellen och systemet, dvs. bedriva ytterligare forskning om simuleringsresultatens överensstämmelse med den verkliga situationen.

Matematisk modellering kan delas in i följande grupper:

Analytisk;

Imitation;

Kombinerad.

Med hjälp av analytisk modellering kan studiet av ett objekt (system) utföras om explicita analytiska beroenden är kända som förbinder de önskade egenskaperna med systemets initiala förhållanden, parametrar och variabler.

Sådana beroenden kan dock endast erhållas för relativt enkla system. När systemen blir mer komplexa stöter det på betydande svårigheter att studera dem med hjälp av analytiska metoder som ofta är oöverstigliga.

Vid simuleringsmodellering reproducerar algoritmen som implementerar modellen systemets funktionsprocess över tid, och de elementära fenomen som utgör processen simuleras samtidigt som den logiska strukturen bevaras, vilket gör det möjligt att, från källdata, få information om tillstånden. av processen vid vissa tidpunkter i varje länk i systemet.

Den största fördelen med simuleringsmodellering jämfört med analytisk modellering är förmågan att lösa mer komplexa problem. Simuleringsmodeller gör det möjligt att helt enkelt ta hänsyn till faktorer som närvaron av diskreta och kontinuerliga element, olinjära egenskaper hos systemelement, många slumpmässiga influenser, etc.

För närvarande är simuleringsmodellering ofta den enda praktiskt tillgängliga metoden för att få information om ett systems beteende, särskilt i designstadiet.

Kombinerad (analytisk-simulering) modellering låter dig kombinera fördelarna med analytisk och simuleringsmodellering.

När man bygger kombinerade modeller görs en preliminär nedbrytning av objektets funktionsprocess till dess ingående delprocesser, och för de av dem används där så är möjligt analytiska modeller och simuleringsmodeller byggs för de återstående delprocesserna.

Ur synvinkeln att beskriva ett objekt och beroende på dess natur, kan matematiska modeller delas in i modeller:

analog (kontinuerlig);

digital (diskret);

analog-till-digital.

En analog modell förstås som en liknande modell som beskrivs av ekvationer som relaterar kontinuerliga storheter. En digital modell förstås som en modell som beskrivs av ekvationer som relaterar till diskreta storheter presenterade i digital form. Med analog-till-digital menar vi en modell som kan beskrivas med ekvationer som kopplar samman kontinuerliga och diskreta storheter.

1.2 Numeriska metoderMedpar

Att lösa ett problem för en matematisk modell innebär att specificera en algoritm för att erhålla det erforderliga resultatet från originaldata.

Lösningsalgoritmer är konventionellt indelade i:

exakta algoritmer som låter dig få slutresultatet i ett begränsat antal åtgärder;

ungefärliga metoder - tillåter, på grund av vissa antaganden, att minska lösningen på ett problem med ett exakt resultat;

numeriska metoder - innebär utveckling av en algoritm som ger en lösning med ett givet kontrollerat fel.

Att lösa strukturmekanikens problem är förknippat med stora matematiska svårigheter, som övervinns med hjälp av numeriska metoder, som gör det möjligt att erhålla ungefärliga lösningar, men tillfredsställande praktiska syften, med hjälp av en dator.

Den numeriska lösningen erhålls genom diskretisering och algebraisering av gränsvärdesproblemet. Diskretisering är att ersätta en kontinuerlig uppsättning med en diskret uppsättning punkter. Dessa punkter kallas rutnätsnoder, och endast vid dem söks funktionsvärdena. I det här fallet ersätts funktionen av en ändlig uppsättning av dess värden vid rutnätsnoderna. Med hjälp av värdena vid rutnätsnoderna kan partiella derivator ungefär uttryckas. Som ett resultat omvandlas den partiella differentialekvationen till algebraiska ekvationer (algebraisering av gränsvärdesproblemet).

Beroende på hur diskretisering och algebraisering utförs urskiljs olika metoder.

Den första metoden för att lösa gränsvärdesproblem som har blivit utbredd är finita differensmetoden (FDM). I den här metoden diskretisering består av att täcka lösningsområdet med ett rutnät och ersätta en kontinuerlig uppsättning punkter med en diskret uppsättning. Ofta används ett rutnät med konstanta stegstorlekar (vanligt rutnät).

MKR-algoritmen består av tre steg:

1. Konstruktion av ett rutnät i ett givet område. Ungefärliga värden för funktionen (nodalvärden) bestäms vid rutnätsnoderna. En uppsättning nodvärden är en rutnätsfunktion.

2. Partiella derivator ersätts med differensuttryck. I detta fall approximeras den kontinuerliga funktionen av en rutnätsfunktion. Resultatet är ett system av algebraiska ekvationer.

3. Lösning av det resulterande systemet av algebraiska ekvationer.

En annan numerisk metod är boundary element method (BEM). Det är baserat på att överväga ett ekvationssystem som endast inkluderar värden på variabler vid regionens gränser. Diskretiseringsschemat kräver att endast ytan är uppdelad. Regionens gräns är uppdelad i ett antal element och man tror att det är nödvändigt att hitta en ungefärlig lösning som approximerar det ursprungliga gränsvärdesproblemet. Dessa element kallas gränselement. Att diskretera endast gränsen leder till ett mindre system av problemekvationer än att diskretisera hela kroppen. BEM minskar dimensionen av det ursprungliga problemet med en.

Vid design av olika tekniska objekt används finita elementmetoden (FEM) flitigt. Framväxten av den finita elementmetoden är förknippad med lösningen av rymdforskningsproblem på 1950-talet. För närvarande är tillämpningsområdet för finita elementmetoden mycket omfattande och täcker alla fysiska problem som kan beskrivas med differentialekvationer. De viktigaste fördelarna med finita elementmetoden är följande:

1. Materialegenskaperna för intilliggande element behöver inte vara desamma. Detta gör att metoden kan tillämpas på kroppar som består av flera material.

2. Ett krökt område kan approximeras med rätlinjiga element eller beskrivas exakt med krökta element.

3. Objektstorlekar kan variera. Detta gör att du kan förstora eller förfina nätverket för att dela upp området i element, om det behövs.

4. Med finita elementmetoden är det lätt att överväga randvillkor med en diskontinuerlig ytlast, samt blandade randvillkor.

Att lösa problem med FEM innehåller följande steg:

1. Uppdelning av ett givet område i finita element. Numrering av noder och element.

2. Konstruktion av finita elementstyvhetsmatriser.

3. Reduktion av belastningar och stötar som appliceras på ändliga element till nodalkrafter.

4.Formation gemensamt system ekvationer; med hänsyn till randvillkor. Lösning av det resulterande ekvationssystemet.

5. Bestämning av spänningar och töjningar i finita element.

Den största nackdelen med FEM är behovet av att diskretisera hela kroppen, vilket leder till ett stort antal finita element och därför okända problem. Dessutom leder FEM ibland till diskontinuiteter i värdena för de kvantiteter som studeras, eftersom metodförfarandet ställer kontinuitetsvillkor endast vid noderna.

För att lösa problemet valdes den finita elementmetoden, eftersom den är den mest optimala för att beräkna en struktur med en komplex geometrisk form.

1.3 Allmänt koncept för finita elementmetoden

Finita elementmetoden består av att bryta ner en matematisk modell av en struktur i några element, så kallade finita element. Element är endimensionella, tvådimensionella och flerdimensionella. Ett exempel på ändliga element ges i figur 1. Typen av element beror på initialförhållandena. Uppsättningen element som en struktur är uppdelad i kallas ett finita elementnät.

Den finita elementmetoden består i allmänhet av följande steg:

1. Dela upp området i ändliga element. Indelningen av ett område i element börjar vanligtvis från dess gräns, för att mest exakt approximera gränsens form. Sedan delas de inre ytorna. Ofta sker uppdelningen av ett område i element i flera steg. Först delas de in i stora delar, vars gränser går där materialens egenskaper, geometri och pålagd belastning förändras. Varje delområde bryts sedan ner i element. Efter att ha delat upp området i finita element numreras noderna. Numrering skulle vara en trivial uppgift om det inte påverkade effektiviteten i efterföljande beräkningar. Om vi ​​betraktar det resulterande systemet med linjära ekvationer, kan vi se att vissa icke-nollelement i koefficientmatrisen är mellan de två linjerna; detta avstånd kallas matrisens bandbredd. Det är numreringen av noder som påverkar randens bredd, vilket innebär att ju bredare randen är, desto fler iterationer behövs för att få det önskade svaret.

modelleringsalgoritm programvara ansys

Figur 1 - Några finita element

2. Bestämning av approximationsfunktionen för varje element. I detta skede ersätts den erforderliga kontinuerliga funktionen av en styckvis kontinuerlig funktion definierad på en uppsättning ändliga element. Denna procedur kan utföras en gång för ett typiskt områdeselement och sedan kan den resulterande funktionen användas för andra områdeselement av samma typ.

3. Kombination av finita element. I detta skede kombineras ekvationerna som hänför sig till enskilda element, det vill säga till ett system av algebraiska ekvationer. Det resulterande systemet är en modell av den önskade kontinuerliga funktionen. Vi får styvhetsmatrisen.

4. Lösning av det resulterande systemet av algebraiska ekvationer. Den verkliga strukturen approximeras av många hundra ändliga element, och ekvationssystem med många hundra och tusentals okända uppstår.

Att lösa sådana ekvationssystem är huvudproblemet vid implementering av finita elementmetoden. Lösningsmetoderna beror på storleken på det upplösande ekvationssystemet. I detta avseende har speciella metoder för lagring av styvhetsmatrisen utvecklats för att minska den volym som krävs för detta. random access minne. Styvhetsmatriser används i varje hållfasthetsanalysmetod med användning av ett finita elementnät.

För att lösa ekvationssystem används olika numeriska metoder, som beror på den resulterande matrisen; detta är tydligt synligt i fallet när matrisen inte är symmetrisk; i det här fallet kan metoder som den konjugerade gradientmetoden inte användas.

Istället för konstitutiva ekvationer används ofta en variationsmetod. Ibland sätts ett villkor för att säkerställa en liten skillnad mellan den ungefärliga och sanna lösningen. Eftersom antalet okända i det slutliga ekvationssystemet är stort, används matrisnotation. För närvarande finns det ett tillräckligt antal numeriska metoder för att lösa ett ekvationssystem, vilket gör det lättare att få fram resultatet.

2. Algoritmisk analys av problemet

2 .1 Problembeskrivning

Det krävs att man utvecklar en applikation som simulerar spännings-töjningstillståndet för en platt struktur och utför en liknande beräkning i Ansys-systemet.

För att lösa problemet är det nödvändigt att: dela upp området i ändliga element, numrera noderna och elementen, ställa in egenskaperna hos materialet och gränsförhållandena.

De initiala uppgifterna för projektet är ett diagram över en platt struktur med en applicerad fördelad belastning och fastsättning (bilaga A), värden på materialegenskaper (elasticitetsmodul -2*10^5 Pa, Poissons förhållande -0,3), belastning 5000H .

Resultatet av kursarbetet är att få fram delens rörelser i varje nod.

2.2 Beskrivning av den matematiska modellen

För att lösa problemet används den finita elementmetoden som beskrivs ovan. Delen är uppdelad i triangulära finita element med noder i, j, k (Figur 2).

Figur 2 - Finita element representation av en kropp.

Förskjutningarna av varje nod har två komponenter, formel (2.1):

sex komponenter av förskjutningar av elementnoder bildar en förskjutningsvektor (d):

Förskjutningen av någon punkt inuti det finita elementet bestäms av relationerna (2.3) och (2.4):

När man kombinerar (2.3) och (2.4) till en ekvation erhålls följande relation:

Deformationer och förskjutningar är relaterade till varandra enligt följande:

När vi ersätter (2.5) i (2.6) får vi relation (2.7):

Relation (2.7) kan representeras som:

där [B] är en gradientmatris av formen (2.9):

Formfunktionerna beror linjärt på x, y-koordinaterna, och därför beror gradientmatrisen inte på koordinaterna för punkten inuti det finita elementet, och deformationerna och spänningarna inuti det finita elementet är konstanta i detta fall.

I ett plan deformerat tillstånd i ett isotropiskt material bestäms matrisen av elastiska konstanter [D] med formeln (2.10):

där E är elasticitetsmodulen och är Poissons förhållande.

Den finita elementstyvhetsmatrisen har formen:

där h e är tjockleken, A e är arean av elementet.

Jämviktsekvationen för den i:te noden har formen:

För att ta hänsyn till fästförhållandena finns följande metod. Låt det finnas något system N av ekvationer (2.13):

I det fall då ett av stöden är orörligt, dvs. U i =0, använd följande procedur. Låt U 2 =0, sedan:

det vill säga att motsvarande rad och kolumn sätts till noll och diagonalelementet sätts till ett. Följaktligen är F2 också lika med noll.

För att lösa det resulterande systemet väljer vi den Gaussiska metoden. Lösningsalgoritmen som använder Gauss-metoden är uppdelad i två steg:

1. direkt slag: av elementära transformationer ovanför linjerna reduceras systemet till en stegvis eller triangulär form, eller det konstateras att systemet är inkompatibelt. Den k:te upplösningsraden väljs, där k = 0…n - 1, och för varje efterföljande rad konverteras elementen

för i = k+1, k+2 ... n-1; j = k+1,k+2 … n.

2. omvänd: värdena för de okända bestäms. Från den sista ekvationen i det transformerade systemet beräknas värdet på variabeln x n, varefter det från den näst sista ekvationen blir möjligt att bestämma variabeln x n -1 och så vidare.

2. 3 Grafiskt diagram över algoritmen

Det presenterade grafiska diagrammet av algoritmen visar huvudsekvensen av åtgärder som utförs vid modellering av en strukturell del. I block 1 matas initialdata in. Baserat på de inmatade uppgifterna är nästa steg konstruktionen av ett ändligt elementnät. Därefter, i block 3 och 4, konstrueras lokala respektive globala styvhetsmatriser. I block 5 löses det resulterande systemet med Gaussmetoden. Baserat på lösningen i block 6 bestäms de nödvändiga rörelserna i noderna och resultaten visas. Ett kort grafiskt diagram över algoritmen presenteras i figur 7.

Figur 7 - Grafiskt diagram över algoritmen

3 . Handla omgrammatisktframgångsrikt genomförande av uppgiften

3.1 Avvikelser och toleranser för cylindriska rörgängor

Rörcylindrisk gänga (GOST 6357-73) har en triangulär profil med rundade toppar och dalar. Denna gänga används främst för anslutning av rör, rörledningar och rördelar.

För att uppnå rätt fogtäthet placeras speciella tätningsmaterial (linnetrådar, rött blygarn, etc.) i springorna som bildas av arrangemanget av toleransfälten mellan bulthåligheterna och mutterutsprången.

De maximala avvikelserna för cylindriska rörgängaelement för diameter "1" för utvändiga och invändiga gängor anges i tabell 1 respektive 2.

Tabell 1 - avvikelser för externa cylindriska rörgängor (enligt GOST 6357 - 73)

Tabell 2 - avvikelser för rörets interna cylindriska gängor (enligt GOST 6357 - 73)

Begränsa avvikelser för den yttre gängan för den minsta ytterdiametern, formel (3.1):

dmin=dn + ei (3.1)

där dн är den nominella storleken på den yttre diametern.

De maximala avvikelserna för den yttre gängan för den maximala ytterdiametern beräknas med formeln (3.2):

dmax=dн + es (3,2)

Begränsa avvikelser för yttre gängor med minsta medeldiameter, formel (3.3):

d2min=d2 + ei (3,3)

där d2 är den nominella storleken på medeldiametern.

Gränsavvikelser för yttre gängor med maximal medeldiameter beräknas med formeln (3.4):

d2max=d2 + es (3,4)

Begränsa avvikelser för den yttre gängan för den minsta innerdiametern, formel (3.5):

d1min=d1 + ei (3,5)

där d1 är den nominella storleken på den inre diametern.

De maximala avvikelserna för den yttre gängan för den maximala innerdiametern beräknas med formeln (3.6):

d1max=d1 + es (3,6)

Begränsa avvikelser för den inre gängan för den minsta ytterdiametern, formel (3.7):

Dmin=Dn + EI, (3,7)

där Dн är den nominella storleken på den yttre diametern.

De maximala avvikelserna för den inre gängan för den maximala ytterdiametern beräknas med formeln (3.8):

Dmax=Dn + ES (3,8)

Begränsa avvikelser för invändiga gängor med minsta medeldiameter, formel (3.9):

D2min=D2 + EI (3,9)

där D2 är den nominella storleken på medeldiametern.

Gränsavvikelser för invändiga gängor med maximal genomsnittlig diameter beräknas med formeln (3.10):

D2max=D2 + ES (3,10)

Begränsa avvikelser för den inre gängan för den minsta innerdiametern, formel (3.11):

D1min=D1 + EI (3,11)

där D1 är den nominella storleken på den inre diametern.

De maximala avvikelserna för den inre gängan för den maximala innerdiametern beräknas med formeln (3.12):

D1max=D1 + ES (3,12)

Ett fragment av trådskissen kan ses i figur 6 i kapitel 3.2.

3.2 Genomförande av avvikelser och toleranser för cylindriska rörgängor iProgramvara "Kompass"

Figur 6 - Rörcylindrisk gänga med toleranser.

Koordinaterna för punkterna visas i tabell 1 i bilaga D

Kopiera en konstruerad tråd:

Välj tråden > Editor > kopiera;

Trådinsättning:

Vi placerar markören på den plats vi behöver>redigerare>klistra in.

Resultatet av den konstruerade tråden kan ses i bilaga D

3.3 Genomförande av uppgiftenchi i programmeringsspråket C#

För att implementera styrkeberäkningsalgoritmen valdes utvecklingsmiljön MS Visual Studio 2010 med hjälp av språket C# från paketet . NETTORamverk 4.0. Med hjälp av den objektorienterade programmeringsmetoden kommer vi att skapa klasser som innehåller nödvändiga data:

Tabell 3 - Elementklassstruktur

Variabelnamn




Topp