


{"id":28420,"date":"2017-11-22T11:23:58","date_gmt":"2017-11-22T11:23:58","guid":{"rendered":"\/forum\/forums\/topic\/a-tip-for-cfx-user-fortran\/"},"modified":"2017-11-22T11:23:58","modified_gmt":"2017-11-22T11:23:58","slug":"a-tip-for-cfx-user-fortran","status":"closed","type":"topic","link":"https:\/\/innovationspace.ansys.com\/forum\/forums\/topic\/a-tip-for-cfx-user-fortran\/","title":{"rendered":"A tip for CFX USER Fortran"},"content":{"rendered":"<p>In the past two days, I performed a CFX simulation which called a fortran code to calculate <strong>an algebraic addition variable<\/strong> and <strong>a momentum source term<\/strong> simultaneously.&nbsp;<\/p>\n<p><\/p>\n<p><strong><span style=\"text-decoration: underline;\">User Function: mom source<\/span><\/strong><span style=\"text-decoration: underline;\"><strong>(args)<\/strong><\/span><\/p>\n<p><\/p>\n<p>If the Additional Variable (<em>mom_add<\/em>) is not set on the <strong>Fluid Models<\/strong> tab (just the momentum source is defined), the solver can finish normally. However, when <em>mom_add<\/em> is specified using the User Function <strong>mom source(args)<\/strong>, an <strong>&#8220;solver-impi.exe&#8221; error<\/strong> is reported by CFX-Solver at the end of the run and no .res file is saved.&nbsp;<\/p>\n<p><\/p>\n<p>A similar problem is mentioned in <em>CFD Online<\/em> website, while it was unfortunately not solved.<\/p>\n<p><\/p>\n<p><a href=\"https:\/\/www.cfd-online.com\/Forums\/cfx\/126242-user-fortran-stack-overflow-problem.html\">https:\/\/www.cfd-online.com\/Forums\/cfx\/126242-user-fortran-stack-overflow-problem.html<\/a><\/p>\n<p><\/p>\n<p>This situation occurs only if the addition variable is activated. So it is not caused by parallel setup (Intel MPI).&nbsp;<\/p>\n<p><\/p>\n<p>As I know relatively little about Fortran, I just thought this error is due to the <em><strong>USER_GETVAR<\/strong><\/em> routine which is applied to calculate velocity gradient tensor. Then i reviewed &#8220;<span style=\"text-decoration: underline;\">USER CEL Example 2<\/span>&#8221; in CFX Manual and embedded that into my own simulation. The type of phi2 (declared using transport equation in the Example) is changed to&nbsp;an algebraic variable, and <span style=\"text-decoration: underline;\">phi2<\/span> is calculated using the same &#8216;<em>AdVarSource.F<\/em>&#8216; code (offered in &lt;CFX ROOT&gt;examplesUserFortran).<\/p>\n<p><\/p>\n<p>phi2 can be calculated and no error occurs.<\/p>\n<p><\/p>\n<p>This puzzled me, so i checked my own code and deleted some unnecessary local variables. Finally and fortunately, the solver ran well and finished normally. Therefore, if the simulation is complex and large, trying to define variables in Fortran codes as little as possible.<\/p>\n<p><\/p>\n<p>PS: some spelling errors cannot be recognized when compile the code using cfx5mkext script in the command line, and the solver just stop without offering enough&nbsp;information. So, just be careful.<\/p>\n<p><\/p>\n<p>I spent two days to solve this problem and hope this information can be helpful for others.<\/p>\n<p><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"template":"","class_list":["post-28420","topic","type-topic","status-closed","hentry"],"aioseo_notices":[],"acf":[],"custom_fields":[{"0":{"_bbp_old_topic_id":["586"],"_bbp_old_topic_author_name_id":["Anonymous"],"_bbp_old_is_topic_anonymous_id":["false"],"_bbp_old_closed_status_id":["publish"],"_bbp_author_ip":[null],"_bbp_old_sticky_status_id":["normal"],"_bbp_likes_count":["0","0","0","0","0"],"_btv_view_count":["1696"],"_bbp_topic_status":["unanswered"],"_bbp_status":["publish"],"_bbp_topic_id":["28420"],"_bbp_forum_id":["27792"],"_bbp_engagement":["154886","155019"],"_bbp_voice_count":["2"],"_bbp_reply_count":["1"],"_bbp_last_reply_id":["55676"],"_bbp_last_active_id":["55676"],"_bbp_last_active_time":["2017-11-24 00:39:04"]},"test":"min-zhang"}],"_links":{"self":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/topics\/28420","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\/28420\/revisions"}],"wp:attachment":[{"href":"https:\/\/innovationspace.ansys.com\/forum\/wp-json\/wp\/v2\/media?parent=28420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}