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

Code: Select all

Emissivity=0.605
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:

Code: Select all

Update Gebhardt Factors = True
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