Skip to content
Snippets Groups Projects
Commit ca0d8c82 authored by Philipp Hansmann's avatar Philipp Hansmann Committed by Kristina Mazur
Browse files

Feature/modularization performance assessment

parent d88c40e4
No related branches found
No related tags found
5 merge requests!263Apply 1 suggestion(s) to 1 file(s),!261Reintruduced automatic flight condition selection,!245Apply 1 suggestion(s) to 1 file(s),!233Initial open source version,!63Feature/modularization performance assessment
Showing
with 4611 additions and 597 deletions
......@@ -126,59 +126,59 @@
},
"fonttools": {
"hashes": [
"sha256:00f7cf55ad58a57ba421b6a40945b85ac7cc73094fb4949c41171d3619a3a47e",
"sha256:01124f2ca6c29fad4132d930da69158d3f49b2350e4a779e1efbe0e82bd63f6c",
"sha256:12db5888cd4dd3fcc9f0ee60c6edd3c7e1fd44b7dd0f31381ea03df68f8a153f",
"sha256:161d1ac54c73d82a3cded44202d0218ab007fde8cf194a23d3dd83f7177a2f03",
"sha256:1f0e115281a32ff532118aa851ef497a1b7cda617f4621c1cdf81ace3e36fb0c",
"sha256:23bbbb49bec613a32ed1b43df0f2b172313cee690c2509f1af8fdedcf0a17438",
"sha256:2863555ba90b573e4201feaf87a7e71ca3b97c05aa4d63548a4b69ea16c9e998",
"sha256:2b3ab90ec0f7b76c983950ac601b58949f47aca14c3f21eed858b38d7ec42b05",
"sha256:31d00f9852a6051dac23294a4cf2df80ced85d1d173a61ba90a3d8f5abc63c60",
"sha256:33b52a9cfe4e658e21b1f669f7309b4067910321757fec53802ca8f6eae96a5a",
"sha256:37dbb3fdc2ef7302d3199fb12468481cbebaee849e4b04bc55b77c24e3c49189",
"sha256:3e569711464f777a5d4ef522e781dc33f8095ab5efd7548958b36079a9f2f88c",
"sha256:3f901cef813f7c318b77d1c5c14cf7403bae5cb977cede023e22ba4316f0a8f6",
"sha256:51c029d4c0608a21a3d3d169dfc3fb776fde38f00b35ca11fdab63ba10a16f61",
"sha256:5435e5f1eb893c35c2bc2b9cd3c9596b0fcb0a59e7a14121562986dd4c47b8dd",
"sha256:553bd4f8cc327f310c20158e345e8174c8eed49937fb047a8bda51daf2c353c8",
"sha256:55718e8071be35dff098976bc249fc243b58efa263768c611be17fe55975d40a",
"sha256:61dc0a13451143c5e987dec5254d9d428f3c2789a549a7cf4f815b63b310c1cc",
"sha256:636caaeefe586d7c84b5ee0734c1a5ab2dae619dc21c5cf336f304ddb8f6001b",
"sha256:6c99b5205844f48a05cb58d4a8110a44d3038c67ed1d79eb733c4953c628b0f6",
"sha256:7208856f61770895e79732e1dcbe49d77bd5783adf73ae35f87fcc267df9db81",
"sha256:732a9a63d6ea4a81b1b25a1f2e5e143761b40c2e1b79bb2b68e4893f45139a40",
"sha256:7636acc6ab733572d5e7eec922b254ead611f1cdad17be3f0be7418e8bfaca71",
"sha256:7dd91ac3fcb4c491bb4763b820bcab6c41c784111c24172616f02f4bc227c17d",
"sha256:8118dc571921dc9e4b288d9cb423ceaf886d195a2e5329cc427df82bba872cd9",
"sha256:81ffd58d2691f11f7c8438796e9f21c374828805d33e83ff4b76e4635633674c",
"sha256:838d2d8870f84fc785528a692e724f2379d5abd3fc9dad4d32f91cf99b41e4a7",
"sha256:8c9679fc0dd7e8a5351d321d8d29a498255e69387590a86b596a45659a39eb0d",
"sha256:9ce4ba6981e10f7e0ccff6348e9775ce25ffadbee70c9fd1a3737e3e9f5fa74f",
"sha256:a656652e1f5d55b9728937a7e7d509b73d23109cddd4e89ee4f49bde03b736c6",
"sha256:a7ad1f1b98ab6cb927ab924a38a8649f1ffd7525c75fe5b594f5dab17af70e18",
"sha256:aa046f6a63bb2ad521004b2769095d4c9480c02c1efa7d7796b37826508980b6",
"sha256:abe62987c37630dca69a104266277216de1023cf570c1643bb3a19a9509e7a1b",
"sha256:b2e526b325a903868c62155a6a7e24df53f6ce4c5c3160214d8fe1be2c41b478",
"sha256:b5263d8e7ef3c0ae87fbce7f3ec2f546dc898d44a337e95695af2cd5ea21a967",
"sha256:b7ef9068a1297714e6fefe5932c33b058aa1d45a2b8be32a4c6dee602ae22b5c",
"sha256:bca35b4e411362feab28e576ea10f11268b1aeed883b9f22ed05675b1e06ac69",
"sha256:ca7fd6987c68414fece41c96836e945e1f320cda56fc96ffdc16e54a44ec57a2",
"sha256:d12081729280c39d001edd0f4f06d696014c26e6e9a0a55488fabc37c28945e4",
"sha256:dd2820a8b632f3307ebb0bf57948511c2208e34a4939cf978333bc0a3f11f838",
"sha256:e198e494ca6e11f254bac37a680473a311a88cd40e58f9cc4dc4911dfb686ec6",
"sha256:e7e6a352ff9e46e8ef8a3b1fe2c4478f8a553e1b5a479f2e899f9dc5f2055880",
"sha256:e8e67974326af6a8879dc2a4ec63ab2910a1c1a9680ccd63e4a690950fceddbe",
"sha256:f0a4b52238e7b54f998d6a56b46a2c56b59c74d4f8a6747fb9d4042190f37cd3",
"sha256:f27526042efd6f67bfb0cc2f1610fa20364396f8b1fc5edb9f45bb815fb090b2",
"sha256:f307f6b5bf9e86891213b293e538d292cd1677e06d9faaa4bf9c086ad5f132f6",
"sha256:f46b863d74bab7bb0d395f3b68d3f52a03444964e67ce5c43ce43a75efce9246",
"sha256:f50a1f455902208486fbca47ce33054208a4e437b38da49d6721ce2fef732fcf",
"sha256:f8c8c76037d05652510ae45be1cd8fb5dd2fd9afec92a25374ac82255993d57c",
"sha256:fa34aa175c91477485c44ddfbb51827d470011e558dfd5c7309eb31bef19ec51"
"sha256:07f8288aacf0a38d174445fc78377a97fb0b83cfe352a90c9d9c1400571963c7",
"sha256:11e5de1ee0d95af4ae23c1a138b184b7f06e0b6abacabf1d0db41c90b03d834b",
"sha256:1bc7ad24ff98846282eef1cbeac05d013c2154f977a79886bb943015d2b1b261",
"sha256:1dcc07934a2165ccdc3a5a608db56fb3c24b609658a5b340aee4ecf3ba679dc0",
"sha256:22f38464daa6cdb7b6aebd14ab06609328fe1e9705bb0fcc7d1e69de7109ee02",
"sha256:27e4ae3592e62eba83cd2c4ccd9462dcfa603ff78e09110680a5444c6925d841",
"sha256:3983313c2a04d6cc1fe9251f8fc647754cf49a61dac6cb1e7249ae67afaafc45",
"sha256:529cef2ce91dc44f8e407cc567fae6e49a1786f2fefefa73a294704c415322a4",
"sha256:5323a22eabddf4b24f66d26894f1229261021dacd9d29e89f7872dd8c63f0b8b",
"sha256:54153c49913f45065c8d9e6d0c101396725c5621c8aee744719300f79771d75a",
"sha256:546565028e244a701f73df6d8dd6be489d01617863ec0c6a42fa25bf45d43048",
"sha256:5480673f599ad410695ca2ddef2dfefe9df779a9a5cda89503881e503c9c7d90",
"sha256:5e8d657cd7326eeaba27de2740e847c6b39dde2f8d7cd7cc56f6aad404ddf0bd",
"sha256:62d65a3022c35e404d19ca14f291c89cc5890032ff04f6c17af0bd1927299674",
"sha256:6314bf82c54c53c71805318fcf6786d986461622dd926d92a465199ff54b1b72",
"sha256:7a8aa2c5e5b8b3bcb2e4538d929f6589a5c6bdb84fd16e2ed92649fb5454f11c",
"sha256:827e95fdbbd3e51f8b459af5ea10ecb4e30af50221ca103bea68218e9615de07",
"sha256:859c358ebf41db18fb72342d3080bce67c02b39e86b9fbcf1610cca14984841b",
"sha256:86721fbc389ef5cc1e2f477019e5069e8e4421e8d9576e9c26f840dbb04678de",
"sha256:89bdc5d88bdeec1b15af790810e267e8332d92561dce4f0748c2b95c9bdf3926",
"sha256:8c4491699bad88efe95772543cd49870cf756b019ad56294f6498982408ab03e",
"sha256:8c5ec45428edaa7022f1c949a632a6f298edc7b481312fc7dc258921e9399628",
"sha256:8e75f12c82127486fac2d8bfbf5bf058202f54bf4f158d367e41647b972342ca",
"sha256:a430178ad3e650e695167cb53242dae3477b35c95bef6525b074d87493c4bf29",
"sha256:a8c2794ded89399cc2169c4d0bf7941247b8d5932b2659e09834adfbb01589aa",
"sha256:aca318b77f23523309eec4475d1fbbb00a6b133eb766a8bdc401faba91261abe",
"sha256:ae3b6600565b2d80b7c05acb8e24d2b26ac407b27a3f2e078229721ba5698427",
"sha256:aedbeb1db64496d098e6be92b2e63b5fac4e53b1b92032dfc6988e1ea9134a4d",
"sha256:aee3b57643827e237ff6ec6d28d9ff9766bd8b21e08cd13bff479e13d4b14765",
"sha256:b54baf65c52952db65df39fcd4820668d0ef4766c0ccdf32879b77f7c804d5c5",
"sha256:b586ab5b15b6097f2fb71cafa3c98edfd0dba1ad8027229e7b1e204a58b0e09d",
"sha256:b8d5e8916c0970fbc0f6f1bece0063363bb5857a7f170121a4493e31c3db3314",
"sha256:bc5dbb4685e51235ef487e4bd501ddfc49be5aede5e40f4cefcccabc6e60fb4b",
"sha256:bdcc9f04b36c6c20978d3f060e5323a43f6222accc4e7fcbef3f428e216d96af",
"sha256:c3ca99e0d460eff46e033cd3992a969658c3169ffcd533e0a39c63a38beb6831",
"sha256:caf8230f3e10f8f5d7593eb6d252a37caf58c480b19a17e250a63dad63834cf3",
"sha256:cd70de1a52a8ee2d1877b6293af8a2484ac82514f10b1c67c1c5762d38073e56",
"sha256:cf4fe7c124aa3f4e4c1940880156e13f2f4d98170d35c749e6b4f119a872551e",
"sha256:d342e88764fb201286d185093781bf6628bbe380a913c24adf772d901baa8276",
"sha256:da9da6d65cd7aa6b0f806556f4985bcbf603bf0c5c590e61b43aa3e5a0f822d0",
"sha256:dc5294a3d5c84226e3dbba1b6f61d7ad813a8c0238fceea4e09aa04848c3d851",
"sha256:dd68c87a2bfe37c5b33bcda0fba39b65a353876d3b9006fde3adae31f97b3ef5",
"sha256:e6e8766eeeb2de759e862004aa11a9ea3d6f6d5ec710551a88b476192b64fd54",
"sha256:e894b5bd60d9f473bed7a8f506515549cc194de08064d829464088d23097331b",
"sha256:eb6ca911c4c17eb51853143624d8dc87cdcdf12a711fc38bf5bd21521e79715f",
"sha256:ed63959d00b61959b035c7d47f9313c2c1ece090ff63afea702fe86de00dbed4",
"sha256:f412604ccbeee81b091b420272841e5ec5ef68967a9790e80bffd0e30b8e2977",
"sha256:f7d66c15ba875432a2d2fb419523f5d3d347f91f48f57b8b08a2dfc3c39b8a3f",
"sha256:f9e736f60f4911061235603a6119e72053073a12c6d7904011df2d8fad2c0e35",
"sha256:fb594b5a99943042c702c550d5494bdd7577f6ef19b0bc73877c948a63184a32"
],
"markers": "python_version >= '3.8'",
"version": "==4.55.0"
"version": "==4.55.3"
},
"kiwisolver": {
"hashes": [
......@@ -302,112 +302,113 @@
},
"matplotlib": {
"hashes": [
"sha256:039082812cacd6c6bec8e17a9c1e6baca230d4116d522e81e1f63a74d01d2e21",
"sha256:03ba9c1299c920964e8d3857ba27173b4dbb51ca4bab47ffc2c2ba0eb5e2cbc5",
"sha256:050598c2b29e0b9832cde72bcf97627bf00262adbc4a54e2b856426bb2ef0697",
"sha256:18128cc08f0d3cfff10b76baa2f296fc28c4607368a8402de61bb3f2eb33c7d9",
"sha256:1cd93b91ab47a3616b4d3c42b52f8363b88ca021e340804c6ab2536344fad9ca",
"sha256:1d94ff717eb2bd0b58fe66380bd8b14ac35f48a98e7c6765117fe67fb7684e64",
"sha256:306c8dfc73239f0e72ac50e5a9cf19cc4e8e331dd0c54f5e69ca8758550f1e1e",
"sha256:37e51dd1c2db16ede9cfd7b5cabdfc818b2c6397c83f8b10e0e797501c963a03",
"sha256:3fd595f34aa8a55b7fc8bf9ebea8aa665a84c82d275190a61118d33fbc82ccae",
"sha256:4876d7d40219e8ae8bb70f9263bcbe5714415acfdf781086601211335e24f8aa",
"sha256:5413401594cfaff0052f9d8b1aafc6d305b4bd7c4331dccd18f561ff7e1d3bd3",
"sha256:5816b1e1fe8c192cbc013f8f3e3368ac56fbecf02fb41b8f8559303f24c5015e",
"sha256:65aacf95b62272d568044531e41de26285d54aec8cb859031f511f84bd8b495a",
"sha256:6758baae2ed64f2331d4fd19be38b7b4eae3ecec210049a26b6a4f3ae1c85dcc",
"sha256:6d1ce5ed2aefcdce11904fc5bbea7d9c21fff3d5f543841edf3dea84451a09ea",
"sha256:6d9f07a80deab4bb0b82858a9e9ad53d1382fd122be8cde11080f4e7dfedb38b",
"sha256:7741f26a58a240f43bee74965c4882b6c93df3e7eb3de160126d8c8f53a6ae6e",
"sha256:8912ef7c2362f7193b5819d17dae8629b34a95c58603d781329712ada83f9447",
"sha256:909645cce2dc28b735674ce0931a4ac94e12f5b13f6bb0b5a5e65e7cea2c192b",
"sha256:96ab43906269ca64a6366934106fa01534454a69e471b7bf3d79083981aaab92",
"sha256:9d78bbc0cbc891ad55b4f39a48c22182e9bdaea7fc0e5dbd364f49f729ca1bbb",
"sha256:ab68d50c06938ef28681073327795c5db99bb4666214d2d5f880ed11aeaded66",
"sha256:ac43031375a65c3196bee99f6001e7fa5bdfb00ddf43379d3c0609bdca042df9",
"sha256:ae82a14dab96fbfad7965403c643cafe6515e386de723e498cf3eeb1e0b70cc7",
"sha256:b2696efdc08648536efd4e1601b5fd491fd47f4db97a5fbfd175549a7365c1b2",
"sha256:b82c5045cebcecd8496a4d694d43f9cc84aeeb49fe2133e036b207abe73f4d30",
"sha256:be0fc24a5e4531ae4d8e858a1a548c1fe33b176bb13eff7f9d0d38ce5112a27d",
"sha256:bf81de2926c2db243c9b2cbc3917619a0fc85796c6ba4e58f541df814bbf83c7",
"sha256:c375cc72229614632c87355366bdf2570c2dac01ac66b8ad048d2dabadf2d0d4",
"sha256:c797dac8bb9c7a3fd3382b16fe8f215b4cf0f22adccea36f1545a6d7be310b41",
"sha256:cef2a73d06601437be399908cf13aee74e86932a5ccc6ccdf173408ebc5f6bb2",
"sha256:d52a3b618cb1cbb769ce2ee1dcdb333c3ab6e823944e9a2d36e37253815f9556",
"sha256:d719465db13267bcef19ea8954a971db03b9f48b4647e3860e4bc8e6ed86610f",
"sha256:d8dd059447824eec055e829258ab092b56bb0579fc3164fa09c64f3acd478772",
"sha256:dbe196377a8248972f5cede786d4c5508ed5f5ca4a1e09b44bda889958b33f8c",
"sha256:e0830e188029c14e891fadd99702fd90d317df294c3298aad682739c5533721a",
"sha256:f053c40f94bc51bc03832a41b4f153d83f2062d88c72b5e79997072594e97e51",
"sha256:f32c7410c7f246838a77d6d1eff0c0f87f3cb0e7c4247aebea71a6d5a68cab49",
"sha256:f6ee45bc4245533111ced13f1f2cace1e7f89d1c793390392a80c139d6cf0e6c",
"sha256:f7c0410f181a531ec4e93bbc27692f2c71a15c2da16766f5ba9761e7ae518413"
"sha256:026bdf3137ab6022c866efa4813b6bbeddc2ed4c9e7e02f0e323a7bca380dfa0",
"sha256:031b7f5b8e595cc07def77ec5b58464e9bb67dc5760be5d6f26d9da24892481d",
"sha256:0a0a63cb8404d1d1f94968ef35738900038137dab8af836b6c21bb6f03d75465",
"sha256:0a361bd5583bf0bcc08841df3c10269617ee2a36b99ac39d455a767da908bbbc",
"sha256:10d3e5c7a99bd28afb957e1ae661323b0800d75b419f24d041ed1cc5d844a764",
"sha256:1c40c244221a1adbb1256692b1133c6fb89418df27bf759a31a333e7912a4010",
"sha256:203d18df84f5288973b2d56de63d4678cc748250026ca9e1ad8f8a0fd8a75d83",
"sha256:213d6dc25ce686516208d8a3e91120c6a4fdae4a3e06b8505ced5b716b50cc04",
"sha256:3119b2f16de7f7b9212ba76d8fe6a0e9f90b27a1e04683cd89833a991682f639",
"sha256:3fb0b37c896172899a4a93d9442ffdc6f870165f59e05ce2e07c6fded1c15749",
"sha256:41b016e3be4e740b66c79a031a0a6e145728dbc248142e751e8dab4f3188ca1d",
"sha256:4a8d279f78844aad213c4935c18f8292a9432d51af2d88bca99072c903948045",
"sha256:4e6eefae6effa0c35bbbc18c25ee6e0b1da44d2359c3cd526eb0c9e703cf055d",
"sha256:5f2a4ea08e6876206d511365b0bc234edc813d90b930be72c3011bbd7898796f",
"sha256:66d7b171fecf96940ce069923a08ba3df33ef542de82c2ff4fe8caa8346fa95a",
"sha256:687df7ceff57b8f070d02b4db66f75566370e7ae182a0782b6d3d21b0d6917dc",
"sha256:6be0ba61f6ff2e6b68e4270fb63b6813c9e7dec3d15fc3a93f47480444fd72f0",
"sha256:6e9de2b390d253a508dd497e9b5579f3a851f208763ed67fdca5dc0c3ea6849c",
"sha256:760a5e89ebbb172989e8273024a1024b0f084510b9105261b3b00c15e9c9f006",
"sha256:816a966d5d376bf24c92af8f379e78e67278833e4c7cbc9fa41872eec629a060",
"sha256:87ad73763d93add1b6c1f9fcd33af662fd62ed70e620c52fcb79f3ac427cf3a6",
"sha256:896774766fd6be4571a43bc2fcbcb1dcca0807e53cab4a5bf88c4aa861a08e12",
"sha256:8e0143975fc2a6d7136c97e19c637321288371e8f09cff2564ecd73e865ea0b9",
"sha256:90a85a004fefed9e583597478420bf904bb1a065b0b0ee5b9d8d31b04b0f3f70",
"sha256:9b081dac96ab19c54fd8558fac17c9d2c9cb5cc4656e7ed3261ddc927ba3e2c5",
"sha256:9d6b2e8856dec3a6db1ae51aec85c82223e834b228c1d3228aede87eee2b34f9",
"sha256:9f459c8ee2c086455744723628264e43c884be0c7d7b45d84b8cd981310b4815",
"sha256:9fa6e193c14d6944e0685cdb527cb6b38b0e4a518043e7212f214113af7391da",
"sha256:a42b9dc42de2cfe357efa27d9c50c7833fc5ab9b2eb7252ccd5d5f836a84e1e4",
"sha256:b651b0d3642991259109dc0351fc33ad44c624801367bb8307be9bfc35e427ad",
"sha256:b6c12514329ac0d03128cf1dcceb335f4fbf7c11da98bca68dca8dcb983153a9",
"sha256:c52f48eb75fcc119a4fdb68ba83eb5f71656999420375df7c94cc68e0e14686e",
"sha256:c96eeeb8c68b662c7747f91a385688d4b449687d29b691eff7068a4602fe6dc4",
"sha256:cd1077b9a09b16d8c3c7075a8add5ffbfe6a69156a57e290c800ed4d435bef1d",
"sha256:cd5dbbc8e25cad5f706845c4d100e2c8b34691b412b93717ce38d8ae803bcfa5",
"sha256:cf2a60daf6cecff6828bc608df00dbc794380e7234d2411c0ec612811f01969d",
"sha256:d3c93796b44fa111049b88a24105e947f03c01966b5c0cc782e2ee3887b790a3",
"sha256:d796272408f8567ff7eaa00eb2856b3a00524490e47ad505b0b4ca6bb8a7411f",
"sha256:e0fcb7da73fbf67b5f4bdaa57d85bb585a4e913d4a10f3e15b32baea56a67f0a",
"sha256:e14485bb1b83eeb3d55b6878f9560240981e7bbc7a8d4e1e8c38b9bd6ec8d2de",
"sha256:edd14cf733fdc4f6e6fe3f705af97676a7e52859bf0044aa2c84e55be739241c"
],
"index": "pypi",
"markers": "python_version >= '3.9'",
"version": "==3.9.2"
"version": "==3.9.3"
},
"numpy": {
"hashes": [
"sha256:016d0f6f5e77b0f0d45d77387ffa4bb89816b57c835580c3ce8e099ef830befe",
"sha256:02135ade8b8a84011cbb67dc44e07c58f28575cf9ecf8ab304e51c05528c19f0",
"sha256:08788d27a5fd867a663f6fc753fd7c3ad7e92747efc73c53bca2f19f8bc06f48",
"sha256:0d30c543f02e84e92c4b1f415b7c6b5326cbe45ee7882b6b77db7195fb971e3a",
"sha256:0fa14563cc46422e99daef53d725d0c326e99e468a9320a240affffe87852564",
"sha256:13138eadd4f4da03074851a698ffa7e405f41a0845a6b1ad135b81596e4e9958",
"sha256:14e253bd43fc6b37af4921b10f6add6925878a42a0c5fe83daee390bca80bc17",
"sha256:15cb89f39fa6d0bdfb600ea24b250e5f1a3df23f901f51c8debaa6a5d122b2f0",
"sha256:17ee83a1f4fef3c94d16dc1802b998668b5419362c8a4f4e8a491de1b41cc3ee",
"sha256:2312b2aa89e1f43ecea6da6ea9a810d06aae08321609d8dc0d0eda6d946a541b",
"sha256:2564fbdf2b99b3f815f2107c1bbc93e2de8ee655a69c261363a1172a79a257d4",
"sha256:3522b0dfe983a575e6a9ab3a4a4dfe156c3e428468ff08ce582b9bb6bd1d71d4",
"sha256:4394bc0dbd074b7f9b52024832d16e019decebf86caf909d94f6b3f77a8ee3b6",
"sha256:45966d859916ad02b779706bb43b954281db43e185015df6eb3323120188f9e4",
"sha256:4d1167c53b93f1f5d8a139a742b3c6f4d429b54e74e6b57d0eff40045187b15d",
"sha256:4f2015dfe437dfebbfce7c85c7b53d81ba49e71ba7eadbf1df40c915af75979f",
"sha256:50ca6aba6e163363f132b5c101ba078b8cbd3fa92c7865fd7d4d62d9779ac29f",
"sha256:50d18c4358a0a8a53f12a8ba9d772ab2d460321e6a93d6064fc22443d189853f",
"sha256:5641516794ca9e5f8a4d17bb45446998c6554704d888f86df9b200e66bdcce56",
"sha256:576a1c1d25e9e02ed7fa5477f30a127fe56debd53b8d2c89d5578f9857d03ca9",
"sha256:6a4825252fcc430a182ac4dee5a505053d262c807f8a924603d411f6718b88fd",
"sha256:72dcc4a35a8515d83e76b58fdf8113a5c969ccd505c8a946759b24e3182d1f23",
"sha256:747641635d3d44bcb380d950679462fae44f54b131be347d5ec2bce47d3df9ed",
"sha256:762479be47a4863e261a840e8e01608d124ee1361e48b96916f38b119cfda04a",
"sha256:78574ac2d1a4a02421f25da9559850d59457bac82f2b8d7a44fe83a64f770098",
"sha256:825656d0743699c529c5943554d223c021ff0494ff1442152ce887ef4f7561a1",
"sha256:8637dcd2caa676e475503d1f8fdb327bc495554e10838019651b76d17b98e512",
"sha256:96fe52fcdb9345b7cd82ecd34547fca4321f7656d500eca497eb7ea5a926692f",
"sha256:973faafebaae4c0aaa1a1ca1ce02434554d67e628b8d805e61f874b84e136b09",
"sha256:996bb9399059c5b82f76b53ff8bb686069c05acc94656bb259b1d63d04a9506f",
"sha256:a38c19106902bb19351b83802531fea19dee18e5b37b36454f27f11ff956f7fc",
"sha256:a6b46587b14b888e95e4a24d7b13ae91fa22386c199ee7b418f449032b2fa3b8",
"sha256:a9f7f672a3388133335589cfca93ed468509cb7b93ba3105fce780d04a6576a0",
"sha256:aa08e04e08aaf974d4458def539dece0d28146d866a39da5639596f4921fd761",
"sha256:b0df3635b9c8ef48bd3be5f862cf71b0a4716fa0e702155c45067c6b711ddcef",
"sha256:b47fbb433d3260adcd51eb54f92a2ffbc90a4595f8970ee00e064c644ac788f5",
"sha256:baed7e8d7481bfe0874b566850cb0b85243e982388b7b23348c6db2ee2b2ae8e",
"sha256:bc6f24b3d1ecc1eebfbf5d6051faa49af40b03be1aaa781ebdadcbc090b4539b",
"sha256:c006b607a865b07cd981ccb218a04fc86b600411d83d6fc261357f1c0966755d",
"sha256:c181ba05ce8299c7aa3125c27b9c2167bca4a4445b7ce73d5febc411ca692e43",
"sha256:c7662f0e3673fe4e832fe07b65c50342ea27d989f92c80355658c7f888fcc83c",
"sha256:c80e4a09b3d95b4e1cac08643f1152fa71a0a821a2d4277334c88d54b2219a41",
"sha256:c894b4305373b9c5576d7a12b473702afdf48ce5369c074ba304cc5ad8730dff",
"sha256:d7aac50327da5d208db2eec22eb11e491e3fe13d22653dce51b0f4109101b408",
"sha256:d89dd2b6da69c4fff5e39c28a382199ddedc3a5be5390115608345dec660b9e2",
"sha256:d9beb777a78c331580705326d2367488d5bc473b49a9bc3036c154832520aca9",
"sha256:dc258a761a16daa791081d026f0ed4399b582712e6fc887a95af09df10c5ca57",
"sha256:e14e26956e6f1696070788252dcdff11b4aca4c3e8bd166e0df1bb8f315a67cb",
"sha256:e6988e90fcf617da2b5c78902fe8e668361b43b4fe26dbf2d7b0f8034d4cafb9",
"sha256:e711e02f49e176a01d0349d82cb5f05ba4db7d5e7e0defd026328e5cfb3226d3",
"sha256:ea4dedd6e394a9c180b33c2c872b92f7ce0f8e7ad93e9585312b0c5a04777a4a",
"sha256:ecc76a9ba2911d8d37ac01de72834d8849e55473457558e12995f4cd53e778e0",
"sha256:f55ba01150f52b1027829b50d70ef1dafd9821ea82905b63936668403c3b471e",
"sha256:f653490b33e9c3a4c1c01d41bc2aef08f9475af51146e4a7710c450cf9761598",
"sha256:fa2d1337dc61c8dc417fbccf20f6d1e139896a30721b7f1e832b2bb6ef4eb6c4"
"sha256:0557eebc699c1c34cccdd8c3778c9294e8196df27d713706895edc6f57d29608",
"sha256:0798b138c291d792f8ea40fe3768610f3c7dd2574389e37c3f26573757c8f7ef",
"sha256:0da8495970f6b101ddd0c38ace92edea30e7e12b9a926b57f5fabb1ecc25bb90",
"sha256:0f0986e917aca18f7a567b812ef7ca9391288e2acb7a4308aa9d265bd724bdae",
"sha256:122fd2fcfafdefc889c64ad99c228d5a1f9692c3a83f56c292618a59aa60ae83",
"sha256:140dd80ff8981a583a60980be1a655068f8adebf7a45a06a6858c873fcdcd4a0",
"sha256:16757cf28621e43e252c560d25b15f18a2f11da94fea344bf26c599b9cf54b73",
"sha256:18142b497d70a34b01642b9feabb70156311b326fdddd875a9981f34a369b671",
"sha256:1c92113619f7b272838b8d6702a7f8ebe5edea0df48166c47929611d0b4dea69",
"sha256:1e25507d85da11ff5066269d0bd25d06e0a0f2e908415534f3e603d2a78e4ffa",
"sha256:30bf971c12e4365153afb31fc73f441d4da157153f3400b82db32d04de1e4066",
"sha256:3579eaeb5e07f3ded59298ce22b65f877a86ba8e9fe701f5576c99bb17c283da",
"sha256:36b2b43146f646642b425dd2027730f99bac962618ec2052932157e213a040e9",
"sha256:3905a5fffcc23e597ee4d9fb3fcd209bd658c352657548db7316e810ca80458e",
"sha256:3a4199f519e57d517ebd48cb76b36c82da0360781c6a0353e64c0cac30ecaad3",
"sha256:3f2f5cddeaa4424a0a118924b988746db6ffa8565e5829b1841a8a3bd73eb59a",
"sha256:40deb10198bbaa531509aad0cd2f9fadb26c8b94070831e2208e7df543562b74",
"sha256:440cfb3db4c5029775803794f8638fbdbf71ec702caf32735f53b008e1eaece3",
"sha256:4723a50e1523e1de4fccd1b9a6dcea750c2102461e9a02b2ac55ffeae09a4410",
"sha256:4bddbaa30d78c86329b26bd6aaaea06b1e47444da99eddac7bf1e2fab717bd72",
"sha256:4e58666988605e251d42c2818c7d3d8991555381be26399303053b58a5bbf30d",
"sha256:54dc1d6d66f8d37843ed281773c7174f03bf7ad826523f73435deb88ba60d2d4",
"sha256:57fcc997ffc0bef234b8875a54d4058afa92b0b0c4223fc1f62f24b3b5e86038",
"sha256:58b92a5828bd4d9aa0952492b7de803135038de47343b2aa3cc23f3b71a3dc4e",
"sha256:5a145e956b374e72ad1dff82779177d4a3c62bc8248f41b80cb5122e68f22d13",
"sha256:6ab153263a7c5ccaf6dfe7e53447b74f77789f28ecb278c3b5d49db7ece10d6d",
"sha256:7832f9e8eb00be32f15fdfb9a981d6955ea9adc8574c521d48710171b6c55e95",
"sha256:7fe4bb0695fe986a9e4deec3b6857003b4cfe5c5e4aac0b95f6a658c14635e31",
"sha256:7fe8f3583e0607ad4e43a954e35c1748b553bfe9fdac8635c02058023277d1b3",
"sha256:85ad7d11b309bd132d74397fcf2920933c9d1dc865487128f5c03d580f2c3d03",
"sha256:9874bc2ff574c40ab7a5cbb7464bf9b045d617e36754a7bc93f933d52bd9ffc6",
"sha256:a184288538e6ad699cbe6b24859206e38ce5fba28f3bcfa51c90d0502c1582b2",
"sha256:a222d764352c773aa5ebde02dd84dba3279c81c6db2e482d62a3fa54e5ece69b",
"sha256:a50aeff71d0f97b6450d33940c7181b08be1441c6c193e678211bff11aa725e7",
"sha256:a55dc7a7f0b6198b07ec0cd445fbb98b05234e8b00c5ac4874a63372ba98d4ab",
"sha256:a62eb442011776e4036af5c8b1a00b706c5bc02dc15eb5344b0c750428c94219",
"sha256:a7d41d1612c1a82b64697e894b75db6758d4f21c3ec069d841e60ebe54b5b571",
"sha256:a98f6f20465e7618c83252c02041517bd2f7ea29be5378f09667a8f654a5918d",
"sha256:afe8fb968743d40435c3827632fd36c5fbde633b0423da7692e426529b1759b1",
"sha256:b0b227dcff8cdc3efbce66d4e50891f04d0a387cce282fe1e66199146a6a8fca",
"sha256:b30042fe92dbd79f1ba7f6898fada10bdaad1847c44f2dff9a16147e00a93661",
"sha256:b606b1aaf802e6468c2608c65ff7ece53eae1a6874b3765f69b8ceb20c5fa78e",
"sha256:b6207dc8fb3c8cb5668e885cef9ec7f70189bec4e276f0ff70d5aa078d32c88e",
"sha256:c2aed8fcf8abc3020d6a9ccb31dbc9e7d7819c56a348cc88fd44be269b37427e",
"sha256:cb24cca1968b21355cc6f3da1a20cd1cebd8a023e3c5b09b432444617949085a",
"sha256:cff210198bb4cae3f3c100444c5eaa573a823f05c253e7188e1362a5555235b3",
"sha256:d35717333b39d1b6bb8433fa758a55f1081543de527171543a2b710551d40881",
"sha256:df12a1f99b99f569a7c2ae59aa2d31724e8d835fc7f33e14f4792e3071d11221",
"sha256:e09d40edfdb4e260cb1567d8ae770ccf3b8b7e9f0d9b5c2a9992696b30ce2742",
"sha256:e12c6c1ce84628c52d6367863773f7c8c8241be554e8b79686e91a43f1733773",
"sha256:e2b8cd48a9942ed3f85b95ca4105c45758438c7ed28fff1e4ce3e57c3b589d8e",
"sha256:e500aba968a48e9019e42c0c199b7ec0696a97fa69037bea163b55398e390529",
"sha256:ebe5e59545401fbb1b24da76f006ab19734ae71e703cdb4a8b347e84a0cece67",
"sha256:f0dd071b95bbca244f4cb7f70b77d2ff3aaaba7fa16dc41f58d14854a6204e6c",
"sha256:f8c8b141ef9699ae777c6278b52c706b653bf15d135d302754f6b2e90eb30367"
],
"index": "pypi",
"markers": "python_version >= '3.10'",
"version": "==2.1.3"
"version": "==2.2.0"
},
"openpyxl": {
"hashes": [
......@@ -604,7 +605,7 @@
"sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3",
"sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'",
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
"version": "==2.9.0.post0"
},
"pytz": {
......@@ -663,19 +664,19 @@
},
"setuptools": {
"hashes": [
"sha256:5c4ccb41111392671f02bb5f8436dfc5a9a7185e80500531b133f5775c4163ef",
"sha256:87cb777c3b96d638ca02031192d40390e0ad97737e27b6b4fa831bea86f2f829"
"sha256:8199222558df7c86216af4f84c30e9b34a61d8ba19366cc914424cdbd28252f6",
"sha256:ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d"
],
"markers": "python_version >= '3.9'",
"version": "==75.5.0"
"version": "==75.6.0"
},
"six": {
"hashes": [
"sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926",
"sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"
"sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274",
"sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'",
"version": "==1.16.0"
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
"version": "==1.17.0"
},
"soupsieve": {
"hashes": [
......
libs @ 2f58fd6b
Subproject commit e999a694089e47c020248cad04fa7f8443fb51ab
Subproject commit 2f58fd6bdf1896be9945b73ca9b36af322b84eb1
......@@ -38,6 +38,8 @@ add_executable(${MODULE_NAME}
# Link the runtime libraries -> Use the actual needed libraries
target_link_libraries(${MODULE_NAME}
PUBLIC
Matplot++::matplot
PRIVATE
UnicadoLibs::aixml
UnicadoLibs::runtimeInfo
......
This diff is collapsed.
......@@ -54,49 +54,52 @@
<performance_checks description="Settings that affect different functionalities!">
<payload_range_diagram description="Payload Range Diagram Calculation">
<switch description="On-Off-Switch for this method: 1:On, 0:Off" Unit="-" Default="1">1</switch>
<fidelityLevel description="Fidelity level of calculation">low</fidelityLevel>
<fidelity_level description="Fidelity level of calculation">low</fidelity_level>
</payload_range_diagram>
<engine_performance description="Engine power estimation">
<switch description="On-Off-Switch for this method: 1:On, 0:Off" Unit="-" Default="1">1</switch>
<fidelityLevel description="Fidelity level of calculation">low</fidelityLevel>
<fidelity_level description="Fidelity level of calculation">low</fidelity_level>
</engine_performance>
<flight_envelope_performance description="Estimation of flight range limits">
<switch description="On-Off-Switch for this method: 1:On, 0:Off" Unit="-" Default="1">1</switch>
<fidelityLevel description="Fidelity level of calculation">low</fidelityLevel>
<overwrite_initial_values>false</overwrite_initial_values>
<fidelity_level description="Fidelity level of calculation">low</fidelity_level>
<overwrite_initial_values>0</overwrite_initial_values>
</flight_envelope_performance>
<climb_performance description="Climb Performance (so far only for plots)" Default="1">
<switch description="On-Off-Switch for this method: 1:On, 0:Off" Default="1">1</switch>
<fidelityLevel description="Fidelity level of calculation">low</fidelityLevel>
<switch description="On-Off-Switch for this method: 1:On, 0:Off" Default="1">0</switch>
<fidelity_level description="Fidelity level of calculation">low</fidelity_level>
</climb_performance>
<to_performance description="Estimation of the starting distance">
<takeoff_performance description="Estimation of the starting distance">
<switch description="On-Off-Switch for this method: 1:On, 0:Off" Unit="-" Default="1">1</switch>
<fidelityLevel description="Fidelity level of calculation">low</fidelityLevel>
<calculate_blfl_performance>true</calculate_blfl_performance>
</to_performance>
<fidelity_level description="Fidelity level of calculation">low</fidelity_level>
<calculate_blfl_performance>1</calculate_blfl_performance>
</takeoff_performance>
<landing_performance description="Landing distance estimation" >
<switch description="On-Off-Switch for this method: 1:On, 0:Off" Unit="-" Default="1">1</switch>
<fidelityLevel description="Fidelity level of calculation">low</fidelityLevel>
<fidelity_level description="Fidelity level of calculation">low</fidelity_level>
</landing_performance>
<vn_diagram description="Switch for calculation of V-n diagram 1: On, 0: Off">
<switch description="On-Off-Switch for this method: 1:On, 0:Off" Unit="-" Default="1">1</switch>
<fidelityLevel description="Fidelity level of calculation">low</fidelityLevel>
<fidelity_level description="Fidelity level of calculation">low</fidelity_level>
</vn_diagram>
<sar_performance>
<fidelity_level>low</fidelity_level>
</sar_performance>
</performance_checks>
<constants_for_performance_checks>
<engine_performance>
<ratings>
<rating ID="1">
<value>Cruise</value>
<value>cruise</value>
</rating>
<rating ID="2">
<value>Climb</value>
<value>climb</value>
</rating>
<rating ID="3">
<value>MaxCont</value>
<value>maximum_continuous</value>
</rating>
<rating ID="4">
<value>TO</value>
<value>takeoff</value>
</rating>
</ratings>
</engine_performance>
......@@ -142,16 +145,17 @@
</vn_diagram>
</constants_for_performance_checks>
<modes description="other settings that influence different modes!">
<fuel_planning description="Fuel estimation switch: 1:On, 0:Off" Default="0">0</fuel_planning>
<fuel_planning description="Fuel estimation switch: 1:On, 0:Off" Default="0">1</fuel_planning>
<use_study_mission_for_analysis description="1: use missionStudy.xml, 0: use missionDesign.xml" Default="0">0</use_study_mission_for_analysis>
<mtom_design description="Redetermination of the MTOM: 1:Yes (e.g. DesignLoop), 0:No (e.g. only analysis)" Default="0">0</mtom_design>
</modes>
<mission description="Specification of the mission">
<optimize_mission_profile description="Switch to optimize the mission profile" Unit="-" Default="0">0</optimize_mission_profile>
<fidelity_level>low</fidelity_level>
</mission>
<fuel_planning>
<switch>true</switch>
<fidelityLevel description="Fidelity level of calculation">lol</fidelityLevel>
<switch>1</switch>
<fidelity_level description="Fidelity level of calculation">low</fidelity_level>
<contingency_fuel description="Relative percentage of Contigency Fuel in total Trip Fuel" Default="0.05">
<value>0.03</value>
<unit>1</unit>
......
......@@ -9,11 +9,12 @@
*
*/
#ifndef performanceAssessment_SRC_LIBS_MULTI_ENGINE_PROPULSION_H_
#define performanceAssessment_SRC_LIBS_MULTI_ENGINE_PROPULSION_H_
#ifndef MISSION_ANALYSIS_SRC_LIBS_MULTI_ENGINE_PROPULSION_MULTI_ENGINE_PROPULSION_H_
#define MISSION_ANALYSIS_SRC_LIBS_MULTI_ENGINE_PROPULSION_MULTI_ENGINE_PROPULSION_H_
#include <map>
#include <memory>
#include <set>
#include <string>
#include <tuple>
#include <utility>
......@@ -39,11 +40,14 @@ class Multi_engine_propulsion {
std::vector<std::string> get_engine_names(const int& energy_carrier_id);
std::vector<Engine> get_engines(const int& energy_carrier_id);
std::vector<double> get_thrust_shares(const int& energy_carrier_id);
uint16_t get_number_of_engines(const int& energy_carrier_id);
std::vector<OperatingPoint> get_operating_points(const int& energy_carrier_id);
void set_operating_points(const int& energy_carrier_id, std::vector<OperatingPoint> operating_points);
double get_aircraft_fuelflow(const int& energy_carrier_id);
double get_aircraft_energyflow(const int& energy_carrier_id);
double get_aircraft_energyflow(const int& energy_carrier_id, const double& aircraft_fuelflow);
double get_thrust_aircraft(const int& energy_carrier_id);
void calculate_N1_with_penalties(const int& energy_carrier_id,
......@@ -68,11 +72,12 @@ class Multi_engine_propulsion {
public:
std::string name;
Engine engine;
std::vector<uint16_t> engine_id;
double thrust_share;
/** \brief Constructor of used_components.
*/
Propulsor(const std::string& a_name, Engine an_engine, const double& a_thrust_share);
Propulsor(const std::string& a_name, Engine an_engine, const uint16_t& an_id, const double& a_thrust_share);
/** \brief Destructor of used_components
*/
......@@ -84,32 +89,54 @@ class Multi_engine_propulsion {
uint16_t tank_id;
double capacity;
double relative_capacity;
double used_energy;
double consumed_energy;
/** \brief Constructor of used_components.
*/
Tank(uint16_t a_tank_id, double a_capacity);
/** \brief Destructor of used_components
*/
virtual ~Tank();
};
class Energy_consumption {
public:
double density;
double gravimetric_density;
double volumetric_density;
std::vector<Tank> tanks;
/** \brief Constructor of used_components.
*/
Tank(uint16_t a_tank_id, double a_capacity, double a_density, double a_gravimetric_density, double a_volumetric_density);
Energy_consumption();
/** \brief Constructor of used_components.
*/
Energy_consumption(double a_density, double a_gravimetric_density, double a_volumetric_density);
/** \brief Destructor of used_components
*/
virtual ~Tank();
virtual ~Energy_consumption();
};
std::vector<Tank> get_tanks_by_id(int energy_carrier_id);
std::map<int, double> get_consumed_energy_map();
double get_consumed_energy(const int& energy_carrier_id);
std::map<int, double> get_energyflow_map();
std::vector<Tank> get_tanks_by_id(const int& energy_carrier_id);
void tank_setup(const node& tank_definition, const node& tank_design);
void drain_tanks(const int& energy_carrier_id, const double& consumed_energy);
void drain_tanks(const int& energy_carrier_id, const double& delta_t, const double& fuelflow = NAN);
double get_consumed_fuel_mass();
double get_total_energy_capacity(const int& energy_carrier_id);
double get_energy_carrier_capacity(const int& energy_carrier_id);
std::vector<Propulsor> get_propulsors(const int& energy_carrier_id);
private:
/* variables */
std::map<int, std::vector<Propulsor>> propulsors;
std::map<int, std::vector<Tank>> tanks;
std::map<int, Energy_consumption> energy_consumption;
/* functions */
void check_energy_carrier_id(const int& energy_carrier_id, const std::string additional_info = "");
bool vector_check(const std::vector<int>& v1, const std::vector<int>& v2);
};
#endif // performanceAssessment_SRC_LIBS_MULTI_ENGINE_PROPULSION_H_
#endif // MISSION_ANALYSIS_SRC_LIBS_MULTI_ENGINE_PROPULSION_MULTI_ENGINE_PROPULSION_H_
......@@ -24,31 +24,8 @@
performance_assessment::performance_assessment(const int argc, char *argv[], const std::string& toolName, const std::string& toolVersion) : Module(argc, argv, toolName, toolVersion) {
std::string configuration = rtIO_->aircraft_configuration_type();
std::string strategySelectionByUser = rtIO_->moduleConfig.at("/module_configuration_file/program_settings/module_strategy");
std::string fidelitySelectionByUser = rtIO_->moduleConfig.at("/module_configuration_file/program_settings/module_fidelity_level");
route = {configuration, strategySelectionByUser, fidelitySelectionByUser};
strategy.setStrategy(design_routing(route)(rtIO_));
}
strategyaccess performance_assessment::design_routing(const std::vector<std::string> &route) {
/* Routing table */
std::map<std::string, std::map<std::string, std::map<std::string, strategyaccess>>> table = {
{"tube_and_wing",
std::map<std::string, std::map<std::string, strategyaccess>>{
{"default_methods",
std::map<std::string, strategyaccess>{
{"low",
[](const std::shared_ptr<RuntimeIO> &arg) { return std::make_unique<taw::performance_assessment_factory>(arg); }},
}},
}},
{"blended_wing_body",
std::map<std::string, std::map<std::string, strategyaccess>>{
{"default_methods",
std::map<std::string, strategyaccess>{
{"low",
[](const std::shared_ptr<RuntimeIO> &arg) { return std::make_unique<taw::performance_assessment_factory>(arg); }},
}}}}};
return table[route.at(0)][route.at(1)][route.at(2)];
/* Register existing strategies */
strategy.registerStrategy<taw::performance_assessment_factory>({"tube_and_wing"});
strategy.setStrategy({configuration}, rtIO_);
}
......@@ -100,9 +100,13 @@ double SARPerformance::calculateSAR(double mass, double alt, double mach, string
double SAR(0.0);
double cruiseTAS = theAcftPt->atm.getSpeedOfSound(alt) * mach;
double cruiseDrag = theAcftPt->aero.getCruiseDrag(mach, alt, 0., mass, configuration, theAcftPt->atm);
try {
theAcftPt->myEngines.calculate_N1_with_thrustlimit(theAcftPt->myEnergyProviders.energyCarrierID_cruise, alt, mach, theAcftPt->atm, 1., rating, theAcftPt->myMission.bleedOffCr,
theAcftPt->myMission.shaftOffCr, cruiseDrag / 1000.);
if (1000. * theAcftPt->myEngines.get_thrust_aircraft(theAcftPt->myEnergyProviders.energyCarrierID_cruise) >= 0.99 * cruiseDrag) {
theAcftPt->myMission.shaftOffCr, cruiseDrag);
} catch (int status) {
double current_ac_thrust = theAcftPt->myEngines.get_thrust_aircraft(theAcftPt->myEnergyProviders.energyCarrierID_cruise); //TODO(hansmann): Revise this section
}
if (theAcftPt->myEngines.get_thrust_aircraft(theAcftPt->myEnergyProviders.energyCarrierID_cruise) >= 0.99 * cruiseDrag) {
SAR = cruiseTAS / theAcftPt->myEngines.get_aircraft_fuelflow(theAcftPt->myEnergyProviders.energyCarrierID_cruise);
} else {
SAR = 0.0;
......
......@@ -34,29 +34,29 @@ VnDiagram::VnDiagram(std::shared_ptr<aircraft> theAircraft, const std::shared_pt
}
void VnDiagram::doVnDiagram() {
/* Calculation of the decisive coefficients, which define the shape of the first part of the V-n diagram (quadratic shape) Coeff*pow(v,2) */
CleanCoefficientPos = (theAcftPt->aero.getCLmax(0., "Clean") * 0.5 * theAcftPt->atm.getDensity(0.) * theAcftPt->S_Wing) / (theAcftPt->MTOM * G_FORCE);
CleanCoefficientPos = (theAcftPt->aero.getCLmax(0., "clean") * 0.5 * theAcftPt->atm.getDensity(0.) * theAcftPt->S_Wing) / (theAcftPt->MTOM * G_FORCE);
CleanCoefficientNeg = -CleanCoefficientPos; // Assumption: minimum lift coefficient is as high as positive one
FlapsCoefficientTO = (theAcftPt->aero.CLmaxTakeoff * 0.5 * theAcftPt->atm.getDensity(0.) * theAcftPt->S_Wing) / (theAcftPt->MTOM * G_FORCE);
// Note here the use of MLM instead of MTOM
FlapsCoefficientLDG = (theAcftPt->aero.CLmaxLanding * 0.5 * theAcftPt->atm.getDensity(0.) * theAcftPt->S_Wing) / (theAcftPt->MLM * G_FORCE);
/* Diagram for die Clean-configuration */
for (int i = 0 ; i <= theAcftPt->VDive + 5; i += step) {
for (int i = 0 ; i <= theAcftPt->VDive + convertUnit(KNOTS, METERPERSECOND, 5); i += step) {
tempValues.speed = i;
tempValues.n_upperBound = calc_upperBoundClean(CleanCoefficientPos, convertUnit(KNOTS, METERPERSECOND, tempValues.speed));
tempValues.n_lowerBound = calc_lowerBoundClean(CleanCoefficientNeg, convertUnit(KNOTS, METERPERSECOND, tempValues.speed));
tempValues.n_upperBound = calc_upperBoundClean(CleanCoefficientPos, tempValues.speed);
tempValues.n_lowerBound = calc_lowerBoundClean(CleanCoefficientNeg, tempValues.speed);
myCleanDiagram.push_back(tempValues);
}
/* Diagram for the Takeoff configuration */
for (int i = 0 ; i <= theAcftPt->VDive + 5; i += step) { // TODO(Ufermann): Determine maximum speed for TakeOff configuration
tempValues.speed = i;
tempValues.n_upperBound = calc_upperBoundFlaps("Takeoff", FlapsCoefficientTO, convertUnit(KNOTS, METERPERSECOND, tempValues.speed));
tempValues.n_upperBound = calc_upperBoundFlaps("takeoff", FlapsCoefficientTO, tempValues.speed);
tempValues.n_lowerBound = 0;
myTakeoffDiagram.push_back(tempValues);
}
/* Diagram for the Landing configuration */
for (int i = 0 ; i <= theAcftPt->VDive + 5; i += step) { // TODO(Ufermann): Determine maximum speed for landing configuration
for (int i = 0 ; i <= theAcftPt->VDive + convertUnit(KNOTS, METERPERSECOND, 5); i += step) { // TODO(Ufermann): Determine maximum speed for landing configuration
tempValues.speed = i;
tempValues.n_upperBound = calc_upperBoundFlaps("Landing", FlapsCoefficientLDG, convertUnit(KNOTS, METERPERSECOND, tempValues.speed));
tempValues.n_upperBound = calc_upperBoundFlaps("landing", FlapsCoefficientLDG, tempValues.speed);
tempValues.n_lowerBound = 0;
myLandingDiagram.push_back(tempValues);
}
......@@ -71,7 +71,7 @@ double VnDiagram::calc_upperBoundClean(double Coefficient, double v) { // v in
return 0;
}
// Upper v Limit
if (v >= convertUnit(KNOTS, METERPERSECOND, theAcftPt->VDive)) {
if (v >= theAcftPt->VDive) {
return 0;
}
// maximum n from config
......@@ -90,14 +90,14 @@ double VnDiagram::calc_lowerBoundClean(double Coefficient, double v) {
return 0;
}
// upper v limit
if (v >= convertUnit(KNOTS, METERPERSECOND, theAcftPt->VDive)) {
if (v >= theAcftPt->VDive) {
return 0;
}
// If v is interpolated linearly between VMO and VDive
if (v >= convertUnit(KNOTS, METERPERSECOND, theAcftPt->VMO) && v <= convertUnit(KNOTS, METERPERSECOND, theAcftPt->VDive)) {
if (v >= theAcftPt->VMO && v <= theAcftPt->VDive) {
return mySettingsPt->myVnDiagramConstants.minNClean + ((0 - mySettingsPt->myVnDiagramConstants.minNClean) /
(convertUnit(KNOTS, METERPERSECOND, theAcftPt->VDive) - convertUnit(KNOTS, METERPERSECOND, theAcftPt->VMO))) *
(v - convertUnit(KNOTS, METERPERSECOND, theAcftPt->VMO));
(theAcftPt->VDive - theAcftPt->VMO)) *
(v - theAcftPt->VMO);
}
// n limit
if (n <= mySettingsPt->myVnDiagramConstants.minNClean) {
......@@ -109,9 +109,9 @@ double VnDiagram::calc_lowerBoundClean(double Coefficient, double v) {
double VnDiagram::calc_upperBoundFlaps(const string &configuration, double Coefficient, double v) {
double n(Coefficient * pow(v, 2));
if (configuration == "Takeoff") {
if (configuration == "takeoff") {
// upper limit v
if (v >= convertUnit(KNOTS, METERPERSECOND, theAcftPt->VDive)) {
if (v >= theAcftPt->VDive) {
return 0;
}
// lower limit v
......@@ -125,9 +125,9 @@ double VnDiagram::calc_upperBoundFlaps(const string &configuration, double Coeff
return n;
}
}
if (configuration == "Landing") {
if (configuration == "landing") {
// upper limit v
if (v >= convertUnit(KNOTS, METERPERSECOND, theAcftPt->VDive)) {
if (v >= theAcftPt->VDive) {
return 0;
}
// lower limit v
......
This diff is collapsed.
This diff is collapsed.
......@@ -23,7 +23,8 @@ namespace low {
enginePerformance::enginePerformance(std::shared_ptr<aircraft> theAircraftPt)
:
maxThrust(0.0) {
maxThrust(0.0),
theAircraftPt(theAircraftPt) {
// ctor
}
enginePerformance::~enginePerformance() {
......@@ -41,9 +42,8 @@ void enginePerformance::doEngineCalculation(vector<string> theRating) {
theAircraftPt->myEngines.calculate_N1_with_penalties(theAircraftPt->myEnergyProviders.energyCarrierID_cruise, alt, mach, theAircraftPt->atm, 1.,
theRatingEngine.back().Rating, 0., 0.);
theRatingEngine.back().theParameter.back().Mach.push_back(mach);
theRatingEngine.back().theParameter.back().Thrust.push_back(theAircraftPt->myEngines.get_thrust_aircraft(theAircraftPt->myEnergyProviders.energyCarrierID_cruise)
/ 2);
theRatingEngine.back().theParameter.back().SFC.push_back(theAircraftPt->myEngines.get_thrust_aircraft(theAircraftPt->myEnergyProviders.energyCarrierID_cruise)
theRatingEngine.back().theParameter.back().Thrust.push_back(theAircraftPt->myEngines.get_thrust_aircraft(theAircraftPt->myEnergyProviders.energyCarrierID_cruise));
theRatingEngine.back().theParameter.back().SFC.push_back(theAircraftPt->myEngines.get_aircraft_fuelflow(theAircraftPt->myEnergyProviders.energyCarrierID_cruise)
/ theAircraftPt->myEngines.get_thrust_aircraft(theAircraftPt->myEnergyProviders.energyCarrierID_cruise));
}
}
......
......@@ -28,7 +28,7 @@ class performance_assessment_factory;
/* Abstract class of fuel planning */
// The purpose of this class is to be inherited by all "fuelPlanning" (high/mid/.../low) methods.
class abstractFuelPlanning {
class abstractFuelPlanning : public std::enable_shared_from_this<abstractFuelPlanning> {
public:
virtual ~abstractFuelPlanning() { }
virtual void doFuelPlanning() = 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment