CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > ANSYS > FLUENT > Fluent UDF and Scheme Programming

Temperature Gradient UDF file not compiling

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 8, 2021, 23:52
Default Temperature Gradient UDF file not compiling
  #1
New Member
 
Join Date: Mar 2021
Posts: 15
Rep Power: 5
SugarOnichan is on a distinguished road
Hello,

I have a 2D spiral geometry and I am trying to calculate the temperature gradient along the wall. I have written a UDF code to calculate it but it is not getting compiled. Can anyone help me out here ? I am attaching my udf file here.

Code:
#include "udf.h"

DEFINE_ADJUST(tempgrad,d)
{
	Thread *t;
	cell_t c;
	face_t f;

	thread_loop_c(t,domain)
	{
		begin_c_loop(c,t)
		{
			C_UDSI(c,t,0)=NV_Mag(C_T_G(c,t));
		}
		end_c_loop(c,t)
	}
}

DEFINE_ON_DEMAND(store_gradient)
{ 
	
	Domain *domain;
	cell_t c;
	Thread *t;
	domain=Get_Domain(1);
	
	thread_loop_c (t,domain)
	{
		begin_c_loop (c,t)	
		{
		C_UDMI(c,t,0) = NV_MAG(C_UDSI_G(c,t,0));
		}
	end_c_loop (c,t)
	}
}

Last edited by SugarOnichan; March 10, 2021 at 03:36.
SugarOnichan is offline   Reply With Quote

Old   March 9, 2021, 01:34
Default
  #2
Senior Member
 
Join Date: Nov 2013
Posts: 1,965
Rep Power: 26
pakk will become famous soon enough
What compiler error do you get?
pakk is offline   Reply With Quote

Old   March 9, 2021, 03:41
Default
  #3
New Member
 
Join Date: Mar 2021
Posts: 15
Rep Power: 5
SugarOnichan is on a distinguished road
Error: UDF library "libudf" not available at ...
SugarOnichan is offline   Reply With Quote

Old   March 9, 2021, 14:39
Default
  #4
Senior Member
 
Join Date: Nov 2013
Posts: 1,965
Rep Power: 26
pakk will become famous soon enough
That is not the compile error, but the load error. What do you see after you click "build"?
pakk is offline   Reply With Quote

Old   March 9, 2021, 23:17
Default
  #5
New Member
 
Join Date: Mar 2021
Posts: 15
Rep Power: 5
SugarOnichan is on a distinguished road
Here is the screenshot of it :

https://imgur.com/xwrTp90
SugarOnichan is offline   Reply With Quote

Old   March 10, 2021, 01:55
Default
  #6
Senior Member
 
Join Date: Nov 2013
Posts: 1,965
Rep Power: 26
pakk will become famous soon enough
It's saying there is a problem in line 9. It is saying which word is the problem. Look at that!
pakk is offline   Reply With Quote

Old   March 10, 2021, 02:03
Default
  #7
Senior Member
 
Join Date: Nov 2013
Posts: 1,965
Rep Power: 26
pakk will become famous soon enough
The error you post, does not correspond to the code you posted.

In the code, you use "domian". The error says "domain". Presumably you fixed that already.

But the real problem is that you use a word that Fluent does not know. What is domain/domian? It's the first time you use that word, Fluent does not know what you mean. I, as a human, can guess what you mean: earlier you called it "d". But the compiler can not guess that. Use the same name!
pakk is offline   Reply With Quote

Old   March 10, 2021, 03:36
Default
  #8
New Member
 
Join Date: Mar 2021
Posts: 15
Rep Power: 5
SugarOnichan is on a distinguished road
Actually it was a typing mistake and I have already corrected it after that it is showing me that error.
SugarOnichan is offline   Reply With Quote

Old   March 10, 2021, 08:28
Default
  #9
Senior Member
 
Join Date: Nov 2013
Posts: 1,965
Rep Power: 26
pakk will become famous soon enough
I think you missed the second part of my post.
pakk is offline   Reply With Quote

Old   March 10, 2021, 11:42
Default
  #10
New Member
 
Join Date: Mar 2021
Posts: 15
Rep Power: 5
SugarOnichan is on a distinguished road
Code:
#include "udf.h"

DEFINE_ADJUST(tempgrad,d)
{
	Thread *t;
	cell_t c;
	face_t f;

	thread_loop_c(t, d)
	{
		begin_c_loop(c,t)
		{
			C_UDSI(c,t,0)=NV_Mag(C_T_G(c,t));
		}
		end_c_loop(c,t)
	}
}

DEFINE_ON_DEMAND(store_gradient)
{ 
	
	Domain *d;
	cell_t c;
	Thread *t;
	
	thread_loop_c (t,d)
	{
		begin_c_loop (c,t)	
		{
		C_UDMI(c,t,0) = NV_MAG(C_UDSI_G(c,t,0));
		}
	end_c_loop (c,t)
	}
}
So you were trying to say to me that the mistake I was making was using domain instead of "d" in my code ?

I am still getting following error message :

Error: The UDF library you are trying to load (D:\Spiral\Grid Dependency Test-New Geometry\No Of division - 500\2Dv2\2Dv2_files\dp0\FFF\Fluent\libudf) is not compiled for 2ddp on the current platform (win64).\n\nThe system cannot find the file specified.
\n\nD:\Spiral\Grid Dependency Test-New Geometry\No Of division - 500\2Dv2\2Dv2_files\dp0\FFF\Fluent\D:\Spiral\Grid Dependency Test-New Geometry\No Of division - 500\2Dv2\2Dv2_files\dp0\FFF\Fluent\libudf\win64\2d dp\libudf.dll
Error Object: #f
SugarOnichan is offline   Reply With Quote

Old   March 10, 2021, 12:41
Default
  #11
Senior Member
 
Join Date: Nov 2013
Posts: 1,965
Rep Power: 26
pakk will become famous soon enough
You are still looking at the load error. Don't do that. Look at the compile error. It should be just above this.
__________________
"The UDF library you are trying to load (libudf) is not compiled for parallel use on the current platform" is NOT the error after compiling. It is the error after loading. To see compiler errors, look at your screen after you click "build".
pakk is offline   Reply With Quote

Old   March 10, 2021, 12:43
Default
  #12
Senior Member
 
Join Date: Nov 2013
Posts: 1,965
Rep Power: 26
pakk will become famous soon enough
Problem is now probably in your second function : you never initialize domain.
__________________
"The UDF library you are trying to load (libudf) is not compiled for parallel use on the current platform" is NOT the error after compiling. It is the error after loading. To see compiler errors, look at your screen after you click "build".
pakk is offline   Reply With Quote

Old   March 10, 2021, 23:08
Default
  #13
New Member
 
Join Date: Mar 2021
Posts: 15
Rep Power: 5
SugarOnichan is on a distinguished road
Code:
#include "udf.h"

DEFINE_ADJUST(tempgrad,d)
{
	Thread *t;
	cell_t c;
	face_t f;

	thread_loop_c(t, d)
	{
		begin_c_loop(c,t)
		{
			C_UDSI(c,t,0)=NV_Mag(C_T_G(c,t));
		}
		end_c_loop(c,t)
	}
}

DEFINE_ON_DEMAND(store_gradient)
{ 
	
	d = Get_Domain(1);
	cell_t c;
	Thread *t;
	
	thread_loop_c (t,d)
	{
		begin_c_loop (c,t)	
		{
		C_UDMI(c,t,0) = NV_MAG(C_UDSI_G(c,t,0));
		}
	end_c_loop (c,t)
	}
}
I think now it looks ok but I don't understand your second point. When I click on build option it is not showing error. When I try to load only I am getting error. So what could be the reason behind this and how to solve this ?
SugarOnichan is offline   Reply With Quote

Old   March 11, 2021, 01:23
Default
  #14
Senior Member
 
Join Date: Nov 2013
Posts: 1,965
Rep Power: 26
pakk will become famous soon enough
Maybe you don't know where to look. Your earlier screenshot clearly showed a compile error... Above the load error.
__________________
"The UDF library you are trying to load (libudf) is not compiled for parallel use on the current platform" is NOT the error after compiling. It is the error after loading. To see compiler errors, look at your screen after you click "build".
pakk is offline   Reply With Quote

Old   March 11, 2021, 01:43
Default
  #15
New Member
 
Join Date: Mar 2021
Posts: 15
Rep Power: 5
SugarOnichan is on a distinguished road
I am sorry but I am not understanding your point. Can you elaborate a little bit ? Here is the image after I click on the build : https://imgur.com/vdroI1S

And Here is the image after I click on the load :
https://imgur.com/lpa3IEs

And also "Problem is now probably in your second function : you never initialize domain." Did I solve this problem ?

Also can you recommend some resources to learn all of this ?
SugarOnichan is offline   Reply With Quote

Old   March 11, 2021, 03:21
Default
  #16
Senior Member
 
Join Date: Nov 2013
Posts: 1,965
Rep Power: 26
pakk will become famous soon enough
The compile error is that nmake is not found.
This indicates a problem with fluent installation/configuration, and has nothing to do with your code.
Weird, because in your earlier screenshot it worked. Is this on the same computer?

I don't have a good advice to learn this... The manual, Google, and this forum...
__________________
"The UDF library you are trying to load (libudf) is not compiled for parallel use on the current platform" is NOT the error after compiling. It is the error after loading. To see compiler errors, look at your screen after you click "build".
pakk is offline   Reply With Quote

Old   March 11, 2021, 04:53
Default
  #17
New Member
 
Join Date: Mar 2021
Posts: 15
Rep Power: 5
SugarOnichan is on a distinguished road
No, it is the same computer but I was looking through google and found that I need to install microsoft visual studio. I am not understanding the difference between compile error and load error. Which error I am getting ? and what is the solution of this ?
SugarOnichan is offline   Reply With Quote

Old   March 11, 2021, 04:59
Default
  #18
Senior Member
 
Join Date: Nov 2013
Posts: 1,965
Rep Power: 26
pakk will become famous soon enough
You are getting both.

Your file did not compile, because your compiler was not found.
And because it was not compiled, Fluent could not load it.

How to solve that: install Fluent properly. I'm no expert on that. Search for the nmake message on this forum.
Yasser likes this.
__________________
"The UDF library you are trying to load (libudf) is not compiled for parallel use on the current platform" is NOT the error after compiling. It is the error after loading. To see compiler errors, look at your screen after you click "build".
pakk is offline   Reply With Quote

Old   March 12, 2021, 11:10
Default
  #19
Member
 
Yasser Selima
Join Date: Mar 2009
Location: Canada
Posts: 52
Rep Power: 19
Yasser is on a distinguished road
Post a screenshot of what you get when compiling, not when loading
Yasser is offline   Reply With Quote

Old   March 12, 2021, 11:12
Default
  #20
Member
 
Yasser Selima
Join Date: Mar 2009
Location: Canada
Posts: 52
Rep Power: 19
Yasser is on a distinguished road
probably the error is here

thread_loop_c(t,domain)

make it

thread_loop_c(t,d)
Yasser is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
OpenFoam "Permission denied" and "command not found" problems. iyidaniel@yahoo.co.uk OpenFOAM Running, Solving & CFD 11 January 2, 2018 06:47
Problem compiling a custom Lagrangian library brbbhatti OpenFOAM Programming & Development 2 July 7, 2014 11:32
[swak4Foam] build problem swak4Foam OF 2.2.0 mcathela OpenFOAM Community Contributions 14 April 23, 2013 13:59
friction forces icoFoam ofslcm OpenFOAM 3 April 7, 2012 10:57
"parabolicVelocity" in OpenFoam 2.1.0 ? sawyer86 OpenFOAM Running, Solving & CFD 21 February 7, 2012 11:44


All times are GMT -4. The time now is 08:07.