*TRANSFORM (R and C)

Hi,
I would like to see the implementation of the two types of *TRANSFORM (R and C). It would help the user to set up frictionless supports or the 3D solid axisymmetric slice between others, extending considerably the Prepomax BC options.
Thanks

4 Likes

Indeed, it would be very useful. Other applications of user-defined coordinate systems (*ORIENTATION and transforming the results) are also important but would require separate implementation (only the tool to define a new CSYS could be the same).

As a side note, CalculiX supports only rectangular and cylindrical coordinate systems while Abaqus supports also spherical ones but they are uncommon.

2 Likes

It is possible to use *TRANSFORM by using the “Calculix keyword editor” that is accessed by right clicking on the top level model in the PrePoMax FE Model tree. The following screenshots show how I used *TRANSFORM to restrict motion of a cylinder in the tangential and axial directions while allowing expansion in the radial direction. Inputs for the *TRANSFORM keyword are in the Calculix manual.

Node Set definition

5 Likes

Thank you very much GB61 :ok_hand:

Proposal regarding Calculix keywords: on the keyword tree, user added keywords are in red colours, which make me confusing in the beginning because I thought that there is something wrong/missing on the keyword itself. I propose to make text in different colour, not linked classically with an “Error” colour.
Hope my proposal is clear.

3 Likes

I agree. I will think about other default colours. The coloured text editor is very solid at the moment and I already found a better solution. When I will find time to replace it I will think about the colours.

2 Likes

displaying node and element local axes also common in many FEA software, it can be useful to visualize for some assignment it was properly defined or not.

2 Likes

Hi,

This is an example on how to prepare a frictionless support on a face with arbitrary orientation.
I think it complements the cylindrical example from GB61 with the TYPE=R option.

Frictionless suport on an arbitrary oriented flat face.

1- Select three points on the face of interest A, B and C as separated as possible (for better accuracy).
2- Compute the cross product of AB x AC = v1i + v2j + v3k
3- Normalize the resultant vector . n1
i + n2j + n3k. (Not imperative but more clean and readable)
4- Create a node set of the nodes on that Face and name it. For example : NFace
5- Write a custom Transform card like:

*TRANSFORM
n1,n2,n3,-n2,n1,0

6- Constrain the first degree of freedom of NFace as usual on the BC GUI.

NOTE: Be sure your numbers do not exceed 20 characters long.

Example included.
Frictionless support.pmx (411.1 KB)

1 Like

Probably a ‘Frictionless Support’ names for sliding along normal planes may lead to confusion for many user. It s not really clear since frictionless contact also available, however the behaviour and workflow is different.

It seems a general and common "Transform Nodes’ names still prefer. When both are still interested to implement, maybe "Sliding Planes’ is more appropriate for these support boundary condition types.

1 Like

Or even sliding
support?¿?. I don’t really mind.
You have forgot your beginnings synt. :slightly_smiling_face: Some people are struggling and asking for it so it might not be so trivial for some users.
The cross product could be in fact be substituted by the normal to the surface if available.
This Sliding Planes is not so easy when combined with Rigid Body and shells.

1 Like

The workflow may separated, for solid element the plane can be selecting based on surface. It may group of face on flat or curved position. Rigidbody constraint, reference nodes and transform function can be generated automatically.

When at work in shell models, predefined three point of node groups selected can be use as plane definition, an option of curved or flat movement also possible to implement. Centér point as reference node is requires to be precalculate in special case of sliding along curves.

I’m only giving a personal opinions regarding to the names. Still thinking a ‘Frictionless’ word or names is commonly elated to contact and may lead to confusion. Prefer the names to be ‘Sliding Plane’ or ‘Sliding Support’ or any appropriated names e g ‘Sliding Constraint’

1 Like

This was very helpful to get me going. Thanks for posting!

HI,

I have revisited this post and my example file doesn’t work. I don’t remember having any issue with that. Any idea what’s wrong.?. I’m using last v2.0.7 with PARDISO

PREPOMAX\PrePoMax v2.0.7 dev\Solver\ccx_dynamic.exe

Analisys seems to finish and immediatly after that it shows a job failed.

 Calculating the eigenvalues and the eigenmodes

U^T*M*U=0.000000 for eigenmode -21
U^T*M*U=0.000000 for eigenmode -61
U^T*M*U=0.000000 for eigenmode 7
U^T*M*U=0.000000 for eigenmode 9
U^T*M*U=0.000000 for eigenmode 1

 Job finished

________________________________________

Total CalculiX Time: 0.854273
________________________________________

 Job failed - no results exist.

 Process elapsed time:       0.892 s

you have set zero for upper and lower bound. Should it be possible?

h

1 Like

The model is likely from a version in which there was no option to specify the frequency range.

It’s old yes. I have reset the analisys and create a new one from zero and then it works again.

Thanks.

The default settings are obviously not set correctly, when reading an old file format.