


{"id":361329,"date":"2024-04-09T13:40:38","date_gmt":"2024-04-09T13:40:38","guid":{"rendered":"\/forum\/forums\/reply\/361329\/"},"modified":"2024-04-09T13:40:38","modified_gmt":"2024-04-09T13:40:38","slug":"361329","status":"publish","type":"reply","link":"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/361329\/","title":{"rendered":"Reply To: Fluent UDF: An example using PRF_GRSUM macro?"},"content":{"rendered":"<p>&lt;p&gt;Hi,&lt;\/p&gt;&lt;p class=&#8221;MsoNormal&#8221; style=&#8221;margin-bottom: 0cm;&#8221;&gt;The PRF_GRSUM macro in Fluent&#8217;s User Defined Functions (UDF) is used to compute the global sum of a float or double array across all compute nodes in a parallel computation. Here&#8217;s an example of how you might use the PRF_GRSUM macro in a UDF:&lt;\/p&gt;&lt;p class=&#8221;MsoNormal&#8221; style=&#8221;margin-bottom: 0cm;&#8221;&gt;&lt;span style=&#8221;font-size: 10.0pt; line-height: 107%; font-family: &#8216;Courier New&#8217;;&#8221;&gt;DEFINE_ON_DEMAND(test)&lt;\/span&gt;&lt;\/p&gt;&lt;p class=&#8221;MsoNormal&#8221; style=&#8221;margin-bottom: 0cm;&#8221;&gt;&lt;span style=&#8221;font-size: 10.0pt; line-height: 107%; font-family: &#8216;Courier New&#8217;;&#8221;&gt;{&lt;\/span&gt;&lt;\/p&gt;&lt;p class=&#8221;MsoNormal&#8221; style=&#8221;margin-bottom: 0cm;&#8221;&gt;&lt;span style=&#8221;font-size: 10.0pt; line-height: 107%; font-family: &#8216;Courier New&#8217;;&#8221;&gt;real x[1]; \/* Array of size 1 to hold the sum *\/&lt;\/span&gt;&lt;\/p&gt;&lt;p class=&#8221;MsoNormal&#8221; style=&#8221;margin-bottom: 0cm;&#8221;&gt;&lt;span style=&#8221;font-size: 10.0pt; line-height: 107%; font-family: &#8216;Courier New&#8217;;&#8221;&gt;real sum;&lt;\/span&gt;&lt;\/p&gt;&lt;p class=&#8221;MsoNormal&#8221; style=&#8221;margin-bottom: 0cm;&#8221;&gt;&lt;span style=&#8221;font-size: 10.0pt; line-height: 107%; font-family: &#8216;Courier New&#8217;;&#8221;&gt;int iwork[1]; \/* Work array for parallel operation *\/&lt;\/span&gt;&lt;\/p&gt;&lt;p class=&#8221;MsoNormal&#8221; style=&#8221;margin-bottom: 0cm;&#8221;&gt;&lt;span style=&#8221;font-size: 10.0pt; line-height: 107%; font-family: &#8216;Courier New&#8217;;&#8221;&gt;\/* Initialize the array with the value to sum *\/&lt;\/span&gt;&lt;\/p&gt;&lt;p class=&#8221;MsoNormal&#8221; style=&#8221;margin-bottom: 0cm;&#8221;&gt;&lt;span style=&#8221;font-size: 10.0pt; line-height: 107%; font-family: &#8216;Courier New&#8217;;&#8221;&gt;x[0] = 5; \/* Your code to set the initial value *\/&lt;\/span&gt;&lt;\/p&gt;&lt;p class=&#8221;MsoNormal&#8221; style=&#8221;margin-bottom: 0cm;&#8221;&gt;&lt;span style=&#8221;font-size: 10.0pt; line-height: 107%; font-family: &#8216;Courier New&#8217;;&#8221;&gt;\/* Compute the global sum *\/&lt;\/span&gt;&lt;\/p&gt;&lt;p class=&#8221;MsoNormal&#8221; style=&#8221;margin-bottom: 0cm;&#8221;&gt;&lt;span style=&#8221;font-size: 10.0pt; line-height: 107%; font-family: &#8216;Courier New&#8217;;&#8221;&gt;PRF_GRSUM(x, 1, iwork);&lt;\/span&gt;&lt;\/p&gt;&lt;p class=&#8221;MsoNormal&#8221; style=&#8221;margin-bottom: 0cm;&#8221;&gt;&lt;span style=&#8221;font-size: 10.0pt; line-height: 107%; font-family: &#8216;Courier New&#8217;;&#8221;&gt;\/* x[0] now contains the sum of the values across all compute nodes *\/&lt;\/span&gt;&lt;\/p&gt;&lt;p class=&#8221;MsoNormal&#8221; style=&#8221;margin-bottom: 0cm;&#8221;&gt;&lt;span style=&#8221;font-size: 10.0pt; line-height: 107%; font-family: &#8216;Courier New&#8217;;&#8221;&gt;sum = x[0];&lt;\/span&gt;&lt;\/p&gt;&lt;p class=&#8221;MsoNormal&#8221; style=&#8221;margin-bottom: 0cm;&#8221;&gt;&lt;span style=&#8221;font-size: 10.0pt; line-height: 107%; font-family: &#8216;Courier New&#8217;;&#8221;&gt;Message0(&#8220;Total = %f\\n&#8221;,sum);&lt;\/span&gt;&lt;\/p&gt;&lt;p class=&#8221;MsoNormal&#8221; style=&#8221;margin-bottom: 0cm;&#8221;&gt;&lt;span style=&#8221;font-size: 10.0pt; line-height: 107%; font-family: &#8216;Courier New&#8217;;&#8221;&gt;\/* You can now use &#8216;sum&#8217; for further calculations or monitoring *\/&lt;\/span&gt;&lt;\/p&gt;&lt;p class=&#8221;MsoNormal&#8221; style=&#8221;margin-bottom: 0cm;&#8221;&gt;&lt;span style=&#8221;font-size: 10.0pt; line-height: 107%; font-family: &#8216;Courier New&#8217;;&#8221;&gt;}&lt;\/span&gt;&lt;\/p&gt;&lt;p class=&#8221;MsoNormal&#8221;&gt;In this example, <code>x<\/code> is an array that you want to sum across all compute nodes. The <code>PRF_GRSUM<\/code> macro takes the array <code>x<\/code>, the number of elements in the array (which is 1 in this case), and a work array <code>iwork<\/code> as arguments. After the macro is called, <code>x[0]<\/code> will contain the global sum of the values that were in <code>x<\/code> on each compute node.&lt;\/p&gt;&lt;p class=&#8221;MsoNormal&#8221;&gt;Please note that the PRF_GRSUM macro should be used in a context where it is called only once per compute node, such as within the <code>DEFINE_ADJUST<\/code> macro, to avoid issues with parallel execution as mentioned in the documentation.&lt;\/p&gt;<\/p>\n","protected":false},"template":"","class_list":["post-361329","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=\"Hi,The PRF_GRSUM macro in Fluent&#039;s User Defined Functions (UDF) is used to compute the global sum of a float or double array across all compute nodes in a parallel computation. Here&#039;s an example of how you might use the PRF_GRSUM macro in a UDF:\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/361329\/\" \/>\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: Fluent UDF: An example using PRF_GRSUM macro? | Ansys Learning Forum\" \/>\n\t\t<meta property=\"og:description\" content=\"Hi,The PRF_GRSUM macro in Fluent&#039;s User Defined Functions (UDF) is used to compute the global sum of a float or double array across all compute nodes in a parallel computation. Here&#039;s an example of how you might use the PRF_GRSUM macro in a UDF:\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/361329\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-04-09T13:40:38+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-04-09T13:40:38+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Reply To: Fluent UDF: An example using PRF_GRSUM macro? | Ansys Learning Forum\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Hi,The PRF_GRSUM macro in Fluent&#039;s User Defined Functions (UDF) is used to compute the global sum of a float or double array across all compute nodes in a parallel computation. Here&#039;s an example of how you might use the PRF_GRSUM macro in a UDF:\" \/>\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\\\/361329\\\/#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\\\/361329\\\/#listItem\",\"name\":\"Reply To: Fluent UDF: An example using PRF_GRSUM macro?\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/forums\\\/reply\\\/361329\\\/#listItem\",\"position\":2,\"name\":\"Reply To: Fluent UDF: An example using PRF_GRSUM macro?\",\"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\\\/361329\\\/#webpage\",\"url\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/forums\\\/reply\\\/361329\\\/\",\"name\":\"Reply To: Fluent UDF: An example using PRF_GRSUM macro? | Ansys Learning Forum\",\"description\":\"Hi,The PRF_GRSUM macro in Fluent's User Defined Functions (UDF) is used to compute the global sum of a float or double array across all compute nodes in a parallel computation. Here's an example of how you might use the PRF_GRSUM macro in a UDF:\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/forum\\\/forums\\\/reply\\\/361329\\\/#breadcrumblist\"},\"datePublished\":\"2024-04-09T13:40:38+00:00\",\"dateModified\":\"2024-04-09T13:40:38+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: Fluent UDF: An example using PRF_GRSUM macro? | Ansys Learning Forum","description":"Hi,The PRF_GRSUM macro in Fluent's User Defined Functions (UDF) is used to compute the global sum of a float or double array across all compute nodes in a parallel computation. Here's an example of how you might use the PRF_GRSUM macro in a UDF:","canonical_url":"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/361329\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/361329\/#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\/361329\/#listItem","name":"Reply To: Fluent UDF: An example using PRF_GRSUM macro?"}},{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/361329\/#listItem","position":2,"name":"Reply To: Fluent UDF: An example using PRF_GRSUM macro?","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\/361329\/#webpage","url":"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/361329\/","name":"Reply To: Fluent UDF: An example using PRF_GRSUM macro? | Ansys Learning Forum","description":"Hi,The PRF_GRSUM macro in Fluent's User Defined Functions (UDF) is used to compute the global sum of a float or double array across all compute nodes in a parallel computation. Here's an example of how you might use the PRF_GRSUM macro in a UDF:","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/innovationspace.ansys.com\/forum\/#website"},"breadcrumb":{"@id":"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/361329\/#breadcrumblist"},"datePublished":"2024-04-09T13:40:38+00:00","dateModified":"2024-04-09T13:40:38+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: Fluent UDF: An example using PRF_GRSUM macro? | Ansys Learning Forum","og:description":"Hi,The PRF_GRSUM macro in Fluent's User Defined Functions (UDF) is used to compute the global sum of a float or double array across all compute nodes in a parallel computation. Here's an example of how you might use the PRF_GRSUM macro in a UDF:","og:url":"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/361329\/","article:published_time":"2024-04-09T13:40:38+00:00","article:modified_time":"2024-04-09T13:40:38+00:00","twitter:card":"summary_large_image","twitter:title":"Reply To: Fluent UDF: An example using PRF_GRSUM macro? | Ansys Learning Forum","twitter:description":"Hi,The PRF_GRSUM macro in Fluent's User Defined Functions (UDF) is used to compute the global sum of a float or double array across all compute nodes in a parallel computation. Here's an example of how you might use the PRF_GRSUM macro in a UDF:"},"aioseo_meta_data":{"post_id":"361329","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:49:39","updated":"2026-08-12 13:07:36","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: Fluent UDF: An example using PRF_GRSUM macro?\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/innovationspace.ansys.com\/forum"},{"label":"Reply To: Fluent UDF: An example using PRF_GRSUM macro?","link":"https:\/\/innovationspace.ansys.com\/forum\/forums\/reply\/361329\/"}],"acf":[],"_links":{"self":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/replies\/361329","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\/361329\/revisions"}],"wp:attachment":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/media?parent=361329"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}