idaholab / moose

Multiphysics Object Oriented Simulation Environment
https://www.mooseframework.org
GNU Lesser General Public License v2.1
1.6k stars 999 forks source link

need check on auxkernel exectute_on #949

Closed mooseframework closed 10 years ago

mooseframework commented 10 years ago

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.

friedmud commented 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....

mooseframework commented 10 years ago

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.

friedmud commented 10 years ago

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.