Page 1 of 1
Emissivity as a function of another variable
Posted: 02 Jul 2015, 13:48
by pilafa
Hi,
I want to define temperature dependent material properties.
It's working find with with some properties, but not with the emissivity.
This is find:
Code: Select all
density = Variable Temperature
Real
0.0 0.28
0.01 0.28
0.1 0.93
1.0 0.93
End
...but not this:
Code: Select all
Emissivity = Variable Temperature
Real
0.0 0.28
0.01 0.28
0.1 0.93
1.0 0.93
End
it returns:
Code: Select all
ERROR:: ListGetReal: Can't find INDEPENDENT variable:[temperature]for dependent variable:[Emissivity]
Any reason?
Thanks
Pierre
Re: Emissivity as a function of another variable
Posted: 03 Jul 2015, 09:34
by julien givernaud
Hi Pifala,
Strange, it should works. I have already done emissivity = f(T) with MATC and table function.
Best regards
Julien
Re: Emissivity as a function of another variable
Posted: 03 Jul 2015, 11:38
by mzenker
Hi,
could you post your sif file?
Matthias
Re: Emissivity as a function of another variable
Posted: 06 Jul 2015, 12:34
by julien givernaud
Hi,
I precise that I work with idealized radiations BC
Code: Select all
Material 1
...
Emissivity = Variable Temperature
Real
293.15 0.6
$Tdown 0.6$
$Tup 0.2$
3000 0.2
End
Boundary Condition 1
...
Radiation = Idealized
Radiation External Temperature = 303
End
Hope it helps
Regards
Julien
Re: Emissivity as a function of another variable
Posted: 06 Jul 2015, 14:12
by mzenker
Thanks - I was thinking that the OP (Pierre) might post his entire sif file so that we can see in what context the Emissivity is used etc.
Matthias
Re: Emissivity as a function of another variable
Posted: 07 Jul 2015, 18:24
by pilafa
Hi,
Thanks for your help.
I am working with radiation between surfaces, so I use "Radiation = Diffuse Gray".
Here is a simplified version of my .sif, but that still produces this error:
Code: Select all
Header
CHECK KEYWORDS Warn
Mesh DB "." "."
Include Path ""
Results Directory ""
End
! *******************************************
! SIMULATION SET-UP
! *******************************************
Simulation
Max Output Level = 5
Coordinate System = Cartesian
Coordinate Mapping(3) = 1 2 3
Steady State Max Iterations = 1
Output Intervals = 1
Solver Input File = case.sif
Post File = case.ep
!Simulation Type = Steady state
Simulation Type = String Transient
Timestepping Method = String BDF
BDF Order = Integer 1
Timestep Intervals(1) = Integer 9515
Timestep Sizes(1) = Real 0.0014
!Output Intervals(1) = Integer 10
End
Constants
Gravity(4) = 0 -1 0 9.82
Stefan Boltzmann = 5.67e-08
Permittivity of Vacuum = 8.8542e-12
Boltzmann Constant = 1.3807e-23
Unit Charge = 1.602e-19
End
! *******************************************
! BODIES
! *******************************************
Body 1
Name = "LAMP"
Target Bodies(1) = 1
Equation = 1
Material = 1
Body Force = 1
Initial condition = 1
End
Body 2
Name = "WATER_FILM"
Target Bodies(1) = 11
Equation = 1
Material = 2
Initial condition = 1
End
Body 3
Name = "PLASTI_FILM"
Target Bodies(1) = 6
Equation = 1
Material = 3
Initial condition = 1
End
! *******************************************
! SOLVERS
! *******************************************
Solver 1
Equation = Heat Equation
Procedure = "HeatSolve" "HeatSolver"
Variable = Temperature
Exec Solver = Always
Stabilize = True
Bubbles = False
Lumped Mass Matrix = False
Optimize Bandwidth = True
Steady State Convergence Tolerance = 1.0e-5
Nonlinear System Convergence Tolerance = 1.0e-7
Nonlinear System Max Iterations = 1 !OJO: Force only 1 T interation per time step. "Explicit"
Nonlinear System Newton After Iterations = 3
Nonlinear System Newton After Tolerance = 1.0e-3
Nonlinear System Relaxation Factor = 1
Linear System Solver = Iterative
Linear System Iterative Method = BiCGStab
Linear System Max Iterations = 1!500 !OJO:
Linear System Convergence Tolerance = 1.0e-10
Linear System Preconditioning = ILU0
Linear System ILUT Tolerance = 1.0e-3
Linear System Abort Not Converged = False
Linear System Residual Output = 1
Linear System Precondition Recompute = 0
!Nonlinear Update Exported Variables = True
Exported Variable 1 = vtest
Exported Variable 2 = Pw
Exported Variable 3 = Pa
Exported Variable 4 = Tdp
Exported Variable 5 = drho
Exported Variable 6 = lh
Exported Variable 7 = meva
Exported Variable 8 = rho
Exported Variable 9 = tfrac
Exported Variable 10 = rhoold
Exported Variable 11 = thfilm
Exported Variable 12 = Emis_water
Exported Variable 13 = thfilmold
Exported Variable 14 = dthick
Exported Variable 15 = hair
Exported Variable 16 = Rey
Update Exported Variables = Logical True
Nonlinear Update Exported Variables = Logical True
End
! VTU
Solver 2
Exec interval(1) = 100
Equation = String "ResultOutput"
Procedure = File "ResultOutputSolve" "ResultOutputSolver"
Output File Name = File "IR_test." !or any other output file name of your choice
Output Format = String "vtu"
Vtu Format = Logical True
Binary Output = Logical True
Exec Solver = String "after timestep"
Save Geometry Ids = Logical True
Calculate Loads=True
End
! *******************************************
! EQUATIONS
! *******************************************
Equation 1
Name = "Equation 1"
Active Solvers(1) = 1
End
! *******************************************
! MATERIALS
! *******************************************
Material 1
Name = "Silicon (solid)"
Heat Conductivity = 2
Heat Capacity = 555.8
Density = 2330.0
End
Material 2
Name = "liquid water (generic)"
Heat Conductivity = 0.58
Heat Capacity = 4183.0
Density = 980.0
End
Material 3
Name = "PET"
Heat Conductivity = 0.3
Heat Capacity = 1250
Density = 1380.0
End
! *******************************************
! BODY FORCES
! *******************************************
Body Force 1
Temperature = Real 673.0
End
! *******************************************
! INITIAL CONDITIONS
! *******************************************
Initial Condition 1
Temperature = 298.0
End
! *******************************************
! BOUNDARY CONDITIONS
! *******************************************
! emmiting surface of lamp
Boundary Condition 1
Target Boundaries(1) = 3
!Radiation:
Radiation Boundary Open = Logical True
Radiation = Diffuse Gray
Radiation External Temperature = 298.0
Emissivity=0.95
End
! Upper surface of water
Boundary Condition 2
Target Boundaries(1) = 14
!Radiation:
Radiation Boundary Open = Logical True
Radiation = Diffuse Gray
Radiation External Temperature = 298
!Emissivity=0.605
Emissivity = Variable Temperature
Real
298.0 0.28
315.0 0.28
350.0 0.93
500.0 0.93
End
!Convection
Heat Transfer Coefficient = Variable hair; Real MATC "tx"
External Temperature = Real 298.0
Heat Flux BC = Logical True
Heat Flux = -100.0
End
! Lower surface of plastic
Boundary Condition 3
Target Boundaries(1) = 8
!Convection
Heat Transfer Coefficient = Variable hair; Real MATC "tx"
External Temperature = Real 298.0
End
Toward the end of the file, in "Boundary Condition 2", changing
by
Code: Select all
Emissivity = Variable Temperature
Real
298.0 0.28
315.0 0.28
350.0 0.93
500.0 0.93
End
will return :
ERROR:: ListGetReal: Can't find INDEPENDENT variable:[temperature]for dependent variable:[Emissivity]
Maybe diffuse gray radiation is not compatible with temperature dependent emissivity, but I don't see any physical reason for that.
Thanks again,
Pierre
Re: Emissivity as a function of another variable
Posted: 08 Jul 2015, 11:33
by raback
Hi Pierre
There are some historical layers.
Initially the emissivity was a constant property of the boundary. However, this was problematic since sometimes it was hard to give to specify the direction of the normal. Later a functionality was added that enable that the emissivity is found from the material section and the normal is defined such that it points from the material where the emissivity was found outwards. At the same time the emissivity was made a variable.
So if you want to use the latter approach you should move the emissity specification from BC to Material section.
-Peter
Re: Emissivity as a function of another variable
Posted: 22 Sep 2022, 16:32
by arved
Hi Pierre, hi Peter,
I have the same problem with a temperature-dependent emissivity in a surface-to-surface radiation case. I used the "radiation" Elmer test case with a quite recent Elmer version on Windows for testing and found that idealized radiation works, surface-to-surface radiation does not work. It fails with the following output:
Code: Select all
...
ViewFactors: Saving view factors in ascii mode
ViewFactors: *** ALL DONE ***
RadiationFactors: Loading view factors from ascii file: ./radiation/ViewFactors.dat
RadiationFactors: Computing factors...
RadiationFactors: View factors filling (%) 3.9908E+01
ListParseStrToVars: Parsed variable 1 of temperature
ERROR:: ListParseStrToVars: Can't find independent variable:[temperature] for dependent variable:[Emissivity]
STOP 1
Attached you can find the input files for both cases.
Is there any possibility to run a surface-to-surface radiation case with temperature-dependent emissivity?
Best regards
Arved
Re: Emissivity as a function of another variable
Posted: 22 Sep 2022, 19:06
by raback
Hi
It seems that the code does not know that it will depend on temperature and at initialization temperature does not exist.
You should give keyword:
Why are the factors needed before temperature is available? The Gebhardt factors need to be defined in order to know the topology of the CRS matrix. This is assumed to remain constant (=0.5) during the simulation whereas the Gebhardt factor values are updated within iteration.
There are also many other keywords here affecting tolerances etc.when Gebhardt factors are updated.
For radiation it is a good idea to provide a reasonable initial guess.
-Peter
Re: Emissivity as a function of another variable
Posted: 23 Sep 2022, 09:47
by arved
Hi Peter,
thanks a lot, with 'Update Gebhardt Factors = True' it works well.
Best regards
Arved