# How to apply a load force with some angle to surface it is being applied to?

Hello everybody,

Name of the topic is my problem. Or there is no such an option in CalculiX. Any force should be decomposed and applied to in two directions.

1 Like

hello,

load on surface with *DLOAD is orthogonal.
maybe you can use nodes, gravity or
*RIGIB BODY / *DISTRIBUTING COUPLING / * COUPLING etc.

wbr

You would have to calculate the components of such a force in 3 orthogonal directions or use the *TRANSFORM keyword.

1 Like

Example:
*TRANSFORM,NSET=No1,TYPE=R
0.,1.,0.,0.,0.,1.
assigns a new rectangular coordinate system to the nodes belonging to (node)
set No1. The x- and the y-axes in the local system are the y- and z-axes in the
global system.

I am lost in the explanation and no simple example is provided. How do I see if this is a local or global coordinate system? How to measure an angle between different coordinate systems planes?

To specify local material orientations in a rectangular coordinate system with keywords you just need the coordinates of 2 points - one lying on the X axis and one lying on the XY plane but not on the X axis. CAD software can help identify those points.

Would you be so kind to me as to show any idea of applying a force on an edge of A005 with 45 degrees to surface 34 e:29 s:3 n= 66 71 42 32, for example.

beam.fbd
valu Etyp he8

seto beam
pnt p2 0 4 0
pnt p3 0 4 1000

line l1 p2 p3
seta se1 l l1

swep se1 sesw1 tra 20 0 0

seta sesw2 A001
swep sesw2 sesw3 tra 0 20 0

seta fix A006
setc beam

elty beam Etyp
mesh beam
send beam abq

send fix abq spc 123456

plot f beam
plus e beam
view edge off
view elem
#plot se beam

beam.inp
*HEADING
Model: experiment
*INCLUDE,INPUT=beam.msh
*BOUNDARY
*INCLUDE,INPUT=fix_123456.bou
*MATERIAL,NAME=EL
*ELASTIC
2e6,0.3
*SOLID SECTION,ELSET=Ebeam,MATERIAL=EL
*STEP
*STATIC
*DLOAD
*INCLUDE,INPUT=not yet available
** *NODE PRINT
** U
*NODE FILE ** It adds to Datasets β 1 DISP
U
*EL FILE ** It adds to Datasets β 2 STRESS
S
*END STEP

Looks like there is no practical solution to the question. The best practical doing is to decompose a force being applied with an angle to surface and, as an example

send nodes abq force 1. 20. 0.

the idea works well up to now.

2 Likes

Perhaps kinematic or distributing coupling are worth a try. Here is an example of how to apply a moment to a surface. This might work for forces in a similar way. Note that non-planar surfaces can create problems.

Check the reactions using *section print

I know who you are and I appreciate your note very much. But for the time being I have to go for FreeCAD to set up my models and get an experience on how inp file is constructed. I hope it will work out for me.

Interesting. What is the result of this cgx command?

I think this may be essentially what @Calc_em meant in their first reply, except that the *TRANSFORM card would allow the load to be given in local coordinate systems. Does this cgx command create a *TRANSFORM card?

I have to start over, I did so many things from the time of the topic was started so I am lost what file I used and where I saved it.

cgx command does not create *TRANSFORM card, but here I provide code that shows how the *TRANSFORM beast works
beam.fbd
valu Etyp he8

seto beam
pnt p2 0 4 0
pnt p3 0 4 1000

line l1 p2 p3
seta se1 l l1

swep se1 sesw1 tra 20 0 0

seta sesw2 A001
swep sesw2 sesw3 tra 0 20 0

setc beam

elty beam Etyp
mesh beam
send beam abq

beam.inp
*HEADING
Model: CalculiX decomposed force experiment
*INCLUDE,INPUT=beam.msh
*INCLUDE,INPUT=node1.nam
*INCLUDE,INPUT=fix.nam
*MATERIAL,NAME=EL
*ELASTIC
2e6,0.3
*SOLID SECTION,ELSET=Ebeam,MATERIAL=EL
*TRANSFORM,NSET=Nnode1,TYPE=R
10.,4.,0.,15.,4.,15.
**Homogeneous Conditions
*BOUNDARY
Nfix,1,6
*STEP
*STATIC
*CLOAD
*INCLUDE,INPUT=load.frc
*NODE FILE ** It adds to Datasets β 1 DISP
U
*EL FILE ** It adds to Datasets β 2 STRESS
S
*END STEP

node1.nam
** Names based on node1
*NSET,NSET=Nnode1
71,

fix.nam
** Names based on fix
*NSET,NSET=Nfix
1,
2,
51,
76,
101,

load.frc
** Forces based on load
71, 2, 500.000000

I do not feel easy for CalculiX coordinate system. I wanted to apply force with 45 degrees to surface but I do not know exactly what angle I define with

*TRANSFORM,NSET=Nnode1,TYPE=R
10.,4.,0.,15.,4.,15.

I agree that the CalculiX coordinate system requires some effort to understand. In chapter 7.128 of the manual (for v 2.20), the *TRANSFORM keyword is explained, and there is also a figure explaining rectangular coordinate systems. The trick is to see that the origin of both the local and the global coordinate system are the same. Thatβs why it is enough to just define two points in order to set up the local system. With this information you should be able to visualize the orientation of your system and to compute the angles of interest.

Next is the load. In your example, you apply a force of magnitude 500 to local degree of freedom number 2 of node number 71. That is, the load acts along the Yβ axis of the local system.

So, in combination with a proper *DLOAD for the orthogonal part, sounds just like what you were asking for. Take care of the pressure sign and magnitude as it is distributed among the element face nodes. Not user friendly for your use case, granted.