


{"id":360810,"date":"2024-04-05T22:19:17","date_gmt":"2024-04-05T22:19:17","guid":{"rendered":"\/forum\/forums\/reply\/360810\/"},"modified":"2024-04-05T22:19:17","modified_gmt":"2024-04-05T22:19:17","slug":"360810","status":"publish","type":"reply","link":"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/360810\/","title":{"rendered":"Reply To: Lumopt (adjoint method): adjoint field scaling"},"content":{"rendered":"<p>&lt;p&gt;Hello Oliver,&lt;\/p&gt;&lt;p&gt;Thanks for the question. This is an area where I admittedly don&#8217;t understand all the details. In particular I am bit unclear on the constants and normalization, and haven&#8217;t worked these out rigouously. That being said I can maybe help you pick up the thread for what is happening here.&lt;\/p&gt;&lt;p&gt;The get_fom() function returns the phase prefactor from the the <a href=\"https:\/\/optics.ansys.com\/hc\/en-us\/articles\/360034902433-Using-and-understanding-Mode-Expansion-Monitors\">compex transmission coefficient<\/a>. The magnitude of this complex coefficient squared is proportional to the power in the specified mode and is used in the fom calculation. Therfore the phase prefactor is proportional to the fields amplitude at the FOM monitor. The imaginary component (phase) of the scaling factor is then multiplied by the angular frequency.&lt;\/p&gt;&lt;p&gt;In the optimization.py &#8216;master script&#8217; get adjoin_field_scaling is called at line 841. The phase prefactor is then used in the gradient calculation to scale the adjoint fields, as you would expect &#8211; see gradients.py.&nbsp;&lt;\/p&gt;&lt;p&gt;I hope this helps.&lt;\/p&gt;<\/p>\n","protected":false},"template":"","class_list":["post-360810","reply","type-reply","status-publish","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Hello Oliver,Thanks for the question. This is an area where I admittedly don&#039;t understand all the details. In particular I am bit unclear on the constants and normalization, and haven&#039;t worked these out rigouously. That being said I can maybe help you pick up the thread for what is happening here.The get_fom() function returns the\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/360810\/\" \/>\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=\"Reply To: Lumopt (adjoint method): adjoint field scaling | Ansys Learning Forum\" \/>\n\t\t<meta property=\"og:description\" content=\"Hello Oliver,Thanks for the question. This is an area where I admittedly don&#039;t understand all the details. In particular I am bit unclear on the constants and normalization, and haven&#039;t worked these out rigouously. That being said I can maybe help you pick up the thread for what is happening here.The get_fom() function returns the\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/360810\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-04-05T22:19:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-04-05T22:19:17+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Reply To: Lumopt (adjoint method): adjoint field scaling | Ansys Learning Forum\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Hello Oliver,Thanks for the question. This is an area where I admittedly don&#039;t understand all the details. In particular I am bit unclear on the constants and normalization, and haven&#039;t worked these out rigouously. That being said I can maybe help you pick up the thread for what is happening here.The get_fom() function returns the\" \/>\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\\\/reply\\\/360810\\\/#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\\\/forums\\\/reply\\\/360810\\\/#listItem\",\"name\":\"Reply To: Lumopt (adjoint method): adjoint field scaling\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/forums\\\/reply\\\/360810\\\/#listItem\",\"position\":2,\"name\":\"Reply To: Lumopt (adjoint method): adjoint field scaling\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum#listItem\",\"name\":\"Home\"}}]},{\"@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\\\/reply\\\/360810\\\/#webpage\",\"url\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/forums\\\/reply\\\/360810\\\/\",\"name\":\"Reply To: Lumopt (adjoint method): adjoint field scaling | Ansys Learning Forum\",\"description\":\"Hello Oliver,Thanks for the question. This is an area where I admittedly don't understand all the details. In particular I am bit unclear on the constants and normalization, and haven't worked these out rigouously. That being said I can maybe help you pick up the thread for what is happening here.The get_fom() function returns the\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/forums\\\/reply\\\/360810\\\/#breadcrumblist\"},\"datePublished\":\"2024-04-05T22:19:17+00:00\",\"dateModified\":\"2024-04-05T22:19:17+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":"Reply To: Lumopt (adjoint method): adjoint field scaling | Ansys Learning Forum","description":"Hello Oliver,Thanks for the question. This is an area where I admittedly don't understand all the details. In particular I am bit unclear on the constants and normalization, and haven't worked these out rigouously. That being said I can maybe help you pick up the thread for what is happening here.The get_fom() function returns the","canonical_url":"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/360810\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/360810\/#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\/forums\/reply\/360810\/#listItem","name":"Reply To: Lumopt (adjoint method): adjoint field scaling"}},{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/360810\/#listItem","position":2,"name":"Reply To: Lumopt (adjoint method): adjoint field scaling","previousItem":{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/forum#listItem","name":"Home"}}]},{"@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\/reply\/360810\/#webpage","url":"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/360810\/","name":"Reply To: Lumopt (adjoint method): adjoint field scaling | Ansys Learning Forum","description":"Hello Oliver,Thanks for the question. This is an area where I admittedly don't understand all the details. In particular I am bit unclear on the constants and normalization, and haven't worked these out rigouously. That being said I can maybe help you pick up the thread for what is happening here.The get_fom() function returns the","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/innovationspace.ansys.com\/forum\/#website"},"breadcrumb":{"@id":"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/360810\/#breadcrumblist"},"datePublished":"2024-04-05T22:19:17+00:00","dateModified":"2024-04-05T22:19:17+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":"Reply To: Lumopt (adjoint method): adjoint field scaling | Ansys Learning Forum","og:description":"Hello Oliver,Thanks for the question. This is an area where I admittedly don't understand all the details. In particular I am bit unclear on the constants and normalization, and haven't worked these out rigouously. That being said I can maybe help you pick up the thread for what is happening here.The get_fom() function returns the","og:url":"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/360810\/","article:published_time":"2024-04-05T22:19:17+00:00","article:modified_time":"2024-04-05T22:19:17+00:00","twitter:card":"summary_large_image","twitter:title":"Reply To: Lumopt (adjoint method): adjoint field scaling | Ansys Learning Forum","twitter:description":"Hello Oliver,Thanks for the question. This is an area where I admittedly don't understand all the details. In particular I am bit unclear on the constants and normalization, and haven't worked these out rigouously. That being said I can maybe help you pick up the thread for what is happening here.The get_fom() function returns the"},"aioseo_meta_data":{"post_id":"360810","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 16:50:10","updated":"2026-08-20 08:15:25","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\tReply To: Lumopt (adjoint method): adjoint field scaling\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/innovationspace.ansys.com\/forum"},{"label":"Reply To: Lumopt (adjoint method): adjoint field scaling","link":"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/360810\/"}],"acf":[],"_links":{"self":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/replies\/360810","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/replies"}],"about":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/types\/reply"}],"version-history":[{"count":0,"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/replies\/360810\/revisions"}],"wp:attachment":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/media?parent=360810"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}