Hi all,
I have some questions about Boundary loads,So I wish someone would help me,thank you first!!
All I know so far is how do I add a constant  load to a plane that is orthogonal to the x or y or z axes
Whether the parameters behind "Components" represent the load sizes in the three directions of x,y and z respectively.In this case,whether it means the load magnitude in the x and y directions is 0, and the load pressure in the z direction is 500pa ?Is my understanding correct?

Q1:How do I add load to those load which are not orthogonal to the axes x ,y and z.How should i set the parameters behind "Components"?I'm going to decompose the force in the x,y, and z directions?Could I directly set the direction of the load perpendicular to the plane?

Q2:How do I add load to surface,For example, I want to add an internal pressure to the inner wall of a ball or load to the surface of a hollow cylinder.
All I know is how do I add load to the plane but  I did not know how to deal with the surface.Just like Round and cylindrical.

The most important question I think：How could I directly set the direction of the load perpendicular to the plane?

I uploaded a salome file, and I just want to know how to add load to Group_2 from inside out perpendicular to the inside wall?

I have found a way out of these two questions

Now there is another problem, in structural statics, of how to attach a temperature load to the object and calculate it.

As the attachment is a simple cuboid model, I want to conduct static analysis on it and observe its displacement, stress and strain.
The whole cuboid is a kind of material, but the Young modulus and thermal dilatation coefficient of the material will change with the temperature.There are corresponding functions such as E=f(T),tAlpha=f(T)

One end of the cuboid is fixed, and a temperature load varying along the z-axis is applied to the whole cuboid

How can I deal with this problem?

I find StructTemperatureLoad in  body loads,but I didn't know how to set it correctly.So  I made a simple attempt.

I created a cylinder, and I fixed the bottom surface, and I put a temperature load on the entire cylinder and I looked at its
displacement，strantensor and stresstensor.At the same time I did it in ANSYS WORKBENCH in order to compare.

After displaying my results through Paraview, I found the displacement is the same in both cases,but strantensor and stresstensor both different from the result of Ansys.This is also the case when I do some simple static analysis experiments.

I tried to change this:vtkxml tstep_all domain_all primvars 1 1 vars 2 5 2 stype 1. Change the parameters after vars.
In fact change straintensor to principalstaintentos  and stresstensor to principalstresstensor.
But the results did not change.

Thank you!!

I did not found anything wrong with your input.  Just to make sure that you use correct thermal expansion coefficient and right material parameters (all in compatible units). I would suggest to try simple brick element subjected to temperature change, which you can verify easily, to make sure you understand everything correctly. In case you find anything wrong, let me know.

Borek

Thank you firstly!I will try and compare it again.

If the above cylinder is in a temperature field, and the temperature varies along the height of the cylinder. The whole cylinder is the same material, but the Young modulus and thermal dilatation coefficient of the material are related to the temperature.There is a linear relationship between them.There are corresponding functions such as E=f1(T),tAlpha=f2(T) , not a fixed value, how can I set this?And how does the temperature field apply to this static analysis?

CXin

Sorry to bother you again. It's almost the same question as the one mentioned above.

The attachments is an input file for linear static analysis of a hexagonal casing model(Serial and Parallel ). At present, I have set the same material properties and applied the same temperature load to all mesh elements of the whole casing, constraining the degrees of freedom in all directions on all nodes at the bottom of one side.

Q1: I can use OOFEM to solve this problem serially, but when I use oofem2part. py to divide the input file into four parts and do parallel computation, When I only set smtype 7 lstypr 3 ,the result is Divergent.So after I set ksp_type cg -pc_type jacobi -ksp_max_it 5000 the result was successed but I find the Computation process need 3000+ Iteration times to be convergent.  So How do I set up PETSc to better deal with larger issues？？

Q2 is very important!!!!!
Q2: Actually, I want to achieve Thermo-Solid coupling.This model is in a temperature field which varies with Z coordinate axis. That is, the material properties and actual temperature loads of grid elements at different heights are different. It is determined by some functions of Z coordinate axis at different heights. I have a file on the distribution of the temperature field,how could I sent the temperature field to Linearstatic Analysis? How do I set the options of material properties and loads in the input file? In structural analysis, can the temperature load be applied directly on the nodes? How to apply it?

Q1: The performance of the iterative solvers depends strongly on preconditioner used. I would perhaps recommend to use factorization, for example, that should deliver better performance in your case. This requires to install external package when compiling PETSc (like SUPERLU_DIST).
Q2: If you have thermal analysis followed by structural analysis you can use staggered solver and map temperature field from thermal problem directly to structural problem (see nltrans_incr.in tests/tmsm directory for example).
If you wand only structural analysis with precomputed temperature field, then you have to apply temperature as loading on every element (see patch103.in in tests/sm directory for an example). At the moment the temperature is assumed constant over element and could not be expressed as a function of coordinates or specified at nodes. Also most of the material models have parameters as constants, so they could not vary depending on coordinates, for example. However, with some effort, the existing material model or thermal load can be modified to support parameters depending on coordinates, for example. We already have functional example to follow (isotropic heat transfer material model, for example, see isoheatmat.h and isoheatmat.C in src/tm/Materials directory).
Hope that it will help,
Borek

First of all, thank you very much for taking the time to answer my question.

For Q1, I will try to use it according to your suggestion (first install superlu_dist when compiling petsc, then set the corresponding PETSc options when solving with OOFEM, right?)

As for Q2, I just want to use the existing temperature field for structural analysis. I know how to add temperature loads to each element. But what I hope to achieve most is to add temperature load to each node.

Method 1: I found that Nodalload can be applied to each node, so if I want to add temperature load to the node, can I refer to Nodalload?

Method 2: At present, what I can find is that body load can add temperature load to the elements. Since the ultimate construction of the matrix is equivalent to the load on each node, can we start from this place?

Last question:
In these two files ( isoheatmat.h and isoheatmat.C in src/tm/Materials directory) I did not find anything related to temperature. Do I need to consult other relevant function files?
What I want to achieve is to make Young's modulus and thermal expansion coefficient of elastic material properties change with temperature. They are a linear relationship.
And can we add material attributes directly to the nodes at present?

Thank you!!!
CXin