[Trilinos-Users] [EXTERNAL] Running Rythmos DAE with a user defined Epetra_Operator as Jacobian

Phipps, Eric T etphipp at sandia.gov
Mon May 5 08:36:26 MDT 2014


Andrea,

What version of Trilinos are you using?  I believe Andy Salinger recently
fixed some of these issues when using an Epetra_Operator generated from an
EpetraExt::ModelEvaluator in Rythmos.  However I believe those fixes are
only in the development branch which should be accessible from the public
git repository.  Even with the fix for the failed dynamic casts,
there may still be an issue with supplying a user-defined preconditioner
to Rythmos.

-Eric

On 5/5/14, 7:45 AM, "Andrea Mola" <amola at sissa.it> wrote:

>Dear all,
>I am trying to use Ryrhmos to solve a DAE system for the time
>advancement of a PDE system.
>So far, I have already been able to set up a small example which solves
>correctly a small DAE using a Jacobian defined as an Epetra_CrsMatrix.
>Unfortunately, I need to use a different Linear Operator, which I define
>as an Epetra_Operator (JacobianOperator :public Epetra_Operator). The
>problem comes when I define my AztecOOLinearOpWithSolveFactory to be
>passed to my EpetraExt::ModelEvaluator constructor. Even though I try to
>specify through the Thyra::initializeOp function that I will use a
>JacobianOperator instead of an Epetra_CrsMatrix, it still seems to think
>that the jacobian of my system is an Epetra_CrsMatrix. In fact, upon
>execution, when the model evaluator calls for a Jacobian evaluation, the
>dynamic cast
>
>JacobianOperator &jac = dyn_cast<JacobianOperator>(*W_out);
>
>fails with the following exception
>
>terminate called after throwing an instance of 'Teuchos::m_bad_cast'
>   what():  
>/home/amola/trilinos-11.2.3-Source/packages/teuchos/core/src/Teuchos_dyn_c
>ast.cpp:61:
>
>Throw number = 1
>
>Throw test that evaluated to true: true
>
>dyn_cast<16JacobianOperator>(15Epetra_Operator) : Error, the object with
>the concrete type '16Epetra_CrsMatrix' (passed in through the interface
>type '15Epetra_Operator')  does not support the interface
>'16JacobianOperator' and the dynamic cast failed!
>Aborted.
>
>So, my question is: what should I do to be able to use an arbitrary
>Epetra_Operator in an EpetraExt::ModelEvaluator? I am not very familiar
>with the parameter lists, so probably the answer is there. Or,
>Thyra::initializeOp is just the wrong function to do what I need. Can
>anyone point me out an example that does that, or suggest me some
>solution?
>Thank you very much in advance for the help.
>Regards,
>
>
>     Andrea
>_______________________________________________
>Trilinos-Users mailing list
>Trilinos-Users at software.sandia.gov
>https://software.sandia.gov/mailman/listinfo/trilinos-users



More information about the Trilinos-Users mailing list