Thanks for all your responses,

Roy, what you said is true about real elastic contact.  My implementation(& my 
geometry) for elastic-rigid contact problem is still very elementary. If 
someone wanted to do a real elastic contact with for example "conforming 
profiles" (e.g. a ball on a curve or something similar) then they needed to use 
inequality bounds and what not. 

Right now I implemented these using  a penalty method. It's not pretty nor does 
any good for my condition number but does the trick for me. 
On the other hand if I wanted to use the API how would you suggest updating the 
ID? Should I do a loop over all the elements and then faces and add faces that 
are in contact zone to an ID? If so can a face have two IDs? And is there a 
place in the source code you do something similar so I can look and get an idea?

Dimtry, on a slightly different subject, Since they removed 
DMSetFunction/Jacobian from petsc-dev can libMesh DM be built with petsc-dev 
right now?  

Best,
Ata


On Mar 4, 2013, at 4:42 PM, Dmitry Karpeev <karp...@mcs.anl.gov> wrote:

> 
> 
> On Mon, Mar 4, 2013 at 3:34 PM, Roy Stogner <royst...@ices.utexas.edu> wrote:
> 
> On Sun, 3 Mar 2013, Ataollah Mesgarnejad wrote:
> 
> > I need some advice on how to implement an inhomogeneous Dirichlet BC
> > for elastic-rigid contact. This BC is a bit weird since it doesn't
> > apply to all of the faces of a boundary_id rather it applies to
> > faces within the contact range (changes with time) and all the other
> > faces should have natural (traction free) BCs.
> >
> > - can this be done using new Dirichlet API? and how?
> 
> You can add and remove boundary_ids from sides, sides can have
> multiple (or no) boundary ids at any given time, and Dirichlet
> constraints can be regenerated with a reinit().  So although the
> DirichletBoundary API requires an id, you can still control the extent
> of a time-varying boundary with that id.
> 
> But what this implementation would do to your time and space orders of
> accuracy, I don't know.  A selectively applied equality constraint may
> not be a decent substitute for the true inequality constraint.
> 
> It wouldn't be impossible to extend the current constraints system to
> allow for true inequalities that could then be enforced within the
> nonlinear solver rather than the time integration.  That's probably
> not near the top of any of the main developers' todo lists, though.
>  
> There are plans to extend PETSc VI solvers to allow bounds on constraints 
> (functionals of the state), in addition to bounds on the state variables 
> themselves.   
> However, to add these systematically, Lagrange multipliers living on the 
> contact services
> would need to be introduced into libMesh.  
> 
> Another tricky part would be matrix preallocation corresponding to those 
> nodes (the same, 
> I believe, as in the case of dynamically added/removed Dirichlet nodes). 
> 
> The SNESVI extension plans are a bit on the back burner, but could be moved 
> up if, 
> for example, Moose were to use this formulation as one of its options for 
> doing contact. 
> That, again, would depend on having surface variables.
> 
> Dmitry.
> ---
> Roy
> 
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_feb
> _______________________________________________
> Libmesh-users mailing list
> Libmesh-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/libmesh-users
> 
> 
> 

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to