Switching this discussion to petsc-dev

   Barry


On Dec 15, 2010, at 7:51 AM, Michael E Henderson wrote:

> Hi,
> 
> I'm seeing some strange behavior in using TSTHETA to solve a system of 
> DAEs.  The algebraic eqs. come from boundary conditions on a PDE. I'm 
> using petsc-v3.1-p4
> 
> dy/dt  + L(x,y) = 0
>                B(x)   = 0
> 
> u=(x,y)
> 
> If I watch in the IFunction I provided I see the residual go to zero very 
> quickly. But the time derivatives for the variables without time 
> derivative terms (x') are huge. It seems that after solving 
> IFunction(ufot,u)=0 the integrator takes a (half?) step before the Monitor 
> routine is called (theta.c). Since the time derivatives x' that should be 
> zero (or the tangent to the algebraic constraints?) are huge this causes 
> the Monitor function to get a really lousy point.
> 
> A simple test doesn't do this, IIFunction gets passed x'=0 on the final 
> step.
> 
> I tried digging through the Theta timestepper, and most of it makes sense, 
> but I haven't found where udot is computed.
> 
> How does the DAE solver find udot for the unknowns without time derivative 
> terms? Why would the time derivatives be large?
> 
> Thanks,
> 
> Mike Henderson
> ------------------------------------------------------------------------------------------------------------------------------------
> Mathematical Sciences, TJ Watson Research Center
> mhender at watson.ibm.com
> http://www.research.ibm.com/people/h/henderson/
> http://multifario.sourceforge.net/
> 
> Hi, 
> 
> I'm seeing some strange behavior in using TSTHETA to solve a system of DAEs.  
> The algebraic eqs. come from boundary conditions on a PDE. I'm using 
> petsc-v3.1-p4 
> 
> dy/dt  + L(x,y) = 0 
>                 B(x)   = 0 
> 
> u=(x,y) 
> 
> If I watch in the IFunction I provided I see the residual go to zero very 
> quickly. But the time derivatives for the variables without time derivative 
> terms (x') are huge. It seems that after solving IFunction(ufot,u)=0 the 
> integrator takes a (half?) step before the Monitor routine is called 
> (theta.c). Since the time derivatives x' that should be zero (or the tangent 
> to the algebraic constraints?) are huge this causes the Monitor function to 
> get a really lousy point. 
> 
> A simple test doesn't do this, IIFunction gets passed x'=0 on the final step. 
> 
> I tried digging through the Theta timestepper, and most of it makes sense, 
> but I haven't found where udot is computed. 
> 
> How does the DAE solver find udot for the unknowns without time derivative 
> terms? Why would the time derivatives be large? 
> 
> Thanks, 
> 
> Mike Henderson
> ------------------------------------------------------------------------------------------------------------------------------------
> Mathematical Sciences, TJ Watson Research Center
> mhender at watson.ibm.com
> http://www.research.ibm.com/people/h/henderson/
> http://multifario.sourceforge.net/


Reply via email to