On Wed, Jun 25, 2014 at 10:12 AM, Ronghai Wu <ronghai...@fau.de> wrote:
> Hi Daniel, > Thanks for your reply. > My equations are : > > (2 * mu + Lambda) * u,11 + mu * u,22 + (mu + Lambda) * v,12 = 0 > (2 * mu + Lambda) * v,22 + mu * v,11 + (mu + Lambda) * u,21 = 0 > Firstly, have you managed to solve the above equations using FiPy with regular boundary conditions? I tried to solve these with periodic boundary conditions and it didn't work very well. Non-standard boundary conditions seem to be an unresolved issue with coupled equations. > I implement as: > > mesh = Grid2D(dx=dx,dy=dy,nx=nx,ny=ny) > u = CellVariable(name="u",mesh=mesh,hasOld=1,rank=0) > v = CellVariable(name="v",mesh=mesh,hasOld=1,rank=0) > mu = FaceVariable(mesh=mesh,value= 0.5 * E / (1. + nu)) > Lambda = FaceVariable(mesh=mesh,value=nu * E / ((1. + nu) * (1.-2.* nu))) > zero = FaceVariable(mesh=mesh,value=0.) > eq1 = DiffusionTerm(var=u,coeff=[[[2.*mu+Lambda,zero],[zero,mu]]]) + \ > DiffusionTerm(var=v,coeff=[[[zero,mu+Lambda],[zero,zero]]]) > eq2 = DiffusionTerm(var=u,coeff=[[[mu,zero],[zero,2.*mu+Lambda]]]) + \ > DiffusionTerm(var=v,coeff=[[[zero,zero],[mu+Lambda,zero]]]) > > > I want to constrain: > > u,2 + v,1 =0 > Lambda * u,1 + (2 * mu + Lambda) * v,2 = 0 > I'm assuming that these constraints are the boundary conditions. I'm really not sure how to apply these in a good way. I guess in the FEM these are applied as constraints on the boundary and I'm not sure how to do this in the FVM in a natural way. I'll try and revisit this in the future when/if I create an elasticity example for FiPy. Sorry that I can't be more helpful. -- Daniel Wheeler
_______________________________________________ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]