Conductivity as a vector value
Hi Guys,
I am trying to set a thermal conductivity as a full tensor so it varies based on one of the directions (X, Y, and Z). In order to set a magnitude of the conductivity, I looked at material properties and changed the magnitude there. However, my conductivity is described by three functions of temperature, each function per direction. I believe there is an easy way to do it, but I am failing to find the solution. Could you please help me? Cheers, Nurzhan |
Use a CEL expression, interpolation function or junction box rountine.
|
Based on the mathematical formalism for heat conduction, thermal conductivity cannot be a vector. It is a second order tensor, that for isotropic materials reduces to scalar.
In the case of anisotropic thermal conduction, ANSYS CFX has a hidden feature to input the orthotropic conductivities (principal values on a specific orientation of the material) , or the full tensor. You can search this forum for "Thermal Conductivity X".. Otherwise, you should probably contact ANSYS CFX support for help. Either of those values can be set using CEL expression, interpolation functions or via user Fortran junction boxes. |
Thank you very much for your responses! :)
Cheers, Nurzhan |
Hi Glenn/Opaque,
I managed to set thermal conductivity as a full tensor using CEL as you advised me. However, the same way does not work for electrical conductivity. :confused: The error looks like that: ERROR CCL validation failed with message: Error: Invalid Option parameter 'Orthotropic Cartesian Components' Any ideas how to get over this problem? The feeling is like ANSYS intentionally stopping people to use electrical conductivity as a vector value. What do you think? Thank you in advance! Nurzhan |
Thermal conductivity is not a vector. Opaque explained that very well.
As the anisotropic thermal conductivity is a hidden feature that means it is not a supported feature. This means it has not completed all testing, may not be accurate or correctly implemented. For many of these cases it is because the introduction of this additional flexibility introduces additional terms into the modelled equations which CFX does not model. It is then user beware when you decide to use them. So no, it is unlikely that ANSYS has removed anisotropic electrical conductivity. Why would they develop it then remove it? What is far more likely is that it can introduce additional difficulties into the modelled equations and CFX has not got a model to handle that yet. |
Quote:
I used your suggestion to set thermal conductivity for an anisotropic material, using an orthotropic coordinates option (shown below), it worked for me. Thanks! THERMAL CONDUCTIVITY: Option = Orthotropic Cartesian Components Thermal Conductivity X Component= # [W m^-1 K^-1] Thermal Conductivity Y Component= # [W m^-1 K^-1] Thermal Conductivity Z Component= # [W m^-1 K^-1] END However, I tried to use the same method to set electrical conductivity for an anisotropic material, and it didn't work. Do you have any idea how to handle this problem? Thanks in advance, Nurzhan |
I do not think CFX can handle anisotropic electrical conductivity. Don't forget the anisotropic thermal conductivity is just a beta feature so is not fully supported.
|
There are hidden ways to access the anisotropic diffusion model for several equations. If you contact ANSYS CFX, they can provide you with the following beta re-configuration of the electrical conductivity settings:
Code:
RULES: Code:
cfx5solve -def MyAnisoCase.def -ccl aniso_eleccon.ccl ..... |
Thank you, guys! :) I do not know how to express my feelings right now - I really appreciate your help.
Regards, Nurzhan |
Hi Opaque,
I have been trying to apply the additional rules, written above to my simple simulation. However, I get an error saying that there is an "Error reading Command Language data from memory". I tried my simulation without the additional rules and the simulation worked fine. I decided to describe the procedure of my simulation below. 1) Setting all paramters in cfx pre (electrical conductivity specified as isotropic) and cube.def file is created: Quote:
However, when I apply the additional rules (a ccl file, named aniso_eleccon.ccl) Quote:
Quote:
I run all three codes using through the command line Quote:
Quote:
Thanks for taking your time to read this. Regards, Nurzhan |
Hi, guys!
Sorry for coming back to this old post, but I really need your help. I am facing a problem with setting electrical conductivity for orthotropic cylindrical coordinates, where a value set per each direction is a temperature dependent expression. Everything works well with the above code, kindly provided by Opaque, if the values set for each Cartesian direction are constants. (Opaque, thank you very much for your code! It helped me a lot!) However, when I try to re-write the rules for cylindrical coordinates, I get an error. Could you please at least tell me any reference material, where a process of changing rules is described? Thank you in advance! |
If you look into the installation directory for the RULES, you should find the existing rules for Orthotropic Cylindrical Components used for the Thermal Conductivity.
You should be able to create/add the Electrical Conductivity r/Theta/Axial Component parameters. Do not forget to include an AXIS DEFINITION as well. |
Thank you, Opaque, for the reply!
After several days of trials and studying the 'RULES' file, I updated my rules file. Opaque, could you please have a look at the below code: Code:
Description = Hold the details for an advanced description of \ After using this code, I get the following error: "ERROR #001100279 has occurred in subroutine ErrAction. Floating point exception: Zero divide." Despite that, my code works fine with isotropic conductivity (it was validated with experimental data) and orthotropic conductivity expressed in Cartesian coordinates, where conductivity in each direction is constant. Hence, it makes me believe that the above code has a bug, which leads to that error. Do you have any suggestions? Cheers, |
Not sure what version of ANSYS CFX you are using, but for Thermal Conductivity r Component, the group membership is ORTCYL2, not VECCYL.
Similarly, the solver name should be 11, 22, and 33, not 1/2 or 3 Hope the above helps, |
Opaque, thank you for your time and the suggestions.
I didn't get that error this time, and the run was successful. Though, I will have to study the results first, to be sure that they are valid. BTW, why did you wrote 'VECTOR' in 'Group Membership', when you described electrical conductivity in the Cartesian coordinates (the quote is below)? Quote:
Anyway, thanks a lot! |
My apologies for the typo.. Definitely a mistake. For Cartesian components, there is little difference between a vector, and a diagonal 2nd order tensor.
However, for cylindrical coordinates the orthotropic cylindrical components are not a diagonal 2nd order tensor in Cartesian coordinates; therefore, some mathematical manipulations required. I will correct my local rules for Cartesian components. Thank you.. |
Quote:
Hi Nurzhan, I am facing the same problem as you. How did you solve the zero-division error when working with temperature dependent spatial electrical conductivities in Cartesian coordinates? Could you please paste your final file? Thank you so much, DaveD! |
I found a solution, how to avoid the zero-division error (at least for my case). Obviously, when initializing the solution for the first time, there might be no temperature defined in every cell, leading to the error.
One workaround is to define constant values in x,y and z direction at first, and change them after the first iteration(s) to the temperature-dependent expression you actually have. That's all... |
I think if U use fluent will be much easier to define various conductivity on various direction . On program U have various definition od materials
|
All times are GMT -4. The time now is 00:41. |