2008/3/19, Roy Stogner <[EMAIL PROTECTED]>:
>
>
> On Wed, 19 Mar 2008, Shengli Xu wrote:
>
>
> > In the system, there are peroidic boundary conditions applied through "
> > dof_map.constrain_element_matrix_and_vector(Ke,Fe,dof_indices);" before
> > system.matrix->add_matrix(Ke,dof_indices);
> > system.rhs->add_vector(Fe,dof_indices);
> > during  elements assemble iteration. I have used this method in
> libMesh0.5.0.
>
>
> So just to be clear: you're using DofMap::add_constraint_row to create
> your periodic constraints, so that constrain_element_matrix_and_vector
> will do the remaining work for you?
>
Yes, I use DofMap::add_constraint_row to create the periodic constraints
between two dof numbers. It is done in system.init_data(); Then call
constrain_element_matrix_and_vector() in the element assemble.

You must be adding the constraint rows after the matrix has been
> preallocated...  Regardless of whether PeriodicBoundary calls would


I  don't  think  so.  Adding the constraint rows is in the
system::init_data(); It is at the front of adding system matrix.  I don't
know where the matrix be preallocated. in this->init_matrices() ?

fix your problem, we ought to make sure that users are able and
> encouraged to do efficient preallocation for arbitrary user
> constraints, too.  Are you using attach_constraint_function() to make
> sure that your constraints are applied at the right time?


Yes,  system.attach_constraint_function(apply_periodic_bc); is used before
es.init();

> There is not PeriodicBoundary Class at that time. The periodic b.c.
> > is applied in libMesh0.6.2 just as in libMesh0.5.0. I don't know how
> > to apply periodic bc using PeriodicBoundary class. Is there any
> > examples?
>
>
> If boundaries with ids 0 and 5 are opposite each other, with a
> vector of (0,0,1) expressing the distance between paired points (as
> would happen if you built a "cube" of height 1), then this is how it's
> supposed to work:
>
> PeriodicBoundary pb;
> pb.myboundary = 0;
> pb.paired_boundary = 5;


What is 0 and 5 here?  Are  they  dof  numbers?  How to apply periodic
boundary condition by dof numbers?

pb.translation_vector = RealVectorValue(0., 0., 1.);
> dof_map.add_periodic_boundary(pb);


Where to  put these codes in the program? Before es.init():  And Is it
needed to call "constrain_element_matrix_and_vector()" during elements
assembly?

Currently the only test coverage we've got for this may be my own
> application codes, though, so buyer beware.
> ---
>
> Roy
>



-- 
Best regards,

Yours sincerely
ShengliXu
Department of Engineering Mechanics
State Key Laboratory of Structural Analysis for Industrial Equipment
Dalian University of Technology
Dalian, 116023, P. R. China
Email: [EMAIL PROTECTED]
==========================
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to