[Trilinos-Users] Sundance: TSFExtended::InverseOperator with blockOperator

Shota Soga ssoga at ncsu.edu
Wed Aug 10 10:00:10 MDT 2011


Dear Trilinos users:

   I am working on the multigroup neutron diffusion equation with Sundance.
I discretized the 7-group 2D neutron diffusion equation and constructed the
stiffness matrix L and mass matrix F through makeBlockOperator().

L and F operators have 7 columns and rows. I tried to inverse L operator via
amesos solver, but when the inverse operator is multiplied with
Vector<double>, it returns an error. The following is part of my code:

LinearSolver<double> solver =
LinearSolverBuilder::createSolver("amesos.xml");
LinearOperator<double> L_inv = inverse(L,solver);

LinearOperator<double> K = L_inv*F;
Vector<double> Flux = K.domain().createMember();
Flux.setToConstant(1.0);

cout << "Error from the next line" << endl;
Vector<double> iterateFlux = K*Flux;

where amesos.xml can be found in /packages/Sundance/etc/SolverParameter/.
When L and F are not blockOperator, no error is returned.

Is there any possible way to inverse the LinearOperator with inverse()?

Thank you for your help in advance.

Sincerely,

Shota Soga
Graduate Research Assistant at North Carolina State University

Email: ssoga at ncsu.edu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://software.sandia.gov/pipermail/trilinos-users/attachments/20110811/7ccdf4c2/attachment.html 


More information about the Trilinos-Users mailing list