Topic: Symmetry Planes

Greetings,

I'm trying to run a test case with a load on a plate. I initially created the mesh (via Salome and unv2oofem) to be used with 2 symmetry planes, but I am having trouble getting this to be handled correctly. There seems to be larger loads along the symmetry edges. I was trying use the "symmetrybarrier" but am not sure I am doing this correctly.  I was trying something like:

...
ncrosssect 1 nmat 2 nbc 3 nic 0 nltf 2 nbarrier 1
...
symmetrybarrier 1 origin 3 0.0 0.0 0.0 normals 3 1.0 0.0 3 0.0 0 1 0 activemask 1 2 0

Any suggestions on what I am doing worng?

-M.

2

Re: Symmetry Planes

Hi Matt,

the symmetry must be enforced by proper boundary conditions applied on symmetry plane.
The information provided by symmetrybarrier is used only by some material models to account for symmetry (models with nonlocal averaging). At present, the unv converter is not capable of converting symmetry planesfrom salome to oofem.
So you have to assign all nodes at the symmetry plane to a group and apply appropriate symmetry boundary conditions in controll file.

Borek

Re: Symmetry Planes

Hello Borek, Thanks for the reply!

My original attempt was to specify the symmetry planes through the nodal BC's as you mentioned. However, I noticed some strange behavior on the symmetry planes, so i thought I might need something extra. Thanks for the clarification.

I just set up a small test case to demonstrate my problem, but it doesn't seem to have a problem at all :-p.  Perhaps I have a mistake somewhere else.

Just one more question on my test case (below) I see that the unv converter just adds multiple BC's onto each node. I assume that this is acceptable? Or should they be combined?

-Matt

#OOFEM's revision 751, Jan 14, 2011.
plate.out
Loading of a symmteric plate with Lspace elements, mesh from Salome
NlDEIDynamic nsteps 100 dumpcoef 0.0 deltaT 0.01 nmodules 1
vtkxml tstep_step 10 domain_all primvars 1 1 vars 2 1 4
domain 3d
OutputManager tstep_all dofman_all element_all
ndofman 18 nelem 4 ncrosssect 1 nmat 1 nbc 2 nic 0 nltf 2
node 1     coords 3  0        0        0.25    bc 3 1 0 0 bc 3 0 1 0 bc 3 0 0 0 load 1 2
node 2     coords 3  0        0        0       bc 3 1 0 0 bc 3 0 1 0
node 3     coords 3  0        2        0.25    bc 3 1 1 1 bc 3 1 0 0
node 4     coords 3  0        2        0       bc 3 1 1 1 bc 3 1 0 0
node 5     coords 3  2        0        0.25    bc 3 0 1 0
node 6     coords 3  2        0        0       bc 3 1 1 1 bc 3 0 1 0
node 7     coords 3  2        2        0.25    bc 3 1 1 1
node 8     coords 3  2        2        0       bc 3 1 1 1
node 9     coords 3  0        1        0.25    bc 3 1 0 0 bc 3 0 0 0 load 1 2
node 10    coords 3  0        1        0       bc 3 1 0 0
node 11    coords 3  2        1        0.25   
node 12    coords 3  2        1        0       
node 13    coords 3  1        0        0       bc 3 0 1 0
node 14    coords 3  1        0        0.25    bc 3 0 1 0 bc 3 0 0 0 load 1 2
node 15    coords 3  1        2        0       bc 3 1 1 1
node 16    coords 3  1        2        0.25    bc 3 1 1 1
node 17    coords 3  1        1        0       
node 18    coords 3  1        1        0.25    bc 3 0 0 0 load 1 2
LSpace 37    nodes 8   14  18  17  13  1   9   10  2   mat 1 crosssect 1
LSpace 38    nodes 8   5   11  12  6   14  18  17  13  mat 1 crosssect 1
LSpace 39    nodes 8   18  16  15  17  9   3   4   10  mat 1 crosssect 1
LSpace 40    nodes 8   11  7   8   12  18  16  15  17  mat 1 crosssect 1
SimpleCS 1
IsoLE 1 d 7.0 E 210. n 0.3 tAlpha 0.000012
BoundaryCondition 1 loadTimeFunction 1 prescribedvalue 0.0
NodalLoad 2 loadTimeFunction 2 Components 3 0.0 0.0 -1.000
ConstantFunction 1 f(t) 1.0
PiecewiseLinFunction 2 nPoints 2 t 4 0.0 0.01 0.1 10 f(t) 4 0.0 1.0 0.0 0.0

Re: Symmetry Planes

You are correct. They need to be combined. OOFEM will only find the first entry "bc" and skip the rest (as you can see from the warnings of unread tokens)

5

Re: Symmetry Planes

The fact that you have multiple bonundary records is due to the fact, that the particular node belong to several groups with boundary conditions applied in controll file.The solution is to prescribe boundary contion only in one group for a particular node, so the is no ambiquity in boundary conditions.

Re: Symmetry Planes

This is an old post, but I was facing same problem of double boundary condition because I was having problem to select nodes in my PC due to graphics card problem.
I have written a C++ code to correct these double boundary condition which joins these boundary conditions.
I can share that code to OOFEM group.

Re: Symmetry Planes

Hi pkumar,

Using sets to apply b.c.s this is no longer a problem.

BoundaryCondition 1 loadTimeFunction 1 dofs 1 1 values 1 0.0  set 1  # Applies D_u = 0.0 in nodes 1, 2, 3
BoundaryCondition 2 loadTimeFunction 1 dofs 2 2 3 values 1 1.0 2.0  set 2 # Applies D_v = 1.0 and D_w = 2.0 in nodes 2, 3
...
Set 1 nodes 3  1 2 3
Set 2 nodes 2  2 3

I'm not sure how you would have solved this, but I'd argue that it shouldn't be solved.
The new method using sets is much more flexible either way.