{"id":161609,"date":"2023-01-25T07:16:27","date_gmt":"2023-01-25T07:16:27","guid":{"rendered":"\/knowledge\/forums\/topic\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\/"},"modified":"2023-07-31T12:35:35","modified_gmt":"2023-07-31T12:35:35","slug":"using-porous-media-udf-with-ansys-fluent-adjoint-solver","status":"publish","type":"topic","link":"https:\/\/innovationspace.ansys.com\/knowledge\/forums\/topic\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\/","title":{"rendered":"Using porous media UDF with ANSYS Fluent adjoint solver"},"content":{"rendered":"<p>You can use a user-defined function (UDF) to define the porosity and the resistance terms for porous media in ANSYS Fluent. The adjoint solver is fully compatible when using porous media either without energy or with the equilibrium thermal model.  When calculating the resistance with a UDF, ensure that the resistance is never equal to zero. During the adjoint calculation there is a step where a variable is divided by the effective resistance.   If your UDF returns exactly 0 in a cell for all resistance components, you get messages like -1.#IND0e+00, 1.#QNANe+00 or simply NAN for all adjoint residuals in the first iterations followed by divergence or even a segmentation fault.  To avoid this behavior, add a control statement to ensure the resistance is always a positive value (e.g. 1e-10). If you are not sure if the calculated values are valid, you can write the results of the resistance UDFs into UDMs (user-defined memory locations). See the ANSYS Fluent Customization Manual for details on how to use UDMs.<\/p>\n","protected":false},"template":"","class_list":["post-161609","topic","type-topic","status-publish","hentry","topic-tag-19-1","topic-tag-adjoint-solvers","topic-tag-fluent","topic-tag-fluent-flow-optimization","topic-tag-fluid-dynamics","topic-tag-udf"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"You can use a user-defined function (UDF) to define the porosity and the resistance terms for porous media in ANSYS Fluent. The adjoint solver is fully compatible when using porous media either without energy or with the equilibrium thermal model. When calculating the resistance with a UDF, ensure that the resistance is never equal to\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/innovationspace.ansys.com\/knowledge\/forums\/topic\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\/\" \/>\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 Knowledge | Ansys Innovation Space\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Using porous media UDF with ANSYS Fluent adjoint solver | Ansys Knowledge\" \/>\n\t\t<meta property=\"og:description\" content=\"You can use a user-defined function (UDF) to define the porosity and the resistance terms for porous media in ANSYS Fluent. The adjoint solver is fully compatible when using porous media either without energy or with the equilibrium thermal model. When calculating the resistance with a UDF, ensure that the resistance is never equal to\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/innovationspace.ansys.com\/knowledge\/forums\/topic\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-01-25T07:16:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-07-31T12:35:35+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Using porous media UDF with ANSYS Fluent adjoint solver | Ansys Knowledge\" \/>\n\t\t<meta name=\"twitter:description\" content=\"You can use a user-defined function (UDF) to define the porosity and the resistance terms for porous media in ANSYS Fluent. The adjoint solver is fully compatible when using porous media either without energy or with the equilibrium thermal model. When calculating the resistance with a UDF, ensure that the resistance is never equal to\" \/>\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\\\/knowledge\\\/forums\\\/topic\\\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/topics\\\/#listItem\",\"name\":\"Topics\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/topics\\\/#listItem\",\"position\":2,\"name\":\"Topics\",\"item\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/topics\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/forums\\\/topic-tag\\\/fluent\\\/#listItem\",\"name\":\"fluent\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/forums\\\/topic-tag\\\/fluent\\\/#listItem\",\"position\":3,\"name\":\"fluent\",\"item\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/forums\\\/topic-tag\\\/fluent\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/forums\\\/topic\\\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\\\/#listItem\",\"name\":\"Using porous media UDF with ANSYS Fluent adjoint solver\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/topics\\\/#listItem\",\"name\":\"Topics\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/forums\\\/topic\\\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\\\/#listItem\",\"position\":4,\"name\":\"Using porous media UDF with ANSYS Fluent adjoint solver\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/forums\\\/topic-tag\\\/fluent\\\/#listItem\",\"name\":\"fluent\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/#organization\",\"name\":\"Ansys Knowledge\",\"description\":\"Ansys Innovation Space\",\"url\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/forums\\\/topic\\\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\\\/#webpage\",\"url\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/forums\\\/topic\\\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\\\/\",\"name\":\"Using porous media UDF with ANSYS Fluent adjoint solver | Ansys Knowledge\",\"description\":\"You can use a user-defined function (UDF) to define the porosity and the resistance terms for porous media in ANSYS Fluent. The adjoint solver is fully compatible when using porous media either without energy or with the equilibrium thermal model. When calculating the resistance with a UDF, ensure that the resistance is never equal to\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/forums\\\/topic\\\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\\\/#breadcrumblist\"},\"datePublished\":\"2023-01-25T07:16:27+00:00\",\"dateModified\":\"2023-07-31T12:35:35+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/#website\",\"url\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/\",\"name\":\"Ansys Knowledge\",\"description\":\"Ansys Innovation Space\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/innovationspace.ansys.com\\\/knowledge\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Using porous media UDF with ANSYS Fluent adjoint solver | Ansys Knowledge","description":"You can use a user-defined function (UDF) to define the porosity and the resistance terms for porous media in ANSYS Fluent. The adjoint solver is fully compatible when using porous media either without energy or with the equilibrium thermal model. When calculating the resistance with a UDF, ensure that the resistance is never equal to","canonical_url":"https:\/\/innovationspace.ansys.com\/knowledge\/forums\/topic\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/innovationspace.ansys.com\/knowledge\/forums\/topic\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/knowledge#listItem","position":1,"name":"Home","item":"https:\/\/innovationspace.ansys.com\/knowledge","nextItem":{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/knowledge\/topics\/#listItem","name":"Topics"}},{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/knowledge\/topics\/#listItem","position":2,"name":"Topics","item":"https:\/\/innovationspace.ansys.com\/knowledge\/topics\/","nextItem":{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/knowledge\/forums\/topic-tag\/fluent\/#listItem","name":"fluent"},"previousItem":{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/knowledge#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/knowledge\/forums\/topic-tag\/fluent\/#listItem","position":3,"name":"fluent","item":"https:\/\/innovationspace.ansys.com\/knowledge\/forums\/topic-tag\/fluent\/","nextItem":{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/knowledge\/forums\/topic\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\/#listItem","name":"Using porous media UDF with ANSYS Fluent adjoint solver"},"previousItem":{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/knowledge\/topics\/#listItem","name":"Topics"}},{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/knowledge\/forums\/topic\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\/#listItem","position":4,"name":"Using porous media UDF with ANSYS Fluent adjoint solver","previousItem":{"@type":"ListItem","@id":"https:\/\/innovationspace.ansys.com\/knowledge\/forums\/topic-tag\/fluent\/#listItem","name":"fluent"}}]},{"@type":"Organization","@id":"https:\/\/innovationspace.ansys.com\/knowledge\/#organization","name":"Ansys Knowledge","description":"Ansys Innovation Space","url":"https:\/\/innovationspace.ansys.com\/knowledge\/"},{"@type":"WebPage","@id":"https:\/\/innovationspace.ansys.com\/knowledge\/forums\/topic\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\/#webpage","url":"https:\/\/innovationspace.ansys.com\/knowledge\/forums\/topic\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\/","name":"Using porous media UDF with ANSYS Fluent adjoint solver | Ansys Knowledge","description":"You can use a user-defined function (UDF) to define the porosity and the resistance terms for porous media in ANSYS Fluent. The adjoint solver is fully compatible when using porous media either without energy or with the equilibrium thermal model. When calculating the resistance with a UDF, ensure that the resistance is never equal to","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/innovationspace.ansys.com\/knowledge\/#website"},"breadcrumb":{"@id":"https:\/\/innovationspace.ansys.com\/knowledge\/forums\/topic\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\/#breadcrumblist"},"datePublished":"2023-01-25T07:16:27+00:00","dateModified":"2023-07-31T12:35:35+00:00"},{"@type":"WebSite","@id":"https:\/\/innovationspace.ansys.com\/knowledge\/#website","url":"https:\/\/innovationspace.ansys.com\/knowledge\/","name":"Ansys Knowledge","description":"Ansys Innovation Space","inLanguage":"en-US","publisher":{"@id":"https:\/\/innovationspace.ansys.com\/knowledge\/#organization"}}]},"og:locale":"en_US","og:site_name":"Ansys Knowledge | Ansys Innovation Space","og:type":"article","og:title":"Using porous media UDF with ANSYS Fluent adjoint solver | Ansys Knowledge","og:description":"You can use a user-defined function (UDF) to define the porosity and the resistance terms for porous media in ANSYS Fluent. The adjoint solver is fully compatible when using porous media either without energy or with the equilibrium thermal model. When calculating the resistance with a UDF, ensure that the resistance is never equal to","og:url":"https:\/\/innovationspace.ansys.com\/knowledge\/forums\/topic\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\/","article:published_time":"2023-01-25T07:16:27+00:00","article:modified_time":"2023-07-31T12:35:35+00:00","twitter:card":"summary_large_image","twitter:title":"Using porous media UDF with ANSYS Fluent adjoint solver | Ansys Knowledge","twitter:description":"You can use a user-defined function (UDF) to define the porosity and the resistance terms for porous media in ANSYS Fluent. The adjoint solver is fully compatible when using porous media either without energy or with the equilibrium thermal model. When calculating the resistance with a UDF, ensure that the resistance is never equal to"},"aioseo_meta_data":{"post_id":"161609","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":"default","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":false,"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":"2025-10-17 19:15:21","updated":"2026-07-29 05:38:49","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\/knowledge\" 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\/knowledge\/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\/knowledge\/forums\/topic-tag\/fluent\/\" title=\"fluent\">fluent<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tUsing porous media UDF with ANSYS Fluent adjoint solver\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/innovationspace.ansys.com\/knowledge"},{"label":"Topics","link":"https:\/\/innovationspace.ansys.com\/knowledge\/topics\/"},{"label":"fluent","link":"https:\/\/innovationspace.ansys.com\/knowledge\/forums\/topic-tag\/fluent\/"},{"label":"Using porous media UDF with ANSYS Fluent adjoint solver","link":"https:\/\/innovationspace.ansys.com\/knowledge\/forums\/topic\/using-porous-media-udf-with-ansys-fluent-adjoint-solver\/"}],"acf":[],"custom_fields":[{"0":{"_wp_page_template":["default"],"_bbp_forum_id":["27796"],"_bbp_author_ip":["23.56.168.180"],"_bbp_last_active_time":["1-24-2023  20:20:32"],"_btv_view_count":["4027"],"siebel_km_number":["2054622"],"product_version":["19.1"],"km_published_date":["2018-05-25T13:14:43.000Z"],"family":["Fluid Dynamics"],"application_name":["FLUENT"]},"test":"articlesansys-com"}],"_links":{"self":[{"href":"https:\/\/innovationspace.ansys.com\/knowledge\/wp-json\/wp\/v2\/topics\/161609","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/innovationspace.ansys.com\/knowledge\/wp-json\/wp\/v2\/topics"}],"about":[{"href":"https:\/\/innovationspace.ansys.com\/knowledge\/wp-json\/wp\/v2\/types\/topic"}],"version-history":[{"count":0,"href":"https:\/\/innovationspace.ansys.com\/knowledge\/wp-json\/wp\/v2\/topics\/161609\/revisions"}],"wp:attachment":[{"href":"https:\/\/innovationspace.ansys.com\/knowledge\/wp-json\/wp\/v2\/media?parent=161609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}