


{"id":160746,"date":"2021-07-27T18:36:05","date_gmt":"2021-07-27T18:36:05","guid":{"rendered":"\/forum\/forums\/topic\/blocking-calls-with-lumericals-python-lumapi\/"},"modified":"2021-07-29T18:33:39","modified_gmt":"2021-07-29T18:33:39","slug":"blocking-calls-with-lumericals-python-lumapi","status":"closed","type":"topic","link":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic\/blocking-calls-with-lumericals-python-lumapi\/","title":{"rendered":"Blocking calls with Lumerical&#8217;s python lumapi?"},"content":{"rendered":"<div class=\"Item-Body\">\n<div class=\"Message userContent\">\n<p>Hello,<\/p>\n<p>I have a python script which sequentially does the following with an FDTD session (called fdtd here), using lumapi:<\/p>\n<ol>\n<li>Load in a previously defined GDS file into the Lumerical session (creates an imported geometry). <\/li>\n<li>Sets the material properties of the imported geometry to the desired values (using fdtd.set).<\/li>\n<li>Saves index monitor outputs to a matrix object &quot;data_set&quot; in the script workplace (i.e. saves permittivities as a function of x, y, z, f, etc.)<\/li>\n<li>Retrieves the index monitor outputs from the Lumerical script workplace, into the python script (using lumapi.getVar(fdtd.handle, &quot;data_set&quot;))<\/li>\n<\/ol>\n<p>This works most of the time and gives me the correct results. However, on occasion, the first time I poll for &quot;data_set&quot;, I get the permittivity values PRIOR to the material properties being updated (i.e. the same results as if I had omitted step 2). I then have to execute steps 3 &amp; 4 again to get the correct results.<\/p>\n<p>I suspect that this is because the lumapi functions will return prior to the scripting functions completing in Lumerical. I&#039;m looking for some way to block my python script before step 3, until step 2 has completed. Is this functionality provided anywhere in lumapi?<\/p>\n<p><\/p>\n<\/p>\n<p>Thank you! Any suggestions are much appreciated.<\/p>\n","protected":false},"template":"","class_list":["post-160746","topic","type-topic","status-closed","hentry","topic-tag-python"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Hello,I have a python script which sequentially does the following with an FDTD session (called fdtd here), using lumapi:Load in a previously defined GDS file into the Lumerical session (creates an imported geometry). Sets the material properties of the imported geometry to the desired values (using fdtd.set).Saves index monitor outputs to a matrix object &quot;data_set&quot;\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic\/blocking-calls-with-lumericals-python-lumapi\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Ansys Learning Forum | Ansys Innovation Space\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Blocking calls with Lumerical\u2019s python lumapi? | Ansys Learning Forum\" \/>\n\t\t<meta property=\"og:description\" content=\"Hello,I have a python script which sequentially does the following with an FDTD session (called fdtd here), using lumapi:Load in a previously defined GDS file into the Lumerical session (creates an imported geometry). Sets the material properties of the imported geometry to the desired values (using fdtd.set).Saves index monitor outputs to a matrix object &quot;data_set&quot;\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic\/blocking-calls-with-lumericals-python-lumapi\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-07-27T18:36:05+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-07-29T18:33:39+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Blocking calls with Lumerical\u2019s python lumapi? | Ansys Learning Forum\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Hello,I have a python script which sequentially does the following with an FDTD session (called fdtd here), using lumapi:Load in a previously defined GDS file into the Lumerical session (creates an imported geometry). Sets the material properties of the imported geometry to the desired values (using fdtd.set).Saves index monitor outputs to a matrix object &quot;data_set&quot;\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/forums\\\/topic\\\/blocking-calls-with-lumericals-python-lumapi\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/topics\\\/#listItem\",\"name\":\"Topics\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/topics\\\/#listItem\",\"position\":2,\"name\":\"Topics\",\"item\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/topics\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/forums\\\/topic-tag\\\/python\\\/#listItem\",\"name\":\"python\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/forums\\\/topic-tag\\\/python\\\/#listItem\",\"position\":3,\"name\":\"python\",\"item\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/forums\\\/topic-tag\\\/python\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/forums\\\/topic\\\/blocking-calls-with-lumericals-python-lumapi\\\/#listItem\",\"name\":\"Blocking calls with Lumerical&#8217;s python lumapi?\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/topics\\\/#listItem\",\"name\":\"Topics\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/forums\\\/topic\\\/blocking-calls-with-lumericals-python-lumapi\\\/#listItem\",\"position\":4,\"name\":\"Blocking calls with Lumerical&#8217;s python lumapi?\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/forums\\\/topic-tag\\\/python\\\/#listItem\",\"name\":\"python\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/#organization\",\"name\":\"Ansys Learning Forum\",\"description\":\"Ansys Innovation Space\",\"url\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/forums\\\/topic\\\/blocking-calls-with-lumericals-python-lumapi\\\/#webpage\",\"url\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/forums\\\/topic\\\/blocking-calls-with-lumericals-python-lumapi\\\/\",\"name\":\"Blocking calls with Lumerical\\u2019s python lumapi? | Ansys Learning Forum\",\"description\":\"Hello,I have a python script which sequentially does the following with an FDTD session (called fdtd here), using lumapi:Load in a previously defined GDS file into the Lumerical session (creates an imported geometry). Sets the material properties of the imported geometry to the desired values (using fdtd.set).Saves index monitor outputs to a matrix object \\\"data_set\\\"\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/forums\\\/topic\\\/blocking-calls-with-lumericals-python-lumapi\\\/#breadcrumblist\"},\"datePublished\":\"2021-07-27T18:36:05+00:00\",\"dateModified\":\"2021-07-29T18:33:39+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/#website\",\"url\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/\",\"name\":\"Ansys Learning Forum\",\"description\":\"Ansys Innovation Space\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Blocking calls with Lumerical\u2019s python lumapi? | Ansys Learning Forum","description":"Hello,I have a python script which sequentially does the following with an FDTD session (called fdtd here), using lumapi:Load in a previously defined GDS file into the Lumerical session (creates an imported geometry). Sets the material properties of the imported geometry to the desired values (using fdtd.set).Saves index monitor outputs to a matrix object \"data_set\"","canonical_url":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic\/blocking-calls-with-lumericals-python-lumapi\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic\/blocking-calls-with-lumericals-python-lumapi\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/forum#listItem","position":1,"name":"Home","item":"https:\/\/innovationspace.ansys.com\/forum","nextItem":{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/forum\/topics\/#listItem","name":"Topics"}},{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/forum\/topics\/#listItem","position":2,"name":"Topics","item":"https:\/\/innovationspace.ansys.com\/forum\/topics\/","nextItem":{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic-tag\/python\/#listItem","name":"python"},"previousItem":{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/forum#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic-tag\/python\/#listItem","position":3,"name":"python","item":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic-tag\/python\/","nextItem":{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic\/blocking-calls-with-lumericals-python-lumapi\/#listItem","name":"Blocking calls with Lumerical&#8217;s python lumapi?"},"previousItem":{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/forum\/topics\/#listItem","name":"Topics"}},{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic\/blocking-calls-with-lumericals-python-lumapi\/#listItem","position":4,"name":"Blocking calls with Lumerical&#8217;s python lumapi?","previousItem":{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic-tag\/python\/#listItem","name":"python"}}]},{"@type":"Organization","@id":"https:\/\/innovationspace.ansys.com\/forum\/#organization","name":"Ansys Learning Forum","description":"Ansys Innovation Space","url":"https:\/\/innovationspace.ansys.com\/forum\/"},{"@type":"WebPage","@id":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic\/blocking-calls-with-lumericals-python-lumapi\/#webpage","url":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic\/blocking-calls-with-lumericals-python-lumapi\/","name":"Blocking calls with Lumerical\u2019s python lumapi? | Ansys Learning Forum","description":"Hello,I have a python script which sequentially does the following with an FDTD session (called fdtd here), using lumapi:Load in a previously defined GDS file into the Lumerical session (creates an imported geometry). Sets the material properties of the imported geometry to the desired values (using fdtd.set).Saves index monitor outputs to a matrix object \"data_set\"","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/innovationspace.ansys.com\/forum\/#website"},"breadcrumb":{"@id":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic\/blocking-calls-with-lumericals-python-lumapi\/#breadcrumblist"},"datePublished":"2021-07-27T18:36:05+00:00","dateModified":"2021-07-29T18:33:39+00:00"},{"@type":"WebSite","@id":"https:\/\/innovationspace.ansys.com\/forum\/#website","url":"https:\/\/innovationspace.ansys.com\/forum\/","name":"Ansys Learning Forum","description":"Ansys Innovation Space","inLanguage":"en-US","publisher":{"@id":"https:\/\/innovationspace.ansys.com\/forum\/#organization"}}]},"og:locale":"en_US","og:site_name":"Ansys Learning Forum | Ansys Innovation Space","og:type":"article","og:title":"Blocking calls with Lumerical\u2019s python lumapi? | Ansys Learning Forum","og:description":"Hello,I have a python script which sequentially does the following with an FDTD session (called fdtd here), using lumapi:Load in a previously defined GDS file into the Lumerical session (creates an imported geometry). Sets the material properties of the imported geometry to the desired values (using fdtd.set).Saves index monitor outputs to a matrix object &quot;data_set&quot;","og:url":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic\/blocking-calls-with-lumericals-python-lumapi\/","article:published_time":"2021-07-27T18:36:05+00:00","article:modified_time":"2021-07-29T18:33:39+00:00","twitter:card":"summary_large_image","twitter:title":"Blocking calls with Lumerical\u2019s python lumapi? | Ansys Learning Forum","twitter:description":"Hello,I have a python script which sequentially does the following with an FDTD session (called fdtd here), using lumapi:Load in a previously defined GDS file into the Lumerical session (creates an imported geometry). Sets the material properties of the imported geometry to the desired values (using fdtd.set).Saves index monitor outputs to a matrix object &quot;data_set&quot;"},"aioseo_meta_data":{"post_id":"160746","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"content","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":true,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2024-10-28 20:28:44","updated":"2024-10-28 20:28:44","ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/innovationspace.ansys.com\/forum\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/innovationspace.ansys.com\/forum\/topics\/\" title=\"Topics\">Topics<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic-tag\/python\/\" title=\"python\">python<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tBlocking calls with Lumerical\u2019s python lumapi?\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/innovationspace.ansys.com\/forum"},{"label":"Topics","link":"https:\/\/innovationspace.ansys.com\/forum\/topics\/"},{"label":"python","link":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic-tag\/python\/"},{"label":"Blocking calls with Lumerical&#8217;s python lumapi?","link":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic\/blocking-calls-with-lumericals-python-lumapi\/"}],"acf":[],"custom_fields":[{"0":{"_bbp_author_ip":[""],"_bbp_view_count":["236"],"_bbp_likes_count":["0","0"],"_bbp_forum_subforum_count":["0"],"_btv_view_count":["441"],"_bbp_topic_status":["unanswered"],"_bbp_status":["publish"],"_bbp_topic_id":["160746"],"_bbp_forum_id":["27833"],"_bbp_engagement":["30281","214787"],"_bbp_voice_count":["2"],"_bbp_reply_count":["2"],"_bbp_last_reply_id":["186867"],"_bbp_last_active_id":["186867"],"_bbp_last_active_time":["2021-07-29 18:33:39"]},"test":"julie-bellevillealumni-ubc-ca"}],"_links":{"self":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/topics\/160746","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/topics"}],"about":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/types\/topic"}],"version-history":[{"count":0,"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/topics\/160746\/revisions"}],"wp:attachment":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/media?parent=160746"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}