On Wed, 28 Aug 2013, Praveen C wrote:

> I found that TransientExplicitSystem does not have any mass matrix. I wrote
> my explicit dg code with TransientLinearImplicitSystem and it works.
> However I end up computing mass matrix every time step

Hmm... it would be easy enough for you to add an "already_computed"
flag and then skip the mass matrix assembly after the first time it's
turned on.

> and I am not able to solve the matrices at element level.

This, on the other hand, would not be so easy.  Your proposed
alternative looks uglier but is probably much more efficient.

> I want to use the TransientExplicitSystem. I want to store the mass matrix
> as
>
> std::vector< DenseMatrix<Real> >
>
> with one small mass matrix per element. I can then solve at element level
> using cholesky_solve function available in DenseMatrix. But where do I
> store this matrix?

Personally, I'd make a subclass of TransientExplicitSystem with that
as a member object; there are lots of good options though.

> Is it good to store it in the parameters and then access it in the
> assemble function ?

Just as long as you keep the parameters access *out* of any inner
loops, by getting a reference to it at the beginning of the assembly
function.  String manipulation once per assembly is cheap; once per
quadrature point is not.
---
Roy

------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to