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/
