{"id":18931,"date":"2023-04-22T16:52:05","date_gmt":"2023-04-22T16:52:05","guid":{"rendered":"https:\/\/www.elomatic.com\/?page_id=18931"},"modified":"2025-11-06T10:27:28","modified_gmt":"2025-11-06T10:27:28","slug":"finflo","status":"publish","type":"page","link":"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/","title":{"rendered":"FINFLO\u00ae"},"content":{"rendered":"\r\n<div id=\"\" data-sectionname=\"\" data-sectionid=\"elomatic-section-block_5a0143fafbdfd0ee7bca7d3fea8cb520\"\r\n     class=\"elomatic-section sectionTypo-normal sectionHasBackgroundImage has-valkoinen-color has-calm-grey-background-color has-none-gradient-background sectionBG-position-center align-items-end sectionHeightMin100VH_defunc sectionHeightMin100VH normalPadding  startShapesFromBottom   pageSection container-fluid Xd-sm-flex d-flex   positionRelative coverBackground \" style=\"background-image: url('https:\/\/www.elomatic.com\/wp-content\/uploads\/2023\/04\/aerospace-web.png');\" data-gradient=\"none\">\r\n\r\n\r\n    \r\n\r\n    <div data-backgroundcolor=\"calm-grey\" data-textcolor=\"valkoinen\" class=\"sectionBackgroundColorVeil has-calm-grey-background-color \"><\/div>\r\n\r\n\r\n    <div class=\"sectionGridWrapper\" data-fill=\"white\"\r\n         data-koodi=\"\" data-testikoodi=\"\">\r\n        <div class=\"gridBlockRow\" data-sarakkeita=\"8\"><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><\/div><div class=\"gridBlockRow\" data-sarakkeita=\"8\"><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><\/div>    <\/div>\r\n\r\n    <div class=\"sectionGridWrapperExtension\"><\/div>\r\n    <div class=\"container-sm sectionContent\">\r\n        <div class=\"row widthMedium\">\r\n            <div class=\"col-12 p-0\">\r\n                \n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h1 style=\"text-align: center;\">FINFLO<sup>\u00ae<\/sup><\/h1>\n<p class=\"sectionIngres\" style=\"text-align: center;\">FINFLO\u00ae ON Navier-Stokes-ratkaisija, joka pystyy k\u00e4sittelem\u00e4\u00e4n sek\u00e4 koonpuristumattomia ett\u00e4 kokoonpuristuvia virtauksia. Sit\u00e4 ryhdyttiin kehitt\u00e4m\u00e4\u00e4n jo vuonna 1987, jolloin Helsingin teknillisess\u00e4 korkeakoulussa aloitettiin virtauslaskennan tutkimusprojekti.<\/p>\n<\/div>\n<\/div>\n\n\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    \r\n        \r\n        <div class=\"elomaticScrollDown   scroll-align-center  \"><i class=\"fa-solid fa-chevron-down\"><\/i><\/div>\r\n    \r\n<\/div>\r\n\r\n\n\n\r\n<div id=\"\"  data-sectionnameX=\"\" data-sectionidX=\"elomatic-section-block_8dd18e7d2dad1a6d708082ccf16189a8\"\r\n     class=\"elomatic-section sectionTypo-normal noBackgroundImage has-none-color has-none-background-color align-items-start sectionHeightMin100VH_defunc natural-height noPadding  normalShapes  pageSection container-fluid p-0 Xd-sm-flex d-flex   positionRelative coverBackground \"  style=\"background-image: url('');\">\r\n    <div data-backgroundcolor=\"none\" data-textcolor=\"none\" class=\"sectionBackgroundColorVeil has-none-background-color \"><\/div>\r\n    <div class=\"sectionGridWrapper\" data-fill=\"white\"\r\n         data-koodi=\"\" data-testikoodi=\"\">\r\n        <div class=\"gridBlockRow\" data-sarakkeita=\"8\"><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><\/div><div class=\"gridBlockRow\" data-sarakkeita=\"8\"><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"1\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"1\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"1\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"1\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><\/div><div class=\"gridBlockRow\" data-sarakkeita=\"8\"><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><\/div><div class=\"gridBlockRow\" data-sarakkeita=\"8\"><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.4\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><\/div>    <\/div>\r\n\r\n    <div class=\"sectionGridWrapperExtension\"><\/div>\r\n    <div class=\"container-fluid sectionContent\">\r\n        <div class=\"row \">\r\n            <div class=\"col-12 p-0\">\r\n                \n\r\n<div id=\"\" data-sectionname=\"\" data-sectionid=\"elomatic-section-block_209e2f312eb06cf055fe74d193dd3348\"\r\n     class=\"elomatic-section sectionTypo-normal noBackgroundImage has-none-color has-none-background-color has-none-gradient-background sectionBG-position-center align-items-start sectionHeightMin100VH_defunc natural-height lightPadding  normalShapes   pageSection container-fluid Xd-sm-flex d-flex   positionRelative coverBackground \" style=\"background-image: url('');\" data-gradient=\"none\">\r\n\r\n\r\n    \r\n\r\n    <div data-backgroundcolor=\"none\" data-textcolor=\"none\" class=\"sectionBackgroundColorVeil has-none-background-color \"><\/div>\r\n\r\n\r\n    <div class=\"sectionGridWrapper\" data-fill=\"white\"\r\n         data-koodi=\"\" data-testikoodi=\"\">\r\n            <\/div>\r\n\r\n    <div class=\"sectionGridWrapperExtension\"><\/div>\r\n    <div class=\"container-sm sectionContent\">\r\n        <div class=\"row widthNarrow\">\r\n            <div class=\"col-12 p-0\">\r\n                \n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"sectionIngres\">Itse ratkaisijan lis\u00e4ksi FINFLO-ymp\u00e4rist\u00f6 sis\u00e4lt\u00e4\u00e4 useita ty\u00f6kaluja esik\u00e4sittelyyn (laskentahilan luonti) ja j\u00e4lkik\u00e4sittelyyn (esim. visualisointi ja datan analysointi). FINFLO on tehokkaasti rinnakkaistettu, ja sit\u00e4 ajetaan niin supertietokoneilla kuin PC:ll\u00e4kin.<\/p>\n<p>Reynolds-keskiarvottaminen on useimmiten ainoa tapa k\u00e4sitell\u00e4 turbulenssia teknisiss\u00e4 sovelluksissa. Reynolds-keskiarvotettujen yht\u00e4l\u00f6iden kanssa voidaan k\u00e4ytt\u00e4\u00e4 useita eri tapoja turbulenssin mallintamiseksi. FINFLOssa turbulenssi pystyt\u00e4\u00e4n simuloimaan niin yksinkertaisilla algebrallisilla malleilla (Baldwin-Lomax, Cebeci-Smith) kuin Reynoldsin j\u00e4nnitysmenetelm\u00e4ll\u00e4kin. Kaikkein yleisimm\u00e4t turbulenssimallit (k-\u03b5 ja SST k-\u03d6) ovat kaksiyht\u00e4l\u00f6malleja, toisin sanoen virtausta kuvaavien perusyht\u00e4l\u00f6iden lis\u00e4ksi ratkaistaan kaksi ylim\u00e4\u00e4r\u00e4ist\u00e4 differentiaaliyht\u00e4l\u00f6\u00e4. Turbulenssin simulointi ainakin osittain ajasta riippuvana ilmi\u00f6n\u00e4 on kuitenkin yleistym\u00e4ss\u00e4 my\u00f6s teknisiss\u00e4 sovelluksissa. FINFLOssa k\u00e4ytet\u00e4\u00e4nkin aerodynaamisissa sovelluksissa paljon DES-menetelm\u00e4\u00e4 (detached eddy simulation) ja siit\u00e4 edelleen kehitettyj\u00e4 turbulenssin kuvaustapoja.<\/p>\n<p>Aerodynamiikan simulointien lis\u00e4ksi FINFLO-koodia k\u00e4ytet\u00e4\u00e4n lukuisissa muissa sovelluksissa, joista yksi t\u00e4rke\u00e4 esimerkki on py\u00f6riv\u00e4t koneet. Koodia on k\u00e4ytetty pumppujen ja laivojen potkureiden simuloinnissa (kokoonpuristumaton virtaus) sek\u00e4 suurnopeuskompressoreissa, joissa virtaus on kokoonpuristuvaa.<\/p>\n<p>Oma laskentakoodi tuo er\u00e4it\u00e4 etuja. Jos simuloinnissa tarvitaan sellainen numeerinen malli, jota ei viel\u00e4 ole, sellainen voidaan helposti ja viiveett\u00e4 implementoida malliin. Uusia tapoja mallintaa turbulenssia voidaan testata l\u00e4hes v\u00e4litt\u00f6m\u00e4sti, kun ne on kehitetty.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n<\/div>\n\n\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    \r\n<\/div>\r\n\r\n\n\n\r\n<div id=\"\" data-sectionname=\"\" data-sectionid=\"elomatic-section-block_d2928ac5589aba62ec6545b1f290e40f\"\r\n     class=\"elomatic-section sectionTypo-normal noBackgroundImage has-none-color has-none-background-color has-none-gradient-background sectionBG-position-center align-items-start sectionHeightMin100VH_defunc natural-height noPadding  normalShapes   pageSection container-fluid Xd-sm-flex d-flex   positionRelative coverBackground \" style=\"background-image: url('');\" data-gradient=\"none\">\r\n\r\n\r\n    \r\n\r\n    <div data-backgroundcolor=\"none\" data-textcolor=\"none\" class=\"sectionBackgroundColorVeil has-none-background-color \"><\/div>\r\n\r\n\r\n    <div class=\"sectionGridWrapper\" data-fill=\"white\"\r\n         data-koodi=\"\" data-testikoodi=\"\">\r\n            <\/div>\r\n\r\n    <div class=\"sectionGridWrapperExtension\"><\/div>\r\n    <div class=\"container-sm sectionContent\">\r\n        <div class=\"row widthNarrow\">\r\n            <div class=\"col-12 p-0\">\r\n                \n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-style-elomatic-extra-padding has-valkoinen-color has-navy-blue-background-color has-text-color has-background has-link-color wp-elements-ba2b28cf0174b0d412ef541d0a123c10 is-layout-flow wp-block-column-is-layout-flow\">\n<h4 class=\"elomatic-noTopMargin\">FINFLO-ratkaisijaa voidaan k\u00e4ytt\u00e4\u00e4 simuloimaan lentokoneen ohjausta<\/h4>\n\n\n\n<div class=\"tb-video\"><video controls loop data-src=\"https:\/\/www.elomatic.com\/wp-content\/uploads\/2025\/01\/FINFLO_inhouse_CFD-code_aerodynamics.webm\" data-toolset-blocks-video=\"a6f08dab151a119c95099139ae9f0559\"><\/video><\/div>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    \r\n<\/div>\r\n\r\n\n\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    \r\n<\/div>\r\n\r\n\n\n\r\n<div id=\"ota-yhteytta\" data-sectionname=\"Ota yhteytt\u00e4\" data-sectionid=\"elomatic-section-block_d1121a42431a27f655c7ce0e0b6c557e\"\r\n     class=\"elomatic-section wp-elements-5e87d86b6ee8c6bee82fc12199f6468f sectionTypo-normal noBackgroundImage has-valkoinen-color has-navy-blue-background-color has-none-gradient-background sectionBG-position-center align-items-start sectionHeightMin100VH_defunc natural-height lightPadding  normalShapes   pageSection container-fluid Xd-sm-flex d-flex   positionRelative coverBackground \" style=\"background-image: url('');\" data-gradient=\"none\">\r\n\r\n\r\n    \r\n\r\n    <div data-backgroundcolor=\"navy-blue\" data-textcolor=\"valkoinen\" class=\"sectionBackgroundColorVeil has-navy-blue-background-color \"><\/div>\r\n\r\n\r\n    <div class=\"sectionGridWrapper\" data-fill=\"white\"\r\n         data-koodi=\"\" data-testikoodi=\"\">\r\n            <\/div>\r\n\r\n    <div class=\"sectionGridWrapperExtension\"><\/div>\r\n    <div class=\"container-sm sectionContent\">\r\n        <div class=\"row widthMedium\">\r\n            <div class=\"col-12 p-0\">\r\n                \n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h3 class=\"elomatic-noTopMargin\" style=\"margin-bottom: 0px; text-align: left;\">Ota yhteytt\u00e4<\/h3>\n<\/div>\n<\/div>\n\n\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    \r\n<\/div>\r\n\r\n\n\n\r\n<div id=\"\" data-sectionname=\"\" data-sectionid=\"elomatic-section-block_457ebe051c8b723ab4b33cb5084bc13d\"\r\n     class=\"elomatic-section sectionTypo-normal noBackgroundImage has-none-color has-none-background-color has-none-gradient-background sectionBG-position-center align-items-start sectionHeightMin100VH_defunc natural-height noPadding  normalShapes   pageSection container-fluid Xd-sm-flex d-flex   positionRelative coverBackground \" style=\"background-image: url('');\" data-gradient=\"none\">\r\n\r\n\r\n    \r\n\r\n    <div data-backgroundcolor=\"none\" data-textcolor=\"none\" class=\"sectionBackgroundColorVeil has-none-background-color \"><\/div>\r\n\r\n\r\n    <div class=\"sectionGridWrapper\" data-fill=\"white\"\r\n         data-koodi=\"\" data-testikoodi=\"\">\r\n        <div class=\"gridBlockRow\" data-sarakkeita=\"8\"><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"1\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"MB8\" data-opacity=\"1\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><\/div><div class=\"gridBlockRow\" data-sarakkeita=\"8\"><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"1\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"1\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"1\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"1\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><\/div><div class=\"gridBlockRow\" data-sarakkeita=\"8\"><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"1\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><\/div><div class=\"gridBlockRow\" data-sarakkeita=\"8\"><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"MB8\" data-opacity=\"0.6\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><svg id=\"\" data-name=\"\" data-version=\"new\" class=\"gridBlock\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 359 619\"> <defs> <style> .cls-1{fill:#ffffff;stroke:#ffffff;} .cls-2{fill:#ffffff;stroke:#ffffff;} .cls-3{fill:#ffffff;stroke:#ffffff;} .cls-4{fill:#ffffff;stroke:#ffffff;} <\/style> <\/defs><polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-1\" points=\"180 310 0 620 360 620 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-2\" points=\"180 310 360 0 0 0 180 310\"\/> <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-3\" points=\"180 310 0 0 0 620 180 310\"\/>  <polygon data-bg=\"TRSP\" data-opacity=\"0\" class=\"cls-4\" points=\"180 310 360 0 360 620 180 310\"\/><\/svg><\/div>    <\/div>\r\n\r\n    <div class=\"sectionGridWrapperExtension\"><\/div>\r\n    <div class=\"container-sm sectionContent\">\r\n        <div class=\"row widthMedium\">\r\n            <div class=\"col-12 p-0\">\r\n                \n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div style=\"height:80px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\r\n\r\n\r\n<div id=\"elomatic-section-block_7b3fe8d0a3cedc6122e14e1f08f574ca\" class=\"elomatic-phases container-fluid contactPersonContainer p-0\">\r\n    <div class=\"row contactPersonRow row-cols-sm-1 Xrow-cols-lg-2 Xrow-cols-xxl-2 row-cols-lg-1 row-cols-xxl-1\">\r\n\r\n        \r\n            \r\n                \r\n                <div class=\"contactPersonWrapper    largeContactImage \" data-published=\"publish\">\r\n\r\n                    <div class=\"contactPersonInner\">\r\n                                                    <div class=\"contactImage\">\r\n                                <img decoding=\"async\" src=\"https:\/\/www.elomatic.com\/wp-content\/uploads\/2023\/04\/Teemu-Nieminen-web-24.jpg\">\r\n                            <\/div>\r\n                        \r\n                        <div class=\"contactInfo\">\r\n                            <h6>Teemu Nieminen<\/h6>\r\n                            <p class=\"contactTitle\">Sales Manager<\/p>\r\n                                                        <p>\r\n                                <a class=\"contactPhone\" href=\"tel:+358 440 337 650\"><i class=\"fa-solid fa-phone\"><\/i>+358 440 337 650<\/a>\r\n                                <a class=\"contactEmail\" href=\"mailto:teemu.nieminen@elomatic.com\"><i class=\"fa-solid fa-paper-plane\"><\/i>teemu.nieminen@elomatic.com<\/a>\r\n\r\n                            <\/p>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            \r\n            \r\n        \r\n    <\/div>\r\n\r\n<\/div><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-style-default is-layout-flow wp-block-column-is-layout-flow\">\n<h4 class=\"elomatic-noTopMargin elomatic-noBottomMargin\">Haluatko tiet\u00e4\u00e4 lis\u00e4\u00e4?<\/h4>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\r\n\r\n\r\n<div id=\"elomatic-section-block_a4dc55c33cc1e7a86f7a9941466a6b1a\" class=\"elomatic-phases container-fluid cta-semiauto-list-container\">\r\n    <div class=\"row ctaCardRow Xrow-cols-sm-1 Xrow-cols-lg-2 Xrow-cols-xxl-2\">\r\n\r\n\r\n        \r\n\r\n                <!-- cta kortti  -->\r\n                <div class=\"col-12 col-md-6 ctaCardWrapper \">\r\n                    <div class=\"CTAsemiCardInnerWrapper has-navy-blue-background-color\">\r\n                        <div class=\"CTAsemiCardInnerWrapperTop\" style=\"background-image: url('https:\/\/www.elomatic.com\/wp-content\/uploads\/2023\/03\/GettyImages-1264125895.jpg');\">\r\n                            <div class=\"CTAsemiCardPostType \">\r\n                                Palvelu                                <div class=\"CTAsemiCardPostTypeTriangle has-navy-blue-background-color\"><\/div>\r\n                            <\/div>\r\n                            <div class=\"CTAsemiCardPostTitle\">\r\n                                <h5>Lujuuslaskenta kone- ja laitevalmistusteollisuudessa<\/h5>\r\n                                <div class=\"CTAsemiCardPostTitleBG has-navy-blue-background-color\"><\/div>\r\n                            <\/div>\r\n                            <!-- <a class=\"CTAsemiCardLink\" href=\"\"><\/a>-->\r\n                        <\/div>\r\n                        <div class=\"CTAsemiCardInnerWrapperBottom\">\r\n                            <div class=\"CTAexcerptWrapper\">\r\n                                <p>Olemme tarjonneet lujuuslaskentapalveluja kone- ja laitevalmistusteollisuudelle 1970-luvulta l\u00e4htien. Analyysity\u00f6kalut ja -menetelm\u00e4t ovat vuosien saatossa parantuneet ja tietokoneiden laskentakapasiteetti on kasvanut, mutta laskennan perusperiaatteet ovat s\u00e4ilyneet samoina.<\/p>\n                            <\/div>\r\n\r\n                            <div class=\"CTAbottomTriangle   has-menthe-blue-background-color\"><\/div>\r\n                        <\/div>\r\n                        <div class=\"linkButtonWrapper\">\r\n                                                            <a class=\"linkButton\" target=\"\" href=\"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/lujuuslaskenta\/lujuuslaskenta-kone-ja-laitevalmistusteollisuudessa\/\">Lue lis\u00e4\u00e4<\/a>\r\n                            \r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                <!-- \/cta kortti  -->\r\n\r\n            \r\n\r\n                <!-- cta kortti  -->\r\n                <div class=\"col-12 col-md-6 ctaCardWrapper \">\r\n                    <div class=\"CTAsemiCardInnerWrapper has-navy-blue-background-color\">\r\n                        <div class=\"CTAsemiCardInnerWrapperTop\" style=\"background-image: url('https:\/\/www.elomatic.com\/wp-content\/uploads\/2022\/11\/Depositphotos_1326145_XL-scaled-1.jpg');\">\r\n                            <div class=\"CTAsemiCardPostType typeTextColorDark\">\r\n                                Top Engineer                                <div class=\"CTAsemiCardPostTypeTriangle has-navy-blue-background-color\"><\/div>\r\n                            <\/div>\r\n                            <div class=\"CTAsemiCardPostTitle\">\r\n                                <h5>Finding the full potential of CFD<\/h5>\r\n                                <div class=\"CTAsemiCardPostTitleBG has-navy-blue-background-color\"><\/div>\r\n                            <\/div>\r\n                            <!-- <a class=\"CTAsemiCardLink\" href=\"\"><\/a>-->\r\n                        <\/div>\r\n                        <div class=\"CTAsemiCardInnerWrapperBottom\">\r\n                            <div class=\"CTAexcerptWrapper\">\r\n                                <p>CFD, or Computational Fluid Dynamics, is a method that is often utilized only for the post-design phase, although it is very well suited for wider and efficient use throughout the design process. Optimal use of CFD analysis generally shortens projects\u2019 lead times and improves product assessment. It also provides an excellent basis for preparing digital twins. In process modeling tasks, CFD is an excellent tool for studying the components, for example.<\/p>\n                            <\/div>\r\n\r\n                            <div class=\"CTAbottomTriangle   has-menthe-blue-background-color\"><\/div>\r\n                        <\/div>\r\n                        <div class=\"linkButtonWrapper\">\r\n                                                            <a class=\"linkButton\" target=\"\" href=\"https:\/\/www.elomatic.com\/top-engineer\/finding-the-full-potential-of-cfd\/\">Lue lis\u00e4\u00e4<\/a>\r\n                            \r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                <!-- \/cta kortti  -->\r\n\r\n            \r\n\r\n    <\/div>\r\n\r\n<\/div>\r\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n<\/div>\n\n\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    \r\n<\/div>\r\n\r\n","protected":false},"excerpt":{"rendered":"<p>FINFLO\u00ae ON Navier-Stokes-ratkaisija, joka pystyy k\u00e4sittelem\u00e4\u00e4n sek\u00e4 koonpuristumattomia ett\u00e4 kokoonpuristuvia virtauksia. Sit\u00e4 ryhdyttiin kehitt\u00e4m\u00e4\u00e4n jo vuonna 1987, jolloin Helsingin teknillisess\u00e4 korkeakoulussa aloitettiin virtauslaskennan tutkimusprojekti.<\/p>\n","protected":false},"author":2,"featured_media":18938,"parent":2043,"menu_order":10,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"business-unit":[],"insight-theme":[],"industryx":[],"class_list":["post-18931","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.1 (Yoast SEO v27.1.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>FINFLO\u00ae - Elomatic<\/title>\n<meta name=\"description\" content=\"FINFLO\u00ae ON Navier-Stokes-ratkaisija, joka pystyy k\u00e4sittelem\u00e4\u00e4n sek\u00e4 koonpuristumattomia ett\u00e4 kokoonpuristuvia virtauksia. Sit\u00e4 ryhdyttiin kehitt\u00e4m\u00e4\u00e4n jo vuonna 1987, jolloin Helsingin teknillisess\u00e4 korkeakoulussa aloitettiin virtauslaskennan tutkimusprojekti.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/\" \/>\n<meta property=\"og:locale\" content=\"fi_FI\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FINFLO\u00ae\" \/>\n<meta property=\"og:description\" content=\"FINFLO\u00ae ON Navier-Stokes-ratkaisija, joka pystyy k\u00e4sittelem\u00e4\u00e4n sek\u00e4 koonpuristumattomia ett\u00e4 kokoonpuristuvia virtauksia. Sit\u00e4 ryhdyttiin kehitt\u00e4m\u00e4\u00e4n jo vuonna 1987, jolloin Helsingin teknillisess\u00e4 korkeakoulussa aloitettiin virtauslaskennan tutkimusprojekti.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/\" \/>\n<meta property=\"og:site_name\" content=\"Elomatic\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/elomaticoy\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-06T10:27:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.elomatic.com\/wp-content\/uploads\/2023\/04\/aerospace-web.png\" \/>\n\t<meta property=\"og:image:width\" content=\"884\" \/>\n\t<meta property=\"og:image:height\" content=\"530\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ElomaticOy\" \/>\n<meta name=\"twitter:label1\" content=\"Arvioitu lukuaika\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minuuttia\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/\",\"url\":\"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/\",\"name\":\"FINFLO\u00ae - Elomatic\",\"isPartOf\":{\"@id\":\"https:\/\/www.elomatic.com\/fi\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.elomatic.com\/wp-content\/uploads\/2023\/04\/aerospace-web.png\",\"datePublished\":\"2023-04-22T16:52:05+00:00\",\"dateModified\":\"2025-11-06T10:27:28+00:00\",\"description\":\"FINFLO\u00ae ON Navier-Stokes-ratkaisija, joka pystyy k\u00e4sittelem\u00e4\u00e4n sek\u00e4 koonpuristumattomia ett\u00e4 kokoonpuristuvia virtauksia. Sit\u00e4 ryhdyttiin kehitt\u00e4m\u00e4\u00e4n jo vuonna 1987, jolloin Helsingin teknillisess\u00e4 korkeakoulussa aloitettiin virtauslaskennan tutkimusprojekti.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/#breadcrumb\"},\"inLanguage\":\"fi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/#primaryimage\",\"url\":\"https:\/\/www.elomatic.com\/wp-content\/uploads\/2023\/04\/aerospace-web.png\",\"contentUrl\":\"https:\/\/www.elomatic.com\/wp-content\/uploads\/2023\/04\/aerospace-web.png\",\"width\":884,\"height\":530},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Etusivu\",\"item\":\"https:\/\/www.elomatic.com\/fi\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Teknologiaratkaisut\",\"item\":\"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Virtauslaskenta\",\"item\":\"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Virtauslaskenta aerodynaamisissa ja kevytrakenteissa\",\"item\":\"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"FINFLO\u00ae\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.elomatic.com\/fi\/#website\",\"url\":\"https:\/\/www.elomatic.com\/fi\/\",\"name\":\"Elomatic\",\"description\":\"Visions of Tomorrow, Engineered Today\",\"publisher\":{\"@id\":\"https:\/\/www.elomatic.com\/fi\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.elomatic.com\/fi\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fi\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.elomatic.com\/fi\/#organization\",\"name\":\"Elomatic\",\"url\":\"https:\/\/www.elomatic.com\/fi\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"https:\/\/www.elomatic.com\/fi\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.elomatic.com\/wp-content\/uploads\/2023\/05\/Elomatic_Logo_Slogan_RGB.png\",\"contentUrl\":\"https:\/\/www.elomatic.com\/wp-content\/uploads\/2023\/05\/Elomatic_Logo_Slogan_RGB.png\",\"width\":1848,\"height\":521,\"caption\":\"Elomatic\"},\"image\":{\"@id\":\"https:\/\/www.elomatic.com\/fi\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/elomaticoy\",\"https:\/\/x.com\/ElomaticOy\",\"https:\/\/www.linkedin.com\/company\/elomatic\",\"https:\/\/www.instagram.com\/elomaticoy\/\",\"https:\/\/www.youtube.com\/channel\/UCclTiQQtIi7d4oCK9M-fjOA\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"FINFLO\u00ae - Elomatic","description":"FINFLO\u00ae ON Navier-Stokes-ratkaisija, joka pystyy k\u00e4sittelem\u00e4\u00e4n sek\u00e4 koonpuristumattomia ett\u00e4 kokoonpuristuvia virtauksia. Sit\u00e4 ryhdyttiin kehitt\u00e4m\u00e4\u00e4n jo vuonna 1987, jolloin Helsingin teknillisess\u00e4 korkeakoulussa aloitettiin virtauslaskennan tutkimusprojekti.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/","og_locale":"fi_FI","og_type":"article","og_title":"FINFLO\u00ae","og_description":"FINFLO\u00ae ON Navier-Stokes-ratkaisija, joka pystyy k\u00e4sittelem\u00e4\u00e4n sek\u00e4 koonpuristumattomia ett\u00e4 kokoonpuristuvia virtauksia. Sit\u00e4 ryhdyttiin kehitt\u00e4m\u00e4\u00e4n jo vuonna 1987, jolloin Helsingin teknillisess\u00e4 korkeakoulussa aloitettiin virtauslaskennan tutkimusprojekti.","og_url":"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/","og_site_name":"Elomatic","article_publisher":"https:\/\/www.facebook.com\/elomaticoy","article_modified_time":"2025-11-06T10:27:28+00:00","og_image":[{"width":884,"height":530,"url":"https:\/\/www.elomatic.com\/wp-content\/uploads\/2023\/04\/aerospace-web.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@ElomaticOy","twitter_misc":{"Arvioitu lukuaika":"2 minuuttia"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/","url":"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/","name":"FINFLO\u00ae - Elomatic","isPartOf":{"@id":"https:\/\/www.elomatic.com\/fi\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/#primaryimage"},"image":{"@id":"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/#primaryimage"},"thumbnailUrl":"https:\/\/www.elomatic.com\/wp-content\/uploads\/2023\/04\/aerospace-web.png","datePublished":"2023-04-22T16:52:05+00:00","dateModified":"2025-11-06T10:27:28+00:00","description":"FINFLO\u00ae ON Navier-Stokes-ratkaisija, joka pystyy k\u00e4sittelem\u00e4\u00e4n sek\u00e4 koonpuristumattomia ett\u00e4 kokoonpuristuvia virtauksia. Sit\u00e4 ryhdyttiin kehitt\u00e4m\u00e4\u00e4n jo vuonna 1987, jolloin Helsingin teknillisess\u00e4 korkeakoulussa aloitettiin virtauslaskennan tutkimusprojekti.","breadcrumb":{"@id":"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/#breadcrumb"},"inLanguage":"fi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/"]}]},{"@type":"ImageObject","inLanguage":"fi","@id":"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/#primaryimage","url":"https:\/\/www.elomatic.com\/wp-content\/uploads\/2023\/04\/aerospace-web.png","contentUrl":"https:\/\/www.elomatic.com\/wp-content\/uploads\/2023\/04\/aerospace-web.png","width":884,"height":530},{"@type":"BreadcrumbList","@id":"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/finflo\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Etusivu","item":"https:\/\/www.elomatic.com\/fi\/"},{"@type":"ListItem","position":2,"name":"Teknologiaratkaisut","item":"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/"},{"@type":"ListItem","position":3,"name":"Virtauslaskenta","item":"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/"},{"@type":"ListItem","position":4,"name":"Virtauslaskenta aerodynaamisissa ja kevytrakenteissa","item":"https:\/\/www.elomatic.com\/fi\/teknologiaratkaisut\/virtauslaskenta\/virtauslaskenta-aerodynaamisissa-ja-kevytrakenteissa\/"},{"@type":"ListItem","position":5,"name":"FINFLO\u00ae"}]},{"@type":"WebSite","@id":"https:\/\/www.elomatic.com\/fi\/#website","url":"https:\/\/www.elomatic.com\/fi\/","name":"Elomatic","description":"Visions of Tomorrow, Engineered Today","publisher":{"@id":"https:\/\/www.elomatic.com\/fi\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.elomatic.com\/fi\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fi"},{"@type":"Organization","@id":"https:\/\/www.elomatic.com\/fi\/#organization","name":"Elomatic","url":"https:\/\/www.elomatic.com\/fi\/","logo":{"@type":"ImageObject","inLanguage":"fi","@id":"https:\/\/www.elomatic.com\/fi\/#\/schema\/logo\/image\/","url":"https:\/\/www.elomatic.com\/wp-content\/uploads\/2023\/05\/Elomatic_Logo_Slogan_RGB.png","contentUrl":"https:\/\/www.elomatic.com\/wp-content\/uploads\/2023\/05\/Elomatic_Logo_Slogan_RGB.png","width":1848,"height":521,"caption":"Elomatic"},"image":{"@id":"https:\/\/www.elomatic.com\/fi\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/elomaticoy","https:\/\/x.com\/ElomaticOy","https:\/\/www.linkedin.com\/company\/elomatic","https:\/\/www.instagram.com\/elomaticoy\/","https:\/\/www.youtube.com\/channel\/UCclTiQQtIi7d4oCK9M-fjOA"]}]}},"_links":{"self":[{"href":"https:\/\/www.elomatic.com\/fi\/wp-json\/wp\/v2\/pages\/18931","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.elomatic.com\/fi\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.elomatic.com\/fi\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.elomatic.com\/fi\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.elomatic.com\/fi\/wp-json\/wp\/v2\/comments?post=18931"}],"version-history":[{"count":15,"href":"https:\/\/www.elomatic.com\/fi\/wp-json\/wp\/v2\/pages\/18931\/revisions"}],"predecessor-version":[{"id":38025,"href":"https:\/\/www.elomatic.com\/fi\/wp-json\/wp\/v2\/pages\/18931\/revisions\/38025"}],"up":[{"embeddable":true,"href":"https:\/\/www.elomatic.com\/fi\/wp-json\/wp\/v2\/pages\/2043"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.elomatic.com\/fi\/wp-json\/wp\/v2\/media\/18938"}],"wp:attachment":[{"href":"https:\/\/www.elomatic.com\/fi\/wp-json\/wp\/v2\/media?parent=18931"}],"wp:term":[{"taxonomy":"business-unit","embeddable":true,"href":"https:\/\/www.elomatic.com\/fi\/wp-json\/wp\/v2\/business-unit?post=18931"},{"taxonomy":"insight-theme","embeddable":true,"href":"https:\/\/www.elomatic.com\/fi\/wp-json\/wp\/v2\/insight-theme?post=18931"},{"taxonomy":"industryx","embeddable":true,"href":"https:\/\/www.elomatic.com\/fi\/wp-json\/wp\/v2\/industryx?post=18931"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}