{"id":926,"date":"2020-11-17T11:02:16","date_gmt":"2020-11-17T11:02:16","guid":{"rendered":"https:\/\/wordpress.peters-research.com\/?page_id=926"},"modified":"2020-11-17T11:03:18","modified_gmt":"2020-11-17T11:03:18","slug":"current-technology-and-future-developments-in-elevator-simulation","status":"publish","type":"page","link":"https:\/\/wordpress.peters-research.com\/index.php\/papers\/current-technology-and-future-developments-in-elevator-simulation\/","title":{"rendered":"Current Technology and Future Developments in Elevator Simulation"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"926\" class=\"elementor elementor-926\">\n\t\t\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-2bd44fca elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-eae-slider=\"73413\" data-id=\"2bd44fca\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-691f4c74\" data-eae-slider=\"37956\" data-id=\"691f4c74\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1907e04f elementor-widget elementor-widget-text-editor\" data-id=\"1907e04f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"457\" class=\"elementor elementor-457\">\n\t\t\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-inner-section elementor-element elementor-element-18f9bc28 elementor-section-full_width elementor-section-content-middle elementor-section-height-default elementor-section-height-default\" data-eae-slider=\"16505\" data-id=\"18f9bc28\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-14 elementor-inner-column elementor-element elementor-element-3e31ad68\" data-eae-slider=\"10199\" data-id=\"3e31ad68\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-72297194 elementor-widget elementor-widget-image\" data-id=\"72297194\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"\/index.php\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/wordpress.peters-research.com\/wp-content\/uploads\/elementor\/thumbs\/grey-back-or3ftrbi74b1izha3jb4hu9squmw6mk92kpjh3js9i.png\" title=\"grey back\" alt=\"grey back\" class=\"elementor-animation-grow\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-14 elementor-inner-column elementor-element elementor-element-3d4ddb8c\" data-eae-slider=\"51967\" data-id=\"3d4ddb8c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6f55fd7f elementor-widget elementor-widget-spacer\" data-id=\"6f55fd7f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-161f74d elementor-hidden-desktop elementor-hidden-tablet hfe-menu-item-space-between hfe-submenu-icon-arrow hfe-link-redirect-child elementor-widget elementor-widget-navigation-menu\" data-id=\"161f74d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;hamburger_align&quot;:&quot;center&quot;,&quot;hamburger_menu_align&quot;:&quot;space-between&quot;,&quot;width_flyout_menu_item&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:300,&quot;sizes&quot;:[]},&quot;width_flyout_menu_item_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;width_flyout_menu_item_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;padding_flyout_menu_item&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:30,&quot;sizes&quot;:[]},&quot;padding_flyout_menu_item_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;padding_flyout_menu_item_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;padding_horizontal_menu_item&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:15,&quot;sizes&quot;:[]},&quot;padding_horizontal_menu_item_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;padding_horizontal_menu_item_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;padding_vertical_menu_item&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:15,&quot;sizes&quot;:[]},&quot;padding_vertical_menu_item_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;padding_vertical_menu_item_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;menu_space_between&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;menu_space_between_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;menu_space_between_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;menu_top_space&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;menu_top_space_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;menu_top_space_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;dropdown_border_radius&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;dropdown_border_radius_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;dropdown_border_radius_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;padding_horizontal_dropdown_item&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;padding_horizontal_dropdown_item_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;padding_horizontal_dropdown_item_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;padding_vertical_dropdown_item&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:15,&quot;sizes&quot;:[]},&quot;padding_vertical_dropdown_item_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;padding_vertical_dropdown_item_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;toggle_size&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;toggle_size_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;toggle_size_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;toggle_border_width&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;toggle_border_width_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;toggle_border_width_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;toggle_border_radius&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;toggle_border_radius_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;toggle_border_radius_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;close_flyout_size&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;close_flyout_size_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;close_flyout_size_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"navigation-menu.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<div class=\"hfe-nav-menu__toggle elementor-clickable hfe-flyout-trigger\" tabindex=\"0\" role=\"button\" aria-label=\"Menu Toggle\">\n\t\t\t\t\t<div class=\"hfe-nav-menu-icon\">\n\t\t\t\t\t\t<i aria-hidden=\"true\" tabindex=\"0\" class=\"fas fa-align-justify\"><\/i>\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<div class=\"hfe-flyout-wrapper\" >\n\t\t\t\t<div class=\"hfe-flyout-overlay elementor-clickable\"><\/div>\n\t\t\t\t<div class=\"hfe-flyout-container\">\n\t\t\t\t\t<div id=\"hfe-flyout-content-id-161f74d\" class=\"hfe-side hfe-flyout-left hfe-flyout-open\" data-layout=\"left\" data-flyout-type=\"normal\">\n\t\t\t\t\t\t<div class=\"hfe-flyout-content push\">\n\t\t\t\t\t\t\t<nav >\n\t\t\t\t\t\t\t\t<ul id=\"menu-1-161f74d\" class=\"hfe-nav-menu\"><li id=\"menu-item-39\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-home parent hfe-creative-menu\"><a href=\"https:\/\/wordpress.peters-research.com\/\" class = \"hfe-menu-item\">Home<\/a><\/li>\n<li id=\"menu-item-697\" class=\"menu-item menu-item-type-post_type menu-item-object-page parent hfe-creative-menu\"><a href=\"https:\/\/wordpress.peters-research.com\/index.php\/products-services\/\" class = \"hfe-menu-item\">Products and Services<\/a><\/li>\n<li id=\"menu-item-698\" class=\"menu-item menu-item-type-post_type menu-item-object-page parent hfe-creative-menu\"><a href=\"https:\/\/wordpress.peters-research.com\/index.php\/training-support\/\" class = \"hfe-menu-item\">Training and Support<\/a><\/li>\n<li id=\"menu-item-696\" class=\"menu-item menu-item-type-post_type menu-item-object-page parent hfe-creative-menu\"><a href=\"https:\/\/wordpress.peters-research.com\/index.php\/download\/\" class = \"hfe-menu-item\">Download<\/a><\/li>\n<li id=\"menu-item-699\" class=\"menu-item menu-item-type-post_type menu-item-object-page parent hfe-creative-menu\"><a href=\"https:\/\/wordpress.peters-research.com\/index.php\/team\/\" class = \"hfe-menu-item\">About us<\/a><\/li>\n<li id=\"menu-item-700\" class=\"menu-item menu-item-type-custom menu-item-object-custom parent hfe-creative-menu\"><a href=\"https:\/\/store.peters-research.com\/\" class = \"hfe-menu-item\">Store<\/a><\/li>\n<\/ul>\t\t\t\t\t\t\t<\/nav>\n\t\t\t\t\t\t\t<div class=\"elementor-clickable hfe-flyout-close\" tabindex=\"0\">\n\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" tabindex=\"0\" class=\"far fa-window-close\"><\/i>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-14 elementor-inner-column elementor-element elementor-element-2e467c1\" data-eae-slider=\"79922\" data-id=\"2e467c1\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-56f0c74 elementor-align-center animated-fast elementor-hidden-phone elementor-invisible elementor-widget elementor-widget-button\" data-id=\"56f0c74\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:0}\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-xl elementor-animation-grow\" href=\"\/index.php\/products-services\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Products &amp; Services\u200b<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-14 elementor-inner-column elementor-element elementor-element-ee5d266\" data-eae-slider=\"67012\" data-id=\"ee5d266\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7dc6c8fc elementor-align-center animated-fast elementor-hidden-phone elementor-invisible elementor-widget elementor-widget-button\" data-id=\"7dc6c8fc\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:0}\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-xl elementor-animation-grow\" href=\"\/index.php\/training-support\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Training &amp; Support\u200b<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-14 elementor-inner-column elementor-element elementor-element-4df95089\" data-eae-slider=\"27502\" data-id=\"4df95089\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-22f993ce elementor-align-center animated-fast elementor-hidden-phone elementor-invisible elementor-widget elementor-widget-button\" data-id=\"22f993ce\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:0}\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-xl elementor-animation-grow\" href=\"\/index.php\/download\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Download\u200b<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-14 elementor-inner-column elementor-element elementor-element-787805\" data-eae-slider=\"71612\" data-id=\"787805\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6b4aaf05 elementor-align-center animated-fast elementor-hidden-phone elementor-invisible elementor-widget elementor-widget-button\" data-id=\"6b4aaf05\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:0}\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-xl elementor-animation-grow\" href=\"\/index.php\/team\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">About Us<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-14 elementor-inner-column elementor-element elementor-element-16d52443\" data-eae-slider=\"11386\" data-id=\"16d52443\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-31529b70 elementor-align-center animated-fast elementor-hidden-phone elementor-invisible elementor-widget elementor-widget-button\" data-id=\"31529b70\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:0}\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-xl elementor-animation-grow\" href=\"https:\/\/store.peters-research.com\/\" target=\"_blank\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Store\u200b<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"has_eae_slider elementor-section elementor-top-section elementor-element elementor-element-45d24470 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-eae-slider=\"65710\" data-id=\"45d24470\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_eae_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-48487994\" data-eae-slider=\"91457\" data-id=\"48487994\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-624c56e elementor-widget elementor-widget-heading\" data-id=\"624c56e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Current Technology and Future Developments in Elevator Simulation\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-550f1783 elementor-widget elementor-widget-text-editor\" data-id=\"550f1783\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Dr Richard Peters, Peters Research Ltd<\/p><p><em>This paper was published\u00a0in the International Journal of Elevator Engineers. Volume 4 No.2 (2002).\u00a0<\/em><em>It is reproduced with permission from The International Association of Elevator Engineers.\u00a0<\/em><em>This web version \u00a9 Peters Research Ltd 2009.<\/em><br \/><br \/><\/p><h3>Abstract<\/h3><p>Elevate is traffic analysis and simulation software used by consultants, elevator companies and researchers world-wide.\u00a0 The program runs under Windows, reflecting the dominance of this platform, and customers expectations for easy to use graphical user interfaces.\u00a0 Other platforms may need to be considered in future years.\u00a0 A detailed description of the main simulation classes provides an outline specification for Elevate\u2019s object orientated elevator simulation.\u00a0 Elevator simulation is becoming increasingly more flexible and powerful.\u00a0 Current and possible future developments to Elevate are discussed.<\/p><h3><br \/>Introduction<\/h3><p>Elevator simulation models of varying sophistication have been written and applied for many years.\u00a0 The continuing improvements in computer technology and software development tools make increasing complex and comprehensive simulation models feasible.<\/p><p>The author writes primarily from his own experience in developing the traffic analysis and simulation software package, Elevate[1].\u00a0 Other simulation programs have different approaches, but most of the key issues, variables and functions will be similar.<\/p><p>The discussion will be of interest to those who want to understand the basic principles of how an elevator simulation works.\u00a0 For aspiring authors of elevator simulations, the class descriptions and flow diagram provide a good starting point for development.<\/p><h3><br \/>Software technology<\/h3><p>When writing a simulation, choosing the software technology to apply is an early and important decision.<\/p><p>The author began writing elevator simulation programs in the 1980\u2019s.\u00a0 At that time, most engineering programs were being written for the IBM PC with Microsoft DOS.\u00a0 In the early 1990\u2019s Microsoft Windows emerged as the dominant operating system and users began to expect easy to use, graphical user interfaces.<\/p><p>Elevate is written using Microsoft Visual C++.\u00a0 This is the author\u2019s favoured development tool as Microsoft Windows is currently the most widely used operating system.\u00a0 C++ allows the developer to apply objected oriented programming as discussed in following sections.\u00a0 It also produces very fast and portable (re-usable) code.<\/p><p>Future development tools and platforms for elevator simulation will be determined by the continued dominance or loss in popularity of Windows.\u00a0 If Windows looses favour, alternatives will need to be considered.\u00a0 Two possibilities are:<\/p><ul><li>Java applications \u2013 the Java language is closely related to C++, but runs on a \u201cvirtual machine\u201d that is available for different operating systems.\u00a0 So, a single version of the software can run under all popular operating systems. Other single source to multiple platform development tools are emerging, and will be popular with developers.<\/li><li>Internet applications can be run on the user\u2019s machine (client side) and on the computer hosting the web site (server side).\u00a0 For an Internet elevator simulation program, the author envisages a client side application in Java to enter data, view the simulation display and present the results.\u00a0 The client side application would link to a server side application, which would perform the simulation calculations in C++ or other language.<\/li><\/ul><p>Both alternatives are already technically feasible but the development platforms are less mature, so some advanced functionality would not be available, and the programs would run slower than native Windows applications.<br \/><br \/>Software development tools are continually improving, so the best tools for elevator simulation need to be kept under review.<\/p><h4><strong>Introducing objects<\/strong><\/h4><p>Traditional structural programming techniques break a program into several smaller tasks by defining a set of functions.\u00a0 Object oriented programming (OOP) builds on this by introducing objects.\u00a0 In an object, both the variables and functions are grouped together.\u00a0 The behaviour (i.e. the variables and functions) of an object is defined by the class to which it belongs.\u00a0 Each object is an \u201cinstance\u201d of a class.<\/p><p>Object oriented programming uses abstraction to allow the programmer to consider the important details of the problem in hand, and to ignore unnecessary complexities.\u00a0 Encapsulation is applied to hide the details of a solution so that the solution is easier to understand.<\/p><p>For an example of how OOP is mimicking the real world, consider Ginger the cat in Figure 1.<\/p><p><img decoding=\"async\" src=\"https:\/\/wordpress.peters-research.com\/images\/stories\/papers\/currenttechnologyandfuturedevelopments\/image002.jpg\" alt=\"\" border=\"0\" \/><\/p><p><br \/><strong><em>Figure 1\u00a0\u00a0 Ginger the cat<\/em><\/strong>\u00a0<sup>graphic from [2]<\/sup><br \/><br \/>The world has a class cat.\u00a0 Everything in the cat class has a set of the same variables (no of paws, age, sex, etc.) and a range of functions (if you chase it runs; if you pat it, it\u00a0 purrs).\u00a0 Ginger is an object, and an instance of the cat class.\u00a0 He has all the functions and variables of a cat.\u00a0 The cat class utilises abstraction and encapsulation:\u00a0 If we feed Ginger, he will eat without us having to understand the complexities of his digestive system; we can concentrate on the tasks in hand such as preparing his food and stroking him.<\/p><p>Returning to elevators, we can define the class elevator with variables such as capacity and speed, and functions such as StartJourney().\u00a0 We can create as many elevator objects as we need; each elevator object is independent, but may use all the variables and functions defined by the class.<\/p><p>OOP helps break down complex problems into manageable parts that are easy to work with as they represent familiar ideas or components.\u00a0\u00a0 The approach works extremely well for elevator simulation.\u00a0 The author\u2019s original simulation program in Fortran became more difficult to enhance as the program became larger and more complex.\u00a0 Elevate is object orientated and currently has over 20 000 lines of software code, yet adding additional functionality is relatively straightforward.<\/p><h3>Class descriptions<\/h3><p>Elevate has over 30 classes.\u00a0 Many are related to the user interface and other supporting features.\u00a0 The main simulation classes, their principle variables and functions are discussed in the following subsections.<\/p><h4><strong>Building class<\/strong><\/h4><p>The building class defines the building in terms of number of stories and story heights.\u00a0 The variables and functions are summarised in Table 1.<\/p><table class=\"art-article\" border=\"0\"><tbody><tr><td><strong>Class Information<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><em>member variables<\/em><\/td><td>\u00a0<\/td><\/tr><tr><td>int m_NoFloors:<\/td><td>no of floors in building<\/td><\/tr><tr><td>double m_floorPositions [MAX_FLOORS]<\/td><td>array of floor heights<\/td><\/tr><tr><td><em>functions<\/em><\/td><td>\u00a0<\/td><\/tr><tr><td>double BuildingHeight():<\/td><td>calculates building height<\/td><\/tr><\/tbody><\/table><p><strong><em>Table 1\u00a0\u00a0 Building class variables and functions<\/em><\/strong><\/p><h4><strong>Motion class<\/strong><\/h4><p>The main purpose of the motion class is to enable an elevator object to determine its current position and speed while travelling.\u00a0 It can also tell the elevator when it will arrive at its next stop, and whether or not it can stop in time if a new call is registered in front of its next scheduled stop.\u00a0 The variables and functions for the motion class are defined in Table 2.\u00a0 Implementation is based on ideal elevator kinematics formulae[3].\u00a0 Examples of the velocity \u2013 time plots generated by the motion class are given in Figure 2.<\/p><table class=\"art-article\" border=\"0\"><tbody><tr><td><strong>Class Information<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><em>member variables<\/em><\/td><td>\u00a0<\/td><\/tr><tr><td>double m_d;<\/td><td>journey distance (+ for up travel, &#8211; for down) (m)<\/td><\/tr><tr><td>double m_D;<\/td><td>absolute value of m_d (m)<\/td><\/tr><tr><td>double m_v;<\/td><td>rated speed (always +) (m\/s)<\/td><\/tr><tr><td>double m_a;<\/td><td>rated acceleration (always +) (m\/s\/s)<\/td><\/tr><tr><td>double m_i;<\/td><td>rated jerk (always +) (m\/s\/s\/s)<\/td><\/tr><tr><td>double m_Tstart;<\/td><td>motor start up delay (s)<\/td><\/tr><tr><td>double m_t;<\/td><td>time elapsed since journey commenced (s)<\/td><\/tr><tr><td>doublem_StartTime;<\/td><td>time journey commenced (s past ref.)<\/td><\/tr><tr><td>double m_CurrentTime;<\/td><td>current time (s past ref.)<\/td><\/tr><tr><td>double m_Start Position;<\/td><td>start position (m above ref. height)<\/td><\/tr><tr><td><em>functions<\/em><\/td><td>\u00a0<\/td><\/tr><tr><td>double Journey Time();<\/td><td>journey time for trip (s)<\/td><\/tr><tr><td>char Condition();<\/td><td>journey condition (A, B or C)<\/td><\/tr><tr><td>int Slice();<\/td><td>calculates which time slice journey is in<\/td><\/tr><tr><td>double Distance();<\/td><td>calculates the current distance travelled (m)<\/td><\/tr><tr><td>double Velocity();<\/td><td>calculates the current velocity (m\/s)<\/td><\/tr><tr><td>double Acceleration();<\/td><td>calculates the current acceleration (m\/s\/s)<\/td><\/tr><tr><td>double Jerk();<\/td><td>calculates the current jerk (m\/s\/s\/s)<\/td><\/tr><tr><td>double Position();<\/td><td>calculates current position (m above ref.)<\/td><\/tr><tr><td>double End Time();<\/td><td>time when journey will be complete (s past ref.)<\/td><\/tr><tr><td>double MinDistance();<\/td><td>calculates minimum journey distance if elevator begins\u00a0<br \/>slowing down immediately(m)\u00a0<\/td><\/tr><tr><td>int ConfirmDestination();<\/td><td>confirmation that elevator can no longer change<br \/>destination, that MinDistance() is same as m_D<br \/>(1- confirmed, 0- may change)\u00a0<\/td><\/tr><tr><td>void DataCheckes();<\/td><td>data checkes called by constructor<\/td><\/tr><\/tbody><\/table><p><strong><em>Table 2\u00a0\u00a0 Motion class, variables and functions<\/em><\/strong><\/p><p><img decoding=\"async\" src=\"https:\/\/wordpress.peters-research.com\/images\/stories\/papers\/currenttechnologyandfuturedevelopments\/image004.gif\" alt=\"\" border=\"0\" \/><br \/><br \/><strong><em>Figure 2\u00a0\u00a0 Velocity-time plots generated by motion class<\/em><\/strong><\/p><h4><br \/><strong>Elevator class<\/strong><\/h4><p>The elevator class defines an elevator (rated speed, capacity, floors served, etc.) and its current status (position, speed, load, etc.).\u00a0 The motion class is applied to enable the elevator to move according to the selected journey profile.\u00a0 The elevator class includes algorithms to allow elevators to answer landing and car calls according to the principles of directional collective control.\u00a0 (Most elevator control systems adopt a directional collective control strategy regardless of the complexities of the dispatcher algorithms.)\u00a0 The main elevator class variables and functions are defined in Tables 3 and 4.<\/p><table class=\"art-article\" border=\"0\"><tbody><tr><td><strong>Class Information<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><em>about the elevator<\/em><\/td><td>\u00a0<\/td><\/tr><tr><td>int m_Capacity;<\/td><td>nominal elevator capacity (kg)<\/td><\/tr><tr><td>double m_Velocity;<\/td><td>rated elevator velocity (m\/s)<\/td><\/tr><tr><td>double m_Acceleration;<\/td><td>rated elevator acceleration (m\/s\/s)<\/td><\/tr><tr><td>double m_jerk;<\/td><td>rated elevator jerk (m\/s\/s\/s)<\/td><\/tr><tr><td>double m_MotorStartDelay;<\/td><td>motor start up delay (s)<\/td><\/tr><tr><td>double m_DoorPreOpen;<\/td><td>door pre-opening (s)<\/td><\/tr><tr><td>double m_DoorOpen;<\/td><td>door open time (s)<\/td><\/tr><tr><td>double m_DoorClose;<\/td><td>door closing time (s)<\/td><\/tr><tr><td>double m_DoorDwell1;<\/td><td>door dwell time 1(s) (time doors will wait until closing if<br \/>beam not broken)\u00a0<\/td><\/tr><tr><td>double m_DoorDwell2;<\/td><td>door dwell time 2(s) (time doors will wait until closing<br \/>after beams have been broken\/cleared)\u00a0<\/td><\/tr><tr><td>int m_DoorBeams;<\/td><td>flag for status of door beams (corresponding to<br \/>passenger transfer &#8211; 1 beams broken, 0 clear)<\/td><\/tr><tr><td><em>how the elevator serves the building<\/em><\/td><td>\u00a0<\/td><\/tr><tr><td>int m_NoFloors;<\/td><td>no floors in the building<\/td><\/tr><tr><td>int m_Home;<\/td><td>home floor\/default parking position<\/td><\/tr><tr><td>double m_FloorPositions[MAX_FLOORS];<\/td><td>positions of floors in building (m above ref.)<\/td><\/tr><tr><td>int m_FloorsServed[MAX_FLOORS];<\/td><td>floors served by elevator (1 yes, 0 no)<\/td><\/tr><tr><td><em>about the current status of the elevator<\/em><\/td><td>\u00a0<\/td><\/tr><tr><td>int m_CarCall[MAX_FLOORS];<\/td><td>car calls registered (1 registered, 0 not)<\/td><\/tr><tr><td>int m_ParkCall[MAX_FLOORS];<\/td><td>parking calls; doors do not open doors on arrival<\/td><\/tr><tr><td>int m_ParkOpenCall[MAX_FLOORS};<\/td><td>parking calls; elevator parks with doors open<\/td><\/tr><tr><td>int m_UpLandingCalls[MAX_FLOORS];<\/td><td>up landing calls allocated to elevator by dispatcher<\/td><\/tr><tr><td>int m_DownLandingCalls[MAX_FLOORS];<\/td><td>down landing calls allocated by dispatcher<\/td><\/tr><tr><td>int m_TravelStatus;<\/td><td>travel status (1 travelling, 0 at floor)<\/td><\/tr><tr><td>int m_Direction;<\/td><td>direction of travel (-1 down, 0 neither, 1 up)<\/td><\/tr><tr><td>double m_DestinationPositionl;<\/td><td>current destination position (m above ref.)<\/td><\/tr><tr><td>double m_StartPosition;<\/td><td>position current journey started (m above ref.)<\/td><\/tr><tr><td>double m_JourneyStart;<\/td><td>time elevator journey started (s past ref.)<\/td><\/tr><tr><td>int m_CurrentLoad;<\/td><td>current car load (kg)<\/td><\/tr><tr><td>int m_DoorStatus;<\/td><td>door status (1 fully open, 2 closing, 3 fully closed, 4<br \/>opening)\u00a0<\/td><\/tr><tr><td>double m_DoorStart;<\/td><td>time doors started opening\/closing (s past ref.)<\/td><\/tr><tr><td>double m_TimerT1;<\/td><td>time timer T1 began (s past ref.)<\/td><\/tr><tr><td>double m_TimerT2;<\/td><td>time timer T2 began (s past ref.)<\/td><\/tr><tr><td>double m_PersonStart;<\/td><td>time current person began loading\/unloading (s past ref.)<\/td><\/tr><tr><td>double m_CurrentTime;<\/td><td>current time (s past ref.)<\/td><\/tr><tr><td>double m_DestinationTime;<\/td><td>arrival time next planned stop (s past ref.)<\/td><\/tr><tr><td>double m_CurrentPosition;<\/td><td>current position (m above ref.)<\/td><\/tr><tr><td>double m_CurrentDistance;<\/td><td>distance travelled on current trip (m)<\/td><\/tr><tr><td>double m_Current Velocity<\/td><td>current velocity (m\/s)<\/td><\/tr><tr><td>double m_CurrentAcceleration;<\/td><td>current acceleration (m\/s\/s)<\/td><\/tr><tr><td>double m_CurrentJerk;<\/td><td>current jerk (m\/s\/s\/s)<\/td><\/tr><tr><td>double m_QuickStopPosition;<\/td><td>next stop elevator can make (m above ref.)<\/td><\/tr><tr><td>int m DestinationFloor;<\/td><td>current destination floor number<\/td><\/tr><\/tbody><\/table><p><strong><em>Table 3\u00a0\u00a0 Elevator class variables<\/em><\/strong><\/p><p><strong><em>\u00a0<\/em><\/strong><\/p><table class=\"art-article\" border=\"0\"><tbody><tr><td><strong>Class Information<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td>void Reset(building b);<\/td><td>sets elevator to home position, cancels all calls, etc.<\/td><\/tr><tr><td>int StartJourney(int floor);<\/td><td>start journey to destination &#8220;floor&#8221;<\/td><\/tr><tr><td>int ChangeJourney(int floor);<\/td><td>change journey, new destination &#8220;floor&#8221;<\/td><\/tr><tr><td>void UpdateDestination();<\/td><td>check for calls allocated to elevator and set destination<\/td><\/tr><tr><td>void SetDestination();<\/td><td>set destination\/direction travel<\/td><\/tr><tr><td>void Update(double CurrentTime);<\/td><td>update time(s); this function updates the status of the<br \/>elevator (position, speed, door operation, etc.)\u00a0<\/td><\/tr><tr><td>void RemovalLandingCall(int direction, int floor);<\/td><td>removes landing call &#8211; called by class when elevator<br \/>arrives at landing\u00a0<\/td><\/tr><tr><td>int LowestFloorServed();<\/td><td>returns number of lowest floor served by elevator<\/td><\/tr><tr><td>int HighestFloorServed();<\/td><td>returns number of highest floor served by elevator<\/td><\/tr><tr><td>int FloorAt();<\/td><td>return floor no if not travelling<\/td><\/tr><tr><td>int FloorNo(double position);<\/td><td>returns floor no at position<\/td><\/tr><tr><td>double QuickestStopPosition();<\/td><td>next stop elevator could make (m above reference)<\/td><\/tr><tr><td>double QuickestStopTime();<\/td><td>time of next stop elevator could make (s after ref.)<\/td><\/tr><tr><td>int QuickestFloorStopFloor();<\/td><td>floor of next stop elevator could make<\/td><\/tr><tr><td>double QuickestFloorStopPosition();<\/td><td>position of next stop elevator could make (m above<br \/>reference)\u00a0<\/td><\/tr><tr><td>double QuickestFloorStopTime();<\/td><td>time of next stop elevator could make (s after ref.)<\/td><\/tr><\/tbody><\/table><p><strong><em>Table 4\u00a0\u00a0 Elevator class functions<\/em><\/strong><\/p><h4><strong>Dispatch class<\/strong><\/h4><p>The dispatch class defines rules for allocating which elevator serves which calls.\u00a0 When a passenger presses a landing call, the dispatch class decides which elevator should serve the call.\u00a0 The dispatch class variables and functions are defined in Table 5.<\/p><table class=\"art-article\" border=\"0\"><tbody><tr><td><strong>Class Information<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><em>member variables<\/em><\/td><td>\u00a0<\/td><\/tr><tr><td>int m_Algorithm;<\/td><td>dispatcher algorithm no. selected<\/td><\/tr><tr><td>int m_NoFloors;<\/td><td>number of floors in building<\/td><\/tr><tr><td>int m_NoElevators;<\/td><td>number of elevators<\/td><\/tr><tr><td>double m_FloorPositions[MAX_FLOORS];<\/td><td>floor positions (m above reference)<\/td><\/tr><tr><td>int m_UpLandingCalls[MAX_FLOORS];<\/td><td>up landing calls registered with dispatcher<\/td><\/tr><tr><td>int m_DownLandingCalls[MAX_FLOORS];<\/td><td>down landing calls regsisterd with dispatcher<\/td><\/tr><tr><td><em>member functions<\/em><\/td><td>\u00a0<\/td><\/tr><tr><td>void CancelLandingCalls(elevator l[MAX_ELEVATORS]);<\/td><td>cancel landing call when elevator arrives at floor<\/td><\/tr><tr><td>void Reset(building b, int NoElevators, elevator<br \/>l[MAX_ELEVATORS]);\u00a0<\/td><td>resets dispatcher, sets up member variables<\/td><\/tr><tr><td>int Update(double CurrentTime, elevator<br \/>l[MAX_ELEVATORS], motor m[MAX_ELEVATORS],<br \/>double SimulationTimeStep);\u00a0<\/td><td>updates dispatcher: this function updates the status<br \/>of the dispatcher, allocating calls, etc.\u00a0<\/td><\/tr><\/tbody><\/table><p><strong><em>Table 5\u00a0\u00a0 Dispatch class functions and variables<\/em><\/strong><\/p><h4><strong>Person class<\/strong><\/h4><p>The person defines a person, what time he\/she arrives at the landing station, where he\/she wants to go, their mass, etc.\u00a0 Once the journey is complete, the class provides details about passenger waiting and transit times.\u00a0\u00a0 Variables and functions of the person class are defined in Table 6.<\/p><p>\u00a0<\/p><table class=\"art-article\" border=\"0\"><tbody><tr><td><strong>Class Information<\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td><em>member variables<\/em><\/td><td>\u00a0<\/td><\/tr><tr><td>double m_TimeArrived;<\/td><td>time passenger arrived at landing (s past refrence)<br \/>(taken to be when call button pressed)\u00a0<\/td><\/tr><tr><td>int m_ArrivalFloor;<\/td><td>arrival floor<\/td><\/tr><tr><td>int m_Destination;<\/td><td>destination floor<\/td><\/tr><tr><td>int m_Mass;<\/td><td>passenger mass (kg)<\/td><\/tr><tr><td>int m_LoadingThreshold;<\/td><td>threshold determining whether passenger will get into\u00a0<br \/>this elevator or wait for the next (%) e.g. 80% means that<br \/>passenger will not load elevator if the elevator will then<br \/>be &gt;80% full\u00a0<\/td><\/tr><tr><td>double m_LoadingTime;<\/td><td>passenger loading time (s)<\/td><\/tr><tr><td>double m_UploadingTime;<\/td><td>passenger unloading time (s)<\/td><\/tr><tr><td>double m_TimeBeganTransfer;<\/td><td>variable used to store when passenger transfer (loading<br \/>and unloading) began (s past reference)\u00a0<\/td><\/tr><tr><td>int m_CurrentStatus;<\/td><td>current status of passenger&#8217;s journey; 1 yet to arrive, 2<br \/>waiting, 3 loading, 4 travelling, 5 unloading, 6 journey<br \/>completed\u00a0<\/td><\/tr><tr><td>int m_ElevatorUsed;<\/td><td>elevator used by passenger<\/td><\/tr><tr><td>double m_TimeElevatorArrived;<\/td><td>time responding elevator arrived, taken from when the<br \/>doors began to open (s past reference)\u00a0<\/td><\/tr><tr><td>double m_TimeReachedDestination;<\/td><td>doors began to open (s past reference)<br \/>time responding elevator reached destination, taken from<br \/>when the doors began to open (s past reference)\u00a0<\/td><\/tr><tr><td><em>member functions<\/em><\/td><td>\u00a0<\/td><\/tr><tr><td>void NewLandingCalls(double CurrentTime,dispatch&amp; d);<\/td><td>registers new landing calls when passenger arrives<\/td><\/tr><tr><td>void Update(double CurrentTime,int)<\/td><td>update status of passengers, adjust elevator load<\/td><\/tr><tr><td>NoElevators, elevtor l[MAX_ELEVATORS],dispatch&amp; d);<\/td><td>break\/clear beams, etc.<\/td><\/tr><tr><td>int Direction();<\/td><td>returns direction of call (1 up, -1 down)<\/td><\/tr><tr><td>double WaitingTime();<\/td><td>passenger waiting time(s)<\/td><\/tr><tr><td>double TransitTime();<\/td><td>passenger transit time (s)<\/td><\/tr><\/tbody><\/table><p><strong><em>Table 6\u00a0\u00a0 Person class functions and variables<\/em><\/strong><\/p><h3><br \/>Flow diagram<\/h3><p>Elevate is a time slice simulation; it calculates the status (position, speed, etc.) of the elevators, increments the time, re-calculates status, increments time, and so on.\u00a0 A simplified flow diagram of simulation is given in Figure 3.<\/p><h3><br \/>Future developments<\/h3><p>There are many possible developments to an elevator simulation program such as Elevate.\u00a0 Below are some of the enhancements that are in progress or under consideration.<\/p><h4><strong>Closer integration with installed control systems<\/strong><\/h4><p>Elevate allows users to program their own dispatcher algorithms into a dynamic link library (DLL) which is called by the program.\u00a0 There is ever increasing interest in and demand for this feature; simulation is an excellent tool for developing, testing and demonstrating control systems.<\/p><p>Currently customers are programming dispatch algorithms in a format suitable for Elevate.\u00a0 In the future we envisage closer and closer links between Elevate and installed control systems, so that algorithms can be exchanged with compatible systems at the click of a button.<\/p><p><img decoding=\"async\" src=\"https:\/\/wordpress.peters-research.com\/images\/stories\/papers\/currenttechnologyandfuturedevelopments\/image005.gif\" alt=\"\" border=\"0\" \/><\/p><p><strong><em>Figure 3\u00a0\u00a0 Simplified flow diagram for object orientated elevator simulation<\/em><\/strong><\/p><h4><br \/><strong>Total building models<\/strong><\/h4><p>There are a number of pedestrian modelling software tools. These have been developed to model the evacuation of buildings in an emergency, and the flow of people in transport terminals such as airports and train stations.<\/p><p>These programs currently have either very crude or no elevator model.\u00a0 We are considering the possibility of linking programs so that the elevator model in Elevate can contribute a total models of building circulation.<\/p><p>The more advanced pedestrian modelling software programs are object orientated, so the interface between programs is conceptually simple.\u00a0 In its normal mode, Elevate generates its person objects which push the landing buttons, wait for the elevator, get in and press the car call buttons, etc.\u00a0 In a total building model the person objects will be created by the pedestrian modelling software.\u00a0 A person object will move around the building until he\/she needs to use an elevator, when he\/she will be introduced into the elevator simulation model.\u00a0 Once their elevator trip is complete, the person object will be returned to the total building model at the new floor level.<\/p><h4><strong>Traffic analysers<\/strong><\/h4><p>In the assessment of passenger service quality, the most important traffic analysis results are average passenger waiting and transit times.\u00a0 Using simulation we can measure these results as we know at what time every passenger arrives, and how and when they are transported.<\/p><p>Traffic analysers can be interfaced with an installed elevator control system to record the time every landing and car call is made and cleared.\u00a0 Many modern control systems incorporate similar functionality.\u00a0 A range of traffic and performance measures can be determined, for example:<\/p><ul><li>average response time to landing calls by time of day<\/li><li>distribution of response times<\/li><li>distribution of car calls by floor<\/li><\/ul><p>A traffic analysers does not measure average waiting and transit times as an elevator does not know when someone arrives in a lobby; it only knows when a landing or car call button are pressed.\u00a0 There is often more than one person behind a call, but the traffic analyser will not know this.\u00a0 (For this reason, it is generally unreliable to use a conventional traffic analyser results to assess the demand on an existing system, or to evaluate the benefits of modernisation.\u00a0 The author recommends that designers carry out surveys counting people as opposed to calls.)<br \/><br \/>Within a simulation program it is straightforward to implement a compete traffic analyser.\u00a0\u00a0 This will have a number of applications:<\/p><ul><li>if using a simulation to model existing installations with an installed traffic analyser, the simulation traffic analyser should present similar results.<\/li><li>there is a theoretical relationship between the passenger arrival rate and, the time from landing calls being cleared to being re-registered[4].\u00a0 With simulation it will be possible to investigate this relationship further and possibly develop software that can estimate actual traffic flow from traffic analyser data.<\/li><\/ul><h4><br \/><br \/><strong>Modelling of new technology<\/strong><\/h4><p>Established technology dictates that an elevator moves in one dimension, up and down a shaft.\u00a0 And that there should only be one elevator per shaft.\u00a0 This is a major limitation, especially in high rise buildings where the relative core space required by the elevators is high.\u00a0 The ultimate solution it to have multiple elevators in a single shaft, and for them to be able to overtake though moving in at least two dimensions (side to side as well as up and down).\u00a0\u00a0 Elevate is currently being extended to model this so that one of our customers can develop an appropriate control system for a research project.\u00a0 The drive technology to apply this control system is yet to be developed, but recent developments in self-propelled elevators [5] suggest that the concept is feasible.<\/p><h4><strong>Multiple deck elevators<\/strong><\/h4><p>Elevate currently models single deck elevators.\u00a0 Double deck elevators will be added to Elevate in due course.\u00a0 If required, it would be feasible to model triple, quadruple or even n deck elevators\u00a0 (where n is any number).<\/p><h3><br \/>Conclusions<\/h3><p>Elevator simulation is now readily available and increasingly popular for traffic analysis and control system design.<\/p><p>In recent years software technology has developed so that complex programs are easier to develop.\u00a0 Object orientated programming technology is extremely helpful to the developer, and graphical user interfaces help make programs easy to use.<\/p><p>An elevator simulation program requires many classes.\u00a0 We have discussed Elevate\u2019s principle simulation classes, which are building, motion, elevator, dispatch and person.<\/p><p>Elevate and other simulation programs will continue to be developed to provide increased functionality.\u00a0 Some current and future possible developments have been discussed.\u00a0 The author welcomes other comments and suggestions.<\/p><p><br \/><strong><br \/>REFERENCES<\/strong><\/p><ol><li>Elevate traffic analysis and simulation software, distributed by Elevator World, Inc.<\/li><li>Perry G, Ross J\u00a0 Visual C++ By Example (Indianapolis: Que Publishing) (1994)<\/li><li>Peters R D\u00a0 Ideal Lift Kinematics: Derivation of Formulae for the Equations of Motion of a Lift International Journal of Elevator Engineers, Volume 1 No 1 (1996)<\/li><li>Peters R D\u00a0 Green Lifts?\u00a0 Proceedings of CIBSE National Conference 1994 (The Chartered Institution of Building Services Engineers) (1994) (republished by Elevator World, June 1995 and by Elevation, Autumn 1995)<\/li><li>SchindlerMobile elevator,\u00a0<a href=\"http:\/\/www.schindler.co.uk\/\">www.schindler.co.uk<\/a><\/li><\/ol><p><strong><br \/>TRADEMARKS<\/strong><\/p><p>Elevate is a trademark of Peters Research Ltd.\u00a0 Microsoft, Windows and Visual C++ are either registered trademarks or trademarks of the Microsoft Corporation.<\/p><p>\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Current Technology and Future Developments in Elevator Simulation Dr Richard Peters, Peters Research Ltd This paper was published\u00a0in the International Journal of Elevator Engineers. Volume 4 No.2 (2002).\u00a0It is reproduced with permission from The International Association of Elevator Engineers.\u00a0This web version \u00a9 Peters Research Ltd 2009. Abstract Elevate is traffic analysis and simulation software used [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":860,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-926","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Current Technology and Future Developments in Elevator Simulation - Peters Research<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Current Technology and Future Developments in Elevator Simulation - Peters Research\" \/>\n<meta property=\"og:description\" content=\"Current Technology and Future Developments in Elevator Simulation Dr Richard Peters, Peters Research Ltd This paper was published\u00a0in the International Journal of Elevator Engineers. Volume 4 No.2 (2002).\u00a0It is reproduced with permission from The International Association of Elevator Engineers.\u00a0This web version \u00a9 Peters Research Ltd 2009. Abstract Elevate is traffic analysis and simulation software used [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wordpress.peters-research.com\/index.php\/papers\/current-technology-and-future-developments-in-elevator-simulation\/\" \/>\n<meta property=\"og:site_name\" content=\"Peters Research\" \/>\n<meta property=\"article:modified_time\" content=\"2020-11-17T11:03:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wordpress.peters-research.com\/images\/stories\/papers\/currenttechnologyandfuturedevelopments\/image002.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"17 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wordpress.peters-research.com\\\/index.php\\\/papers\\\/current-technology-and-future-developments-in-elevator-simulation\\\/\",\"url\":\"https:\\\/\\\/wordpress.peters-research.com\\\/index.php\\\/papers\\\/current-technology-and-future-developments-in-elevator-simulation\\\/\",\"name\":\"Current Technology and Future Developments in Elevator Simulation - Peters Research\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wordpress.peters-research.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wordpress.peters-research.com\\\/index.php\\\/papers\\\/current-technology-and-future-developments-in-elevator-simulation\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wordpress.peters-research.com\\\/index.php\\\/papers\\\/current-technology-and-future-developments-in-elevator-simulation\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wordpress.peters-research.com\\\/images\\\/stories\\\/papers\\\/currenttechnologyandfuturedevelopments\\\/image002.jpg\",\"datePublished\":\"2020-11-17T11:02:16+00:00\",\"dateModified\":\"2020-11-17T11:03:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wordpress.peters-research.com\\\/index.php\\\/papers\\\/current-technology-and-future-developments-in-elevator-simulation\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wordpress.peters-research.com\\\/index.php\\\/papers\\\/current-technology-and-future-developments-in-elevator-simulation\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wordpress.peters-research.com\\\/index.php\\\/papers\\\/current-technology-and-future-developments-in-elevator-simulation\\\/#primaryimage\",\"url\":\"https:\\\/\\\/wordpress.peters-research.com\\\/images\\\/stories\\\/papers\\\/currenttechnologyandfuturedevelopments\\\/image002.jpg\",\"contentUrl\":\"https:\\\/\\\/wordpress.peters-research.com\\\/images\\\/stories\\\/papers\\\/currenttechnologyandfuturedevelopments\\\/image002.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wordpress.peters-research.com\\\/index.php\\\/papers\\\/current-technology-and-future-developments-in-elevator-simulation\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wordpress.peters-research.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Papers\",\"item\":\"https:\\\/\\\/wordpress.peters-research.com\\\/index.php\\\/papers\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Current Technology and Future Developments in Elevator Simulation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wordpress.peters-research.com\\\/#website\",\"url\":\"https:\\\/\\\/wordpress.peters-research.com\\\/\",\"name\":\"Peters Research Ltd Devlopment\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/wordpress.peters-research.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wordpress.peters-research.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/wordpress.peters-research.com\\\/#organization\",\"name\":\"Peters Research Ltd\",\"url\":\"https:\\\/\\\/wordpress.peters-research.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wordpress.peters-research.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/wordpress.peters-research.com\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/cropped-peters_research-logo-white-small.png\",\"contentUrl\":\"https:\\\/\\\/wordpress.peters-research.com\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/cropped-peters_research-logo-white-small.png\",\"width\":1519,\"height\":669,\"caption\":\"Peters Research Ltd\"},\"image\":{\"@id\":\"https:\\\/\\\/wordpress.peters-research.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Current Technology and Future Developments in Elevator Simulation - Peters Research","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_GB","og_type":"article","og_title":"Current Technology and Future Developments in Elevator Simulation - Peters Research","og_description":"Current Technology and Future Developments in Elevator Simulation Dr Richard Peters, Peters Research Ltd This paper was published\u00a0in the International Journal of Elevator Engineers. Volume 4 No.2 (2002).\u00a0It is reproduced with permission from The International Association of Elevator Engineers.\u00a0This web version \u00a9 Peters Research Ltd 2009. Abstract Elevate is traffic analysis and simulation software used [&hellip;]","og_url":"https:\/\/wordpress.peters-research.com\/index.php\/papers\/current-technology-and-future-developments-in-elevator-simulation\/","og_site_name":"Peters Research","article_modified_time":"2020-11-17T11:03:18+00:00","og_image":[{"url":"https:\/\/wordpress.peters-research.com\/images\/stories\/papers\/currenttechnologyandfuturedevelopments\/image002.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wordpress.peters-research.com\/index.php\/papers\/current-technology-and-future-developments-in-elevator-simulation\/","url":"https:\/\/wordpress.peters-research.com\/index.php\/papers\/current-technology-and-future-developments-in-elevator-simulation\/","name":"Current Technology and Future Developments in Elevator Simulation - Peters Research","isPartOf":{"@id":"https:\/\/wordpress.peters-research.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wordpress.peters-research.com\/index.php\/papers\/current-technology-and-future-developments-in-elevator-simulation\/#primaryimage"},"image":{"@id":"https:\/\/wordpress.peters-research.com\/index.php\/papers\/current-technology-and-future-developments-in-elevator-simulation\/#primaryimage"},"thumbnailUrl":"https:\/\/wordpress.peters-research.com\/images\/stories\/papers\/currenttechnologyandfuturedevelopments\/image002.jpg","datePublished":"2020-11-17T11:02:16+00:00","dateModified":"2020-11-17T11:03:18+00:00","breadcrumb":{"@id":"https:\/\/wordpress.peters-research.com\/index.php\/papers\/current-technology-and-future-developments-in-elevator-simulation\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wordpress.peters-research.com\/index.php\/papers\/current-technology-and-future-developments-in-elevator-simulation\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wordpress.peters-research.com\/index.php\/papers\/current-technology-and-future-developments-in-elevator-simulation\/#primaryimage","url":"https:\/\/wordpress.peters-research.com\/images\/stories\/papers\/currenttechnologyandfuturedevelopments\/image002.jpg","contentUrl":"https:\/\/wordpress.peters-research.com\/images\/stories\/papers\/currenttechnologyandfuturedevelopments\/image002.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/wordpress.peters-research.com\/index.php\/papers\/current-technology-and-future-developments-in-elevator-simulation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wordpress.peters-research.com\/"},{"@type":"ListItem","position":2,"name":"Papers","item":"https:\/\/wordpress.peters-research.com\/index.php\/papers\/"},{"@type":"ListItem","position":3,"name":"Current Technology and Future Developments in Elevator Simulation"}]},{"@type":"WebSite","@id":"https:\/\/wordpress.peters-research.com\/#website","url":"https:\/\/wordpress.peters-research.com\/","name":"Peters Research Ltd Devlopment","description":"","publisher":{"@id":"https:\/\/wordpress.peters-research.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wordpress.peters-research.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/wordpress.peters-research.com\/#organization","name":"Peters Research Ltd","url":"https:\/\/wordpress.peters-research.com\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wordpress.peters-research.com\/#\/schema\/logo\/image\/","url":"https:\/\/wordpress.peters-research.com\/wp-content\/uploads\/2020\/06\/cropped-peters_research-logo-white-small.png","contentUrl":"https:\/\/wordpress.peters-research.com\/wp-content\/uploads\/2020\/06\/cropped-peters_research-logo-white-small.png","width":1519,"height":669,"caption":"Peters Research Ltd"},"image":{"@id":"https:\/\/wordpress.peters-research.com\/#\/schema\/logo\/image\/"}}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.peters-research.com\/index.php\/wp-json\/wp\/v2\/pages\/926","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.peters-research.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wordpress.peters-research.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.peters-research.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.peters-research.com\/index.php\/wp-json\/wp\/v2\/comments?post=926"}],"version-history":[{"count":4,"href":"https:\/\/wordpress.peters-research.com\/index.php\/wp-json\/wp\/v2\/pages\/926\/revisions"}],"predecessor-version":[{"id":930,"href":"https:\/\/wordpress.peters-research.com\/index.php\/wp-json\/wp\/v2\/pages\/926\/revisions\/930"}],"up":[{"embeddable":true,"href":"https:\/\/wordpress.peters-research.com\/index.php\/wp-json\/wp\/v2\/pages\/860"}],"wp:attachment":[{"href":"https:\/\/wordpress.peters-research.com\/index.php\/wp-json\/wp\/v2\/media?parent=926"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}