On Thu, Oct 30, 2008 at 10:45 AM, Tim Kroeger <[EMAIL PROTECTED]> wrote: > Dear libMesh team, > > It seems as if the thing is now running quite well for me. (I fixed some > bugs in the meantime, all of which were all on the application side.) I've > still not been able to test it in parallel though, since the cluster is > still making trouble. I hope this will be repaired soon (altough I've been > hoping this since several weeks now).
Great. Depending on how big a cluster is needed, we might be able to
get you a temporary account in the CFDLab where you could run over a
gigabit ethernet network of workstations. Not the most optimal
computational environment, but enough to test the parallel behavior...
> There is one weakness of my implementation: If you have A = B + v*w' (as I
> have) and want to use B as the preconditioning matrix (to be able to use
> ILU) (as I am doing now), you have to store two sparse matrices although
> there is only one. That is because LinearImplicitSystem::solve() calls
> have_matrix("Preconditioner") to find out whether the preconditioning matrix
> differs from the system matrix. So I have to add a preconditioning matrix
> manually. On the other hand, LinearImplicitSystem::matrix exists
> nevertheless. I think I don't have to put too much effort now in solving
> this problem since you will restructure the implementation anyway and your
> restructuring is likely to resolve this problem "on the fly".
Yes, I think you are correct. Since the overwhelming sentiment seemed
to be against a multiple inheritance hierarchy and more towards a
'pimpl' style design, I've worked up one more class diagram (attached)
which takes into account Derek's ShellMatrix inheritance stuff as
well. If we later decide the ShellMatrix is "crippled" by not having
the full SparseMatrix interface, it will be easy enough to remedy that
at a later time.
> Another issue is a sensible example program that uses the shell matrix
> concept. I think it should be sensible to have one since there are some
> pitfalls (such as the correct constraining methods I mentioned last week).
> Unfortunately, I cannot think of a sensible, simple example application.
> (The one I'm working on is far too complicated for that purpose.) Does
> anyone have a sensible idea?
Well, any sort of arclength continuation problem can be decomposed
into a sum of a sparse matrix and a rank-1 matrix having the form
u*v'. See, for example: Barragy and Carey (though by now there is
probably a newer, better reference) for a simple example employing the
'Bratu' problem. This seems like it might be do-able within the
context of a simple example.
@Article{Barragy_1988,
author = {E.~Barragy and G.~F.~Carey},
title = {{A Partitioning Scheme and Iterative Solution for Sparse
Bordered Systems}},
journal = {CMAME},
volume = {70},
pages = {321--327},
year = {1988}
}
You can grab an electronic copy from:
http://www.cfdlab.ae.utexas.edu/labstaff/carey/GFC_Papers/Carey070.pdf
--
John
<<attachment: sparse_matrix_family_v7.png>>
------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________ Libmesh-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-devel
