Closed mooseframework closed 10 years ago
This is not a bug. It works as designed. If you want values in there before you start timestepping you have to use timestep_begin or "initial".
execute_on = timestep is for "postprocessing" aux kernels... and only get computed after a solve has converged. You shouldn't be trying to couple these values back (I mean you can... but you have to be aware of what it means).
I will agree that this is not well documented....
When running a steady state problem there is no detection that an invalid value is being passed in the auxkernel. Why would one design a code to do that?
I was dumping material values which were being calculated from other fixed coupled auxvariables. The only reason we know invalid values where being passes was that they should up in the gcc debug executables.
I suggested that there should be a check for the user. If an initial condition is not given then you must execute on the beginning of the time step.
It might not be an invalid value. You might have really wanted it to be zero the first time through.
It works properly... you just used the wrong one. Get over it.
if you use the input option
execute_on = timestep
for the aux kernel of a coupled aux variable it should require an initial condition otherwise
execute_on = timestep_begin
should be used.