[Trilinos-Users] Time Dependence in Piro - Rythmos - setting x_dot inArgs and time-domain outArgs solution
Christopher Parmer
christopher.parmer at gmail.com
Mon Aug 15 11:45:57 MDT 2011
I see. Now, in the *RCP< Rythmos::IntegrationObserverBase< double > >
observer; *class, members need objects from Rythmos, which are not specified
in Piro, like StepperBase, StepControlInfo: (
virtual void Rythmos::IntegrationObserverBase< Scalar
>::observeCompletedTimeStep (
const StepperBase< Scalar > & stepper,
const StepControlInfo< Scalar > & stepCtrlInfo,
const int timeStepIter
)
Is there a way to back this out or am I interpreting this wrong? Also, does
this mean that I need to loop through my time-steps in my main function
instead of just calling piro->evalModel in order to observe the
CompletedTimeStep every step? Or is there a better way to do this?
Does anyone have an example implementation of the IntegrationObserverBase in
Piro?
Thanks,
Chris
On Mon, Aug 15, 2011 at 12:12 PM, Salinger, Andrew <agsalin at sandia.gov>wrote:
> **
> Chris,
>
> The Piro tests run Rythmos. The MockModelEval_A.cpp
> sets up a time-dependent problem. The Solver test executables
> run through 3 times for NOX, LOCA, and Rythmos.
>
> The ModelEvaluator has a get_x_dot_init method, which
> Rythmos will use to get the initial guess. You do not need
> to call *inArgs.set_x_dot *directly.
>
> There is an additional optional argument to the Piro Rythmos
> solver constructor of a Rythmos Observer. This will get called
> after every completed step and you can output the solution
> there. There is not an example of this in Piro, but there should be.
>
> Andy
>
> ------------------------------
> *From:* trilinos-users-bounces at software.sandia.gov [mailto:
> trilinos-users-bounces at software.sandia.gov] *On Behalf Of *Christopher
> Parmer
> *Sent:* Sunday, August 14, 2011 7:36 PM
> *To:* trilinos-users at software.sandia.gov
> *Subject:* [Trilinos-Users] Time Dependence in Piro - Rythmos - setting
> x_dot inArgs and time-domain outArgs solution
>
> Hi All,
>
> I'm struggling adding time-dependence from Piro to my simulator. I'm
> currently trying to demonstrate Rythmos in a simple 2d parameter-less
> example. I have a few questions/issues:
>
> 1)
> I am trying to set x_dot ( * inArgs.set_x_dot(x_dot_init);* , where
> x_dot_init is an Epetra_Vector of initial conditions)
> I am receiving the error:* EpetraExt::ModelEvaluator::InArgs::assert_supports(arg):
> model = 'Piro::Epetra::RythmosSolver': Error, The argument arg =
> IN_ARG_x_dot is not supported!*
> However, in my ModelEvaluator in createInArgs() I have:
> * inArgs.setSupports(IN_ARG_x_dot,true);*
>
> I need to set x_dot in order to incorporate derivatives in my evalModel
> residual function calculation. Is this really not supported or am I doing
> something wrong?
>
> 2)
> How will a DAE time-domain solution be returned? In a multivector? How
> should I set up my outArgs to see this solution?
>
> 3)
> Does a simple Piro with Rythmos example exist or has anyone written their
> own?
>
>
> As always, thanks for the help. If you would like, I can also share the
> simple example that I am working on.
>
> Best,
>
> Chris
> *
> *
> --
> (802) 343-5897
>
>
--
(802) 343-5897
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://software.sandia.gov/pipermail/trilinos-users/attachments/20110815/0d0c495d/attachment.html
More information about the Trilinos-Users
mailing list