Re: [Libmesh-devel] Steps to add new high order element?

2012-08-27 Thread Lei Shi
 Thanks John,

So if we don't need to worry about the index there. May be it is a good
idea to get ride of the index in the comments. Since c++ will automatically
number them.

I just found there are several virtual functions in the Elem class mainly
focus on 2nd order element. Why those appear in a general element class?
What should we return for a higher order element? The linear element just
return 0. I'm confused by this design.

virtual unsigned int *n_second_order_adjacent_vertices* (const unsigned
int) const
virtual unsigned short int *second_order_adjacent_vertex* (const unsigned
int n, const unsigned int v) const
virtual std::pair< unsigned short int, unsigned short int > *
second_order_child_vertex* (const unsigned int n) const


Sincerely Yours,

Lei Shi
--


On Mon, Aug 27, 2012 at 1:44 AM, John Peterson  wrote:

>
>
> On Mon, Aug 27, 2012 at 12:39 AM, Lei Shi  wrote:
>
>> Dear All
>>
>> I want to add some new element to support high order element like what
>> gmsh provided. So I want to add a new entry to the enum of ElemType.
>> However, I found after each line of elemtype, there is a index. Is that ok
>> to insert a new enum entry to indicate a new element? Like
>>
>> TRI3,  //3
>> TRI6,  //4
>> TRI10,  //new p3 triangle
>> TRI15, // new p4 triangle
>>
>> QUAD4, //5
>>
>
> Yes... the comments there could be updated to reflect the new implied
> numbering.
>
> --
> John
>
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel


Re: [Libmesh-devel] awry links to adjoint examples

2012-08-27 Thread Geordie McBain
2012/8/24 Roy Stogner :
>
> On Fri, 24 Aug 2012, Geordie McBain wrote:
>
>> Hello.  The two links to adjoint examples at
>> http://libmesh.sourceforge.net/examples.php point instead to
>> adaptivity.  I think the attached patch should fix it.
>
>
> I've committed and uploaded this, as well as your patch for fixing up
> the atavisms in our examples comments (after regenerating the
> corresponding doc/html/ on my workstation).
>
> Was there a third patch you sent?  I think I saw one that didn't make
> it through the list serv to me; unless it was just an earlier version
> of the examples comments patch.

No, that's right, the latter; it was covered by the one you did get.

Here's another small patch catching another couple in adjoints_ex1.C.

The previous patch also edited the doc/html/*.php, but I gather that's
done automatically somewhere outside the svn source tree, so I've
omitted that this time.

Geordie


patch
Description: Binary data
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel


Re: [Libmesh-devel] Does libmesh support p-adaptation?

2012-08-27 Thread Roy Stogner


On Mon, 27 Aug 2012, Lei Shi wrote:


I'm pretty new to this project. thanks for your fabulous job. I want
to implement a hp-adaptive dg solver based on libmesh. So I read
that famous paper, libMesh: A C++ Library for Parallel Adaptive Mesh
Refinement/Coarsening Simulations. However, it mentioned that the
p-adaptation will be support in the future. I know it is kind of
outdated. So does libmesh support p-adaptation now? 


Yes, but in a couple critical functions (constraint equation
generation, solution projection) we only support p-adaptivity using
hierarchic bases, where the set for every degree p is a subset of the
set for p+1.

IIRC that describes all of our discontinous element types, though, so
it shouldn't be an issue using DG.

There may still be a bug in some of our hp constraint equation code in
a couple corner cases.  However if you're doing DG there's no
constraint equations and again the concern won't apply.


P.S. How about the test coverage of the code? I found out the test
project is kind of old and the lasted committing is several years
ago. Does libmesh have unit test or regression test?  Thanks a lot.


Our unit testing is deplorable - the unit test suite gets
automatically run every several hours, but as you noticed the tests
are quite old and the test coverage is very incomplete.  If anyone has
enough free time or gets bored enough to contribute to these, it would
be highly appreciated.

Our regression testing is a little better - the examples in libMesh
itself aren't rigorous enough as regression tests (they effectively
just catch logic failures using library internal assertions and gross
accuracy failures via manual examination), but both UT-Austin and INL
have a few suites of libMesh application tests that get run regularly
with varying configurations and parameter settings and get tested via
automatic solution comparison.

I say only "a little better" because there are still gaps in the
feature coverage - I don't think we've got anything that hits
p-adaptivity, in particular.
---
Roy--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel


Re: [Libmesh-devel] awry links to adjoint examples

2012-08-27 Thread Roy Stogner

On Mon, 27 Aug 2012, Geordie McBain wrote:

> Here's another small patch catching another couple in adjoints_ex1.C.
>
> The previous patch also edited the doc/html/*.php,

Thanks again!

> but I gather that's done automatically somewhere outside the svn
> source tree, so I've omitted that this time.

Ironically, this time it would have been useful: the computers I use
for the automatic updates are in flux for software updates right now.
No rush, though; I'll try to remember to do the "make doc_upload"
again next week if nobody else finds time first.
---
Roy

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel


Re: [Libmesh-devel] Does libmesh support p-adaptation?

2012-08-27 Thread Lei Shi
Dear Roy,

Thanks a lot. It really helps. We should add those comments to the wiki and
keep it updated.

So there is no class support Lagrange based discontinuous polynomial space?
If the answer is no, I think it is pretty easy to add one. Just need the
shape function and the DOF locations.

About the efficiency, is there any paper or presentation talking about the
efficiency? Or is there any people compare the efficiency of solver based
on libmesh or other lib like deal.ii etc? It is really a big issue which
should be considered before people decided to put a lot of effort on a lib.
Thanks a lot.

Sincerely Yours,

Lei Shi
--


On Mon, Aug 27, 2012 at 9:33 AM, Roy Stogner wrote:

>
> On Mon, 27 Aug 2012, Lei Shi wrote:
>
>  I'm pretty new to this project. thanks for your fabulous job. I want
>> to implement a hp-adaptive dg solver based on libmesh. So I read
>> that famous paper, libMesh: A C++ Library for Parallel Adaptive Mesh
>> Refinement/Coarsening Simulations. However, it mentioned that the
>> p-adaptation will be support in the future. I know it is kind of
>> outdated. So does libmesh support p-adaptation now?
>>
>
> Yes, but in a couple critical functions (constraint equation
> generation, solution projection) we only support p-adaptivity using
> hierarchic bases, where the set for every degree p is a subset of the
> set for p+1.
>
> IIRC that describes all of our discontinous element types, though, so
> it shouldn't be an issue using DG.
>
> There may still be a bug in some of our hp constraint equation code in
> a couple corner cases.  However if you're doing DG there's no
> constraint equations and again the concern won't apply.
>
>
>  P.S. How about the test coverage of the code? I found out the test
>> project is kind of old and the lasted committing is several years
>> ago. Does libmesh have unit test or regression test?  Thanks a lot.
>>
>
> Our unit testing is deplorable - the unit test suite gets
> automatically run every several hours, but as you noticed the tests
> are quite old and the test coverage is very incomplete.  If anyone has
> enough free time or gets bored enough to contribute to these, it would
> be highly appreciated.
>
> Our regression testing is a little better - the examples in libMesh
> itself aren't rigorous enough as regression tests (they effectively
> just catch logic failures using library internal assertions and gross
> accuracy failures via manual examination), but both UT-Austin and INL
> have a few suites of libMesh application tests that get run regularly
> with varying configurations and parameter settings and get tested via
> automatic solution comparison.
>
> I say only "a little better" because there are still gaps in the
> feature coverage - I don't think we've got anything that hits
> p-adaptivity, in particular.
> ---
> Roy
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel


Re: [Libmesh-devel] Does libmesh support p-adaptation?

2012-08-27 Thread David Knezevic


On 08/27/2012 04:41 PM, Lei Shi wrote:
So there is no class support Lagrange based discontinuous polynomial 
space? If the answer is no, I think it is pretty easy to add one. Just 
need the shape function and the DOF locations.


I added a discontinuous Lagrange FE type earlier this year: L2_LAGRANGE.

David






On Mon, Aug 27, 2012 at 9:33 AM, Roy Stogner > wrote:



On Mon, 27 Aug 2012, Lei Shi wrote:

I'm pretty new to this project. thanks for your fabulous job.
I want
to implement a hp-adaptive dg solver based on libmesh. So I read
that famous paper, libMesh: A C++ Library for Parallel
Adaptive Mesh
Refinement/Coarsening Simulations. However, it mentioned that the
p-adaptation will be support in the future. I know it is kind of
outdated. So does libmesh support p-adaptation now?


Yes, but in a couple critical functions (constraint equation
generation, solution projection) we only support p-adaptivity using
hierarchic bases, where the set for every degree p is a subset of the
set for p+1.

IIRC that describes all of our discontinous element types, though, so
it shouldn't be an issue using DG.

There may still be a bug in some of our hp constraint equation code in
a couple corner cases.  However if you're doing DG there's no
constraint equations and again the concern won't apply.


P.S. How about the test coverage of the code? I found out the test
project is kind of old and the lasted committing is several years
ago. Does libmesh have unit test or regression test?  Thanks a
lot.


Our unit testing is deplorable - the unit test suite gets
automatically run every several hours, but as you noticed the tests
are quite old and the test coverage is very incomplete.  If anyone has
enough free time or gets bored enough to contribute to these, it would
be highly appreciated.

Our regression testing is a little better - the examples in libMesh
itself aren't rigorous enough as regression tests (they effectively
just catch logic failures using library internal assertions and gross
accuracy failures via manual examination), but both UT-Austin and INL
have a few suites of libMesh application tests that get run regularly
with varying configurations and parameter settings and get tested via
automatic solution comparison.

I say only "a little better" because there are still gaps in the
feature coverage - I don't think we've got anything that hits
p-adaptivity, in particular.
---
Roy




--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/


___
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel


Re: [Libmesh-devel] Does libmesh support p-adaptation?

2012-08-27 Thread Roy Stogner

On Mon, 27 Aug 2012, David Knezevic wrote:

> On 08/27/2012 04:41 PM, Lei Shi wrote:
>   So there is no class support Lagrange based discontinuous polynomial 
> space? If the answer is no, I think it is pretty easy to add one.
>   Just need the shape function and the DOF locations.
> 
> I added a discontinuous Lagrange FE type earlier this year: L2_LAGRANGE.

Hmm.. L2_LAGRANGE would certainly be a *non*-hierarchic discontinous
basis; everybody forget what I said earlier about having no such.  I
guess it's just the MONOMIAL, L2_HIERARCHIC, and XYZ types that are
hierarchic.
---
Roy

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel


Re: [Libmesh-devel] Does libmesh support p-adaptation?

2012-08-27 Thread Roy Stogner

On Mon, 27 Aug 2012, Lei Shi wrote:

> So there is no class support Lagrange based discontinuous polynomial
> space? If the answer is no, I think it is pretty easy to add one.
> Just need the shape function and the DOF locations.

I'd forgotten that David had added this, but in any case we'd need a
new codepath in System::project_vector() to handle non-hierarchic
projections on coarsening or refinement.  For adaptivity on steady
problems those projections are necessary to get an efficient result;
for transient adaptivity those projections are necessary to get a
correct result.

> About the efficiency, is there any paper or presentation talking
> about the efficiency? Or is there any people compare the efficiency
> of solver based on libmesh or other lib like deal.ii etc? It is
> really a big issue which should be considered before people decided
> to put a lot of effort on a lib. Thanks a lot.

Last I checked (long ago) the deal.II built-in algebra was
significantly faster than PETSc for supported non-MPI solver options,
but do any problems on distributed systems or with advanced solvers
you'd have to switch to PETSc anyway.  Element residual/jacobian
efficiency can be nearly as important as solver efficiency, but it's
hard to make apples-to-apples comparisons there since mostly the
efficiency depends on the user code.  FEM shape value initialization,
mesh adaptivity, etc. is typically a small enough part of runtime that
I don't know if anyone's done comparisons.
---
Roy

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel