Ansys: Difference between revisions

Jump to navigation Jump to search
659 bytes added ,  30 days ago
m
no edit summary
mNo edit summary
mNo edit summary
Line 940: Line 940:
=== UDFs === <!--T:520-->
=== UDFs === <!--T:520-->


The first step is to transfer your User-Defined Function or UDF (namely the sampleudf.c source file and any additional dependency files) to the cluster.  When uploading from a windows machine be sure the text mode setting of your transfer client is used otherwise fluent won't be able to read the file properly on the cluster since it runs linux.  The UDF should be placed in the directory where your journal, cas and dat files reside.  Next add one of the following commands into your journal file before the commands that read in your simulation cas/dat files.   
The first step is to transfer your User-Defined Function or UDF (namely the sampleudf.c source file and any additional dependency files) to the cluster.  When uploading from a windows machine be sure the text mode setting of your transfer client is used otherwise fluent won't be able to read the file properly on the cluster since it runs linux.  The UDF should be placed in the directory where your journal, cas and dat files reside.  Next add one of the following commands into your journal file before the commands that read in your simulation cas/dat files.  Regardless of whether you use the Interpreted or Compiled UDF approach,  before uploading your cas file onto the Alliance please check that neither the Interpreted UDFs Dialog Box or the UDF Library Manager Dialog Box are configured to use any UDF, this will ensure that when jobs are submitted only the journal file commands will be in control.


==== Interpreted UDF==== <!--T:521-->
==== Interpreted UDF==== <!--T:521-->
Line 960: Line 960:
==== Parallel Use  ==== <!--T:523-->
==== Parallel Use  ==== <!--T:523-->


Most UDFs are created and tested in serial mode, however must be parallelized when submitting single node Shared Memory and multi-node MPI parallel otherwise the simulation will likely crash at worst or run very slow at best.  The topic is well described in <I>Chapter 7:Parallel Considerations</I> of the Ansys official 2024 Fluent Documentation Manual section which can be accessed by following the steps given [https://docs.alliancecan.ca/wiki/Ansys#Online_documentation here] for further information.
Before a UDF can be used with a fluent parallel job (single node SMP and multi node MPI) it will need to be parallelized.  By doing this we control how/which processes (host and/or compute) run specific parts of the UDF code. This is done my adding compiler directives, predicates and reduction macros into the UDF. Failure to do so will result in fluent running slow at best or immediately crashing at worst.  The procedure basically involves instrumenting the working serial UDF with macros to ensure functions only run when necessary.  The subject is well described in <I>Chapter 7:Parallel Considerations</I> of the Ansys official 2024 Fluent Documentation Manual section which can be accessed by following the steps given [https://docs.alliancecan.ca/wiki/Ansys#Online_documentation here] for further information.


== Ansys CFX == <!--T:78-->
== Ansys CFX == <!--T:78-->
cc_staff
1,857

edits

Navigation menu