How to get the total force carried at a section

Hello

In CalculiX, how can we get the total force carried by some nodes representing for instance a section through the body? *NODE PRINT and RF give only the reaction forces on nodes, as I understand it, only at restrained nodes, in the restrained directions.

Below is an image showing my intent. I also provided an example case with beam elements. So, I want to find the force carried at a section through the body (a minimum section for instance, or a certain location of interest).

rotating_beam_elements.fbd

#
## Geometry
#

## Points
pnt p1 0 0 0
pnt p2 0.000000 160.000000 0

## Lines
line L1 p1 p2 40

# Line set definitions.
seta Lset1 l L1

elty Lset1 be3r

mesh all

# All nodes are stored in a set.
seta nodes n all

# Save nodes of minimum neck radiusd lines.

# Boundary condition nodes are selected from the all nodes and stored in sets.
enq nodes fix rec 0 0 0 0.001 a
enq nodes tip rec 0 160 _ 0.001 a
enq nodes mid rec 0 80 _ 0.001 a

# Node sets containing boundary condition nodes are written to files.
send fix abq nam
send tip abq nam
send mid abq nam

# Export nodal information to a file.
send nodes abq
# Export elemental information to a file.
seta belems e Lset1
send belems abq

seta fs p p1
seta fse n fs
comp fse u
send fse abq nam

rot -z

# Save image of the geometry with BCs and contact surfaces.
ulin Geometry with boundary conditions and contact surfaces.
plot l all
plot m all
view edge off
view elem all
plus n  fix r 6
plus n  tip b 6
plus n  mid t 6
frame
hcpy png geom

rotating_beam_elements_inp.inp

*INCLUDE, INPUT=nodes.msh
*INCLUDE, INPUT=belems.msh
*INCLUDE, INPUT=fix.nam
*INCLUDE, INPUT=tip.nam
*INCLUDE, INPUT=mid.nam
*INCLUDE, INPUT=fse.nam


*BOUNDARY
Nfix,1,3

*MATERIAL, NAME=Mat
*ELASTIC
185000.000000,0.300000
*DENSITY
0.000000008220000000000000

*BEAM SECTION,MATERIAL=Mat,ELSET=Ebelems,SECTION=RECT
1.,1.

*STEP, NLGEOM, INC=200
*STATIC
*CLOAD
Ntip, 2, 100
**DLOAD
**Ebelems, CENTRIF, 274155.677808, 0., 0., 0., 0., 0., 1.
*EL FILE, ELSET=Ebelems
U,S
*NODE PRINT, NSET=Nfix
RF
*NODE PRINT, NSET=Nmid
RF
**EL PRINT, ELSET=Efse
**S
*END STEP
1 Like

Hello,

the section forces can be computed using the *SECTION PRINT keyword. For that to work you need to create/define a *SURFACE at the section of interest.

Kind regards, Matej

1 Like

Thank you Matej.

My problem boils down to extracting the surface at the desired internal section with cgx. For a 2D problem, I defined a line at this section of interest. There are two rows of elements on either side of this line. I want to get the surface touching to this line from one of these two rows of elements (see the below image). Following cgx code works for a free surface, but I could not manage to do it for an internal one:

seta fsum l L13
comp fsum do
comp fsum do
send fsum abq sur

Can you suggest a way to do this?

Kind regards
Süleyman

Unfortunately, I do not use the cgx so I cannot help you here.

Thanks Matej, I appreciate your help.

PrePoMax is great. Thanks for the good work, and sharing it.

I am interested in creating a script for parametric studies. CGX is great for this purpose. So, I will try to figure this out with cgx. I will share my solution if I can find one. If someone from the community can help, that would be great.

Regards
Süleyman

Hello Süleyman,
you are right with your statement that cgx does not know internal element faces. So just place the desired elements and its related nodes in a set, export it and open it in a second cgx session and you are able to export the desired faces.

Best regards,
Klaus

1 Like

Hello Klaus.

Thank you. I will try this approach.

I tried another approach. I created separate surfaces and meshed them such that the desired section is an external surface. I exported the surface elements. Then, I merged all nodes.

This approach seems to work but I have another problem. *SECTION PRINT gives only half of the total force for plane stress elements. I would be happy if someone can help. Following are my files.

Best regards.
Süleyman

beam_elements.fbd

valu r 4
valu w 1
valu h 16

valu div1 12
valu div2 16

valu hh * h 0.5
valu p3y + r hh
valu p5y + r h

#
## Geometry
#

## Points
pnt p1 0 r 0
pnt p2 w r 0
pnt p3 0 p3y 0
pnt p4 w p3y 0
pnt p5 0 p5y 0
pnt p6 w p5y 0

## Lines
line L1 p1 p2 div1
line L2 p1 p3 div2
line L3 p2 p4 div2
line L4 p3 p4 div1
line L4_ p3 p4 div1
line L5 p3 p5 div2
line L6 p4 p6 div2
line L7 p5 p6 div1

# Line sets.
seta Lset1 l L1 L2 L3 L4
seta Lset2 l L4_ L5 L6 L7

# Surfaces.
surf surf1 Lset1
surf surf2 Lset2

seta s1 s surf1 
seta s2 s surf2 

# Flip surfaces.
flip s1 auto
flip s2 auto

# Element type.
elty s1 qu8sr
elty s2 qu8sr

# Mesh.
mesh all

# All nodes are stored in a set.
seta nodes n all

# Surface for force summation.
seta fsum l L4
comp fsum do
comp fsum do
send fsum abq sur

# Surface for tip load.
seta tp l L7
comp tp do
comp tp do
send tp abq sur

# Merge all nodes.
merg n all

# Boundary condition nodes are selected from the all nodes and stored in sets.
enq nodes fix rec _ r 0 0.001 a
enq nodes tip rec _ p5y _ 0.001 a

# Node sets containing boundary condition nodes are written to files.
send fix abq nam
send tip abq nam

# Export nodal information to a file.
send nodes abq

# Export elemental information to files.
seta s1e e s1
send s1e abq
seta s2e e s2
send s2e abq

rot -z

# Save image of the geometry with BCs and contact surfaces.
ulin Geometry with boundary conditions and contact surfaces.
plot l all
plot m all
view edge off
view elem all
plus n  fix r
plus n  tip b
frame
hcpy png geom

beam_elements_inp.inp

*INCLUDE, INPUT=nodes.msh
*INCLUDE, INPUT=s1e.msh
*INCLUDE, INPUT=s2e.msh
*INCLUDE, INPUT=fix.nam
*INCLUDE, INPUT=tip.nam
*INCLUDE, INPUT=fsum.sur
*INCLUDE, INPUT=tp.sur

*BOUNDARY
Nfix,1,3

*ELSET,ELSET=Eall
Es1e, Es2e

*MATERIAL, NAME=Mat
*ELASTIC
185000.000000,0.300000
*DENSITY
0.000000008220000000000000

*SOLID SECTION, ELSET=Eall, MATERIAL=Mat
1.0

*STEP, NLGEOM
*STATIC
*DSLOAD
Stp, P, -100
**DLOAD
**Eall, CENTRIF, 274155.677808, 0., 0., 0., 0., 0., 1.
*EL FILE, ELSET=Ebelems
U,S
*NODE PRINT, NSET=Nfix
RF
*SECTION PRINT,SURFACE=Sfsum,NAME=SP1
SOF
*END STEP