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

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