Gray radiation error

Numerical methods and mathematical models of Elmer
papamat
Posts: 6
Joined: 27 May 2020, 16:29
Antispam: Yes

Gray radiation error

Post by papamat »

Hello people,
I am trying to simulate a cubesat subsystem and I made a simplified model to start with. Is made by two separate meshes, the first representing the solar panel, and the second the subsystem. Solar panel receiving, radiation from the sun and radiates out the energy. Part of the energy is radiated in the subsystem. In the real scenario the subsystem will be covers with panels from every direction plus there are fluxes on the other sides too (reflection from earth surface and earth's IR radiation), and some heat generation from the subsystem components. the system is as follows:
Screenshot from 2020-05-27 16-30-37.png
(195.19 KiB) Not downloaded yet
The sun radiation boundary condition is applied in this surface
Screenshot from 2020-05-27 16-31-21.png
(160.94 KiB) Not downloaded yet
And the radiation is "coming out" from those surfaces
Screenshot from 2020-05-27 16-31-53.png
(193.92 KiB) Not downloaded yet
Heat equation is:

Code: Select all

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 = 20
  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 = 500
  Linear System Convergence Tolerance = 1.0e-10
  BiCGstabl polynomial degree = 2
  Linear System Preconditioning = ILU0
  Linear System ILUT Tolerance = 1.0e-3
  Linear System Abort Not Converged = False
  Linear System Residual Output = 10
  Linear System Precondition Recompute = 1
End
Initial temp is a constant
And the two boundary conditions:

Code: Select all

Boundary Condition 1
  Target Boundaries(1) = 8 
  Name = "Flux"
  Heat Flux = 100
End

Code: Select all

Boundary Condition 2
  Target Boundaries(3) = 3 4 7 
  Name = "Radiation"
  Radiation Boundary Open = True
  Radiation = Diffuse Gray
  External Temperature = 100
  Emissivity = 0.8
End
And now the problem, solver after calculating the Gebhart factors failing with an invalid size in a maloc.

Code: Select all

RadiationFactors: Computing radiation factors for heat transfer
RadiationFactors: ----------------------------------------------------
RadiationFactors: Total number of Radiation Surfaces 3834 out of 5856
RadiationFactors: Computing factors...
RadiationFactors: View factors filling (%)               2.2434E+01
RadiationFactors:    Solution:  26 % done
RadiationFactors:    Solution:  65 % done
RadiationFactors: Minimum Gebhardt factors sum           0.0000E+00
RadiationFactors: Maximum Gebhardt factors sum           4.0921E-01
RadiationFactors: Maximum share of omitted factors       0.0000E+00
RadiationFactors: Gebhardt factors filling (%)           4.4828E+01
RadiationFactors: Gebhardt factors determined (s)        3.3956E+01
RadiationFactors: All done time (s)                      3.3956E+01
RadiationFactors: ----------------------------------------------------
malloc(): invalid size (unsorted)

Program received signal SIGABRT: Process abort signal.

Backtrace for this error:
#0  0x7fafe57b2cb1 in ???
#1  0x7fafe57b1e75 in ???
#2  0x7fafe55e846f in ???
#3  0x7fafe55e83eb in ???
#4  0x7fafe55c7898 in ???
#5  0x7fafe563238d in ???
#6  0x7fafe563a4db in ???
#7  0x7fafe563d283 in ???
#8  0x7fafe563f448 in ???
#9  0x7fafe5bac4e5 in __listmatrix_MOD_list_getmatrixentry
	at /home/streamserver/Documents/elmerfem/fem/src/ListMatrix.F90:476
#10  0x7fafe5bac6fe in __listmatrix_MOD_list_addmatrixindexes
	at /home/streamserver/Documents/elmerfem/fem/src/ListMatrix.F90:456
#11  0x7fafe5c19561 in __elementutils_MOD_makelistmatrix
	at /home/streamserver/Documents/elmerfem/fem/src/ElementUtils.F90:658
#12  0x7fafe5c1c14e in __elementutils_MOD_creatematrix
	at /home/streamserver/Documents/elmerfem/fem/src/ElementUtils.F90:1646
#13  0x7fafe5cded0c in __mainutils_MOD_addequationbasics
	at /home/streamserver/Documents/elmerfem/fem/src/MainUtils.F90:1513
#14  0x7fafe5ef8502 in addsolvers
	at /home/streamserver/Documents/elmerfem/fem/src/ElmerSolver.F90:1105
#15  0x7fafe5f04331 in elmersolver_
	at /home/streamserver/Documents/elmerfem/fem/src/ElmerSolver.F90:398
#16  0x563ddd60a3cd in solver
	at /home/streamserver/Documents/elmerfem/fem/src/Solver.F90:57
#17  0x563ddd60a13e in main
	at /home/streamserver/Documents/elmerfem/fem/src/Solver.F90:34
Just for check tested with black body radiation and everything worked. So the problem is something with the grey radiation model. Probably something missing. Does anyone have any idea? You can download everything in the following link:
https://cloud.libre.space/s/CqnBnoPdzfzHdpg

Thanks in advance
raback
Site Admin
Posts: 4812
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: Gray radiation error

Post by raback »

Hi

Just a guess: one boundary sees no other surfaces. Then you get zero for all view factors. Try having only the two boundaries that really see each other be "diffure grey" and the other two "idealized".

When you change the setup remove the old ViewFactors.dat (or rerun ViewFactors manually).

-Peter
papamat
Posts: 6
Joined: 27 May 2020, 16:29
Antispam: Yes

Re: Gray radiation error

Post by papamat »

Thanks for the fast reply, I will check it and I ll come back.
papamat
Posts: 6
Joined: 27 May 2020, 16:29
Antispam: Yes

Re: Gray radiation error

Post by papamat »

I had the same output again, I also tried to raise the one mesh higher to have better "visibility" of the other. Is there any chance to be a problem of the normals? Or maybe because the surfaces are perpendicular to each other.
raback
Site Admin
Posts: 4812
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: Gray radiation error

Post by raback »

Hi

The normal should be outward.

The minimum Gebhardt factor zero is worrysome. Don't know how the code likes that.

-Peter
kevinarden
Posts: 2237
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Gray radiation error

Post by kevinarden »

radiate.PNG
(312.26 KiB) Not downloaded yet
Doesn't this surface radiate out away from the body. The heat flux should be applied to this surface, travel through the body and radiate out the other side.
papamat
Posts: 6
Joined: 27 May 2020, 16:29
Antispam: Yes

Re: Gray radiation error

Post by papamat »

I think that this is my setup. For simplicity reasons I have only ad heat flux in this surface and not black body radiation. I my setup the surface you pointing has a flux, and the one inside radiates with gay radiation. On the other body the face facing the other also has a grey radiation and on the other a simple radiation. As I understand the two sides with the grey radiation are also receiving and not only radiating out. Is this right?
kevinarden
Posts: 2237
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: Gray radiation error

Post by kevinarden »

Yes I believe that is correct. Perhaps if the radiation is normal and the surfaces are at right angles they do not see each other.

Kevin
raback
Site Admin
Posts: 4812
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: Gray radiation error

Post by raback »

Hi

Why not have 1 BC with incoming flux, 2 BCs with diffuse grey, and 1 BC with idealized radiation? Obviously one of the 3 diffuse grey BCs cannot see anything but empty space.

-Peter
papamat
Posts: 6
Joined: 27 May 2020, 16:29
Antispam: Yes

Re: Gray radiation error

Post by papamat »

Thanks for you responses
I had the same idea about the right angle surfaces and I tried different setup but I got the same results. The setup is like this (I think is the same with the one proposed by Peter or I am missing something):
Screenshot from 2020-05-29 11-35-28.png
(236.42 KiB) Not downloaded yet
And this is the output:

Code: Select all

ELMER SOLVER (v 8.4) STARTED AT: 2020/05/29 11:33:22
ParCommInit:  Initialize #PEs:            1
MAIN: OMP_NUM_THREADS not set. Using only 1 thread per task.
MAIN: 
MAIN: =============================================================
MAIN: ElmerSolver finite element software, Welcome!
MAIN: This program is free software licensed under (L)GPL
MAIN: Copyright 1st April 1995 - , CSC - IT Center for Science Ltd.
MAIN: Webpage http://www.csc.fi/elmer, Email elmeradm@csc.fi
MAIN: Version: 8.4 (Rev: c2fdec57, Compiled: 2020-05-08)
MAIN:  Running one task without MPI parallelization.
MAIN:  Running with just one thread per task.
MAIN: =============================================================
MAIN: 
MAIN: 
MAIN: -------------------------------------
MAIN: Reading Model: case.sif
LoadInputFile: Scanning input file: case.sif
LoadInputFile: Loading input file: case.sif
LoadInputFile: Number of BCs: 3
LoadInputFile: Number of Body Forces: 0
LoadInputFile: Number of Initial Conditions: 1
LoadInputFile: Number of Materials: 1
LoadInputFile: Number of Equations: 1
LoadInputFile: Number of Solvers: 1
LoadInputFile: Number of Bodies: 1
Loading user function library: [HeatSolve]...[HeatSolver_Init0]
LoadMesh: Base mesh name: ./.
LoadMesh: Elapsed REAL time:     0.0099 (s)
MAIN: -------------------------------------
AddVtuOutputSolverHack: Adding ResultOutputSolver to write VTU output in file: case
Loading user function library: [HeatSolve]...[HeatSolver_Init]
Loading user function library: [HeatSolve]...[HeatSolver_bulk]
Loading user function library: [HeatSolve]...[HeatSolver]
RadiationFactors: ----------------------------------------------------
RadiationFactors: Computing radiation factors for heat transfer
RadiationFactors: ----------------------------------------------------
RadiationFactors: Total number of Radiation Surfaces 636 out of 1450
ViewFactors: 
ViewFactors: ==================================================
ViewFactors:  E L M E R  V I E W F A C T O R S,  W E L C O M E
ViewFactors: ==================================================
ViewFactors: 
ViewFactors: 
ViewFactors: Reading Model...
LoadInputFile: Scanning input file: case.sif
LoadInputFile: Loading input file: case.sif
LoadInputFile: Number of BCs: 3
LoadInputFile: Number of Body Forces: 0
LoadInputFile: Number of Initial Conditions: 1
LoadInputFile: Number of Materials: 1
LoadInputFile: Number of Equations: 1
LoadInputFile: Number of Solvers: 1
LoadInputFile: Number of Bodies: 1
Loading user function library: [HeatSolve]...[HeatSolver_Init0]
LoadMesh: Base mesh name: ./.
LoadMesh: Elapsed REAL time:     0.0105 (s)
ViewFactors: Computing view factors for radiation body 1
ViewFactors: Number of surfaces participating in radiation: 636
ViewFactors: Computing viewfactors...
surfs: 636, min(8)=0.14, max(482)=0.43, avg=0.30
ViewFactors: View factors computed in time (s):    0.33    0.03
ViewFactors: 
ViewFactors: Viewfactors before manipulation:
ViewFactors: Minimum row sum:    1.418E-01
ViewFactors: Maximum row sum:    4.330E-01
ViewFactors: Symmetrizing Factors...
ViewFactors: View factors manipulated in time (s):    0.01
ViewFactors: 
ViewFactors: Viewfactors after manipulation:
ViewFactors: Minimum row sum:    1.418E-01
ViewFactors: Maximum row sum:    4.330E-01
WARNING:: ViewFactors: Rowsum of view factors should not be smaller than one!
ViewFactors: Saving view factors in ascii mode
ViewFactors: *** ALL DONE ***
RadiationFactors: Computing factors...
RadiationFactors: View factors filling (%)               4.9909E+01
RadiationFactors: Minimum Gebhardt factors sum           1.2033E-01
RadiationFactors: Maximum Gebhardt factors sum           3.7103E-01
RadiationFactors: Maximum share of omitted factors       0.0000E+00
RadiationFactors: Gebhardt factors filling (%)           1.0000E+02
RadiationFactors: Gebhardt factors determined (s)        5.4468E-01
RadiationFactors: All done time (s)                      5.4468E-01
RadiationFactors: ----------------------------------------------------
malloc(): invalid size (unsorted)

Program received signal SIGABRT: Process abort signal.

Backtrace for this error:
#0  0x7f72787b0cb1 in ???
#1  0x7f72787afe75 in ???
#2  0x7f72785e646f in ???
#3  0x7f72785e63eb in ???
#4  0x7f72785c5898 in ???
#5  0x7f727863038d in ???
#6  0x7f72786384db in ???
#7  0x7f727863b283 in ???
#8  0x7f727863d448 in ???
#9  0x7f7278baa4e5 in __listmatrix_MOD_list_getmatrixentry
	at /home/streamserver/Documents/elmerfem/fem/src/ListMatrix.F90:476
#10  0x7f7278baa6fe in __listmatrix_MOD_list_addmatrixindexes
	at /home/streamserver/Documents/elmerfem/fem/src/ListMatrix.F90:456
#11  0x7f7278c17561 in __elementutils_MOD_makelistmatrix
	at /home/streamserver/Documents/elmerfem/fem/src/ElementUtils.F90:658
#12  0x7f7278c1a14e in __elementutils_MOD_creatematrix
	at /home/streamserver/Documents/elmerfem/fem/src/ElementUtils.F90:1646
#13  0x7f7278cdcd0c in __mainutils_MOD_addequationbasics
	at /home/streamserver/Documents/elmerfem/fem/src/MainUtils.F90:1513
#14  0x7f7278ef6502 in addsolvers
	at /home/streamserver/Documents/elmerfem/fem/src/ElmerSolver.F90:1105
#15  0x7f7278f02331 in elmersolver_
	at /home/streamserver/Documents/elmerfem/fem/src/ElmerSolver.F90:398
#16  0x55ee939463cd in solver
	at /home/streamserver/Documents/elmerfem/fem/src/Solver.F90:57
#17  0x55ee9394613e in main
	at /home/streamserver/Documents/elmerfem/fem/src/Solver.F90:34
And the input file looks like this:

Code: Select all

Header
  CHECK KEYWORDS Warn
  Mesh DB "." "."
  Include Path ""
  Results Directory ""
End

Simulation
  Max Output Level = 5
  Coordinate System = Cartesian
  Coordinate Mapping(3) = 1 2 3
  Simulation Type = Steady state
  Steady State Max Iterations = 10
  Output Intervals = 1
  Timestepping Method = BDF
  BDF Order = 1
  Solver Input File = case.sif
  Post File = case.vtu
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

Body 1
  Target Bodies(1) = 2
  Name = "Body Property 1"
  Equation = 1
  Material = 1
  Initial condition = 1
End

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 = 20
  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 = 500
  Linear System Convergence Tolerance = 1.0e-10
  BiCGstabl polynomial degree = 2
  Linear System Preconditioning = ILU0
  Linear System ILUT Tolerance = 1.0e-3
  Linear System Abort Not Converged = False
  Linear System Residual Output = 10
  Linear System Precondition Recompute = 1
End

Equation 1
  Name = "Heat"
  Active Solvers(1) = 1
End

Material 1
  Name = "Silicon (solid)"
  Heat expansion Coefficient = 4.68e-6
  Heat Conductivity = Variable Temperature; Real; 0 156; 300 156; 550 72; 800 43; 1050 29; 1300 25; 1550 23; 1800 21; 3000 21; End
  Sound speed = 8433.0
  Heat Capacity = 555.8
  Mesh Poisson ratio = 0.28
  Density = 2330.0
  Poisson ratio = 0.28
  Emissivity = 0.7
  Youngs modulus = 185.0e9
End

Initial Condition 1
  Name = "InitialTemp"
  Temperature = 280
End

Boundary Condition 1
  Target Boundaries(1) = 10 
  Name = "Flux"
  Heat Flux = 100
End

Boundary Condition 2
  Target Boundaries(2) = 4 9 
  Name = "Radiation"
  Radiation Boundary Open = True
  Radiation = Diffuse Gray
  Radiation Boundary = 1
  Emissivity = 0.8
End

Boundary Condition 3
  Target Boundaries(1) = 3 
  Name = "BlackBody"
  Radiation = Idealized
  Emissivity = 0.8
End
Manthos

edit: you can access the files in the following link
https://cloud.libre.space/s/MGYEqRbnXDCoLKX
Post Reply