← Previous: Four ways of solving three pressurized thick cylinders | ↑ Index | Next: Fixed compressed cylinder →
Title | Two cubes of different materials |
Tags | elasticity tension bending |
Runnng time | 1 sec |
See also | 006-cylinder-pure-compression |
CAEplex case | https://caeplex.com/p/a2c96 |
Available in | HTML PDF ePub |
Two cubes of 10mm \times 10mm \times 10mm each share a common face (fig. 1). One cube is “hard” and has a Young’s modulus E=100~\text{GPa} and \nu=0.25. The other one is “soft” with E=10~\text{GPa} and \nu=0.35. The free end of the hard cube is fully fixed and the free face of the soft cylinder is loaded with a tensile force F_x=-200~\text{N} in the axial direction and a bending force F_z=-10~\text{N} in the transversal direction. The objective of the case is to compare the three different inter-element averaging (or lack of) methods to compute nodal values of secondary fields (i.e. strains and stresses) that Fino provides.
Figure 1: Two cubes of different materials CAD from CAEplex https://caeplex.com/p/a2c96 (rotate and zoom it).
The two cubes are created with the OpenCASCADE kernel and then meshed by Gmsh:
SetFactory("OpenCASCADE");
a = 10;
Box(1) = {-a,-a/2,-a/2,a,a,a};
Box(2) = {0,-a/2,-a/2,a,a,a};
Coherence;
Mesh.CharacteristicLengthMax = 10;
Mesh.CharacteristicLengthMin = 4;
Mesh.Algorithm = 1;
Mesh.ElementOrder = 2;
Physical Surface("fixed", 1) = {1};
Physical Surface("load", 2) = {7};
Physical Volume("solid1") = {1};
Physical Volume("solid2") = {2};
The mesh is excessively coarse to better illustrate the point of this case. The elements are still of second order in order to obtain non-uniform derivatives of the displacements within each element.
The annotated input file two-cubes.fin
should be self-explanatory. The only important detail is that it reads a command line argument from Fino’s invocation which should be either always
, never
or material
and is passed to the FINO_SOLVER SMOOTH
keyword. Sec. 5 shows what the differences between these three modes are.
DEFAULT_ARGUMENT_VALUE 1 always
FINO_SOLVER SMOOTH $1 # put Fino in either "always", "never" or "material" mode
MESH FILE_PATH two-cubes.msh DIMENSIONS 3 # read mesh file
# material properties
MATERIAL solid1 E 100e3 nu 0.25 # the names solid1 and solid2 are the
MATERIAL solid2 E 10e3 nu 0.35 # physical groups in the .geo file
PHYSICAL_GROUP NAME fixed BC fixed # fix one end face
PHYSICAL_GROUP NAME load BC Fz=-10 Fx=-200 # load the other face
FINO_STEP # solve the problem!
# write a vtk file with the mode in the name
MESH_POST FILE_PATH two-cubes-$1.vtk \
dudx dudy dudz \
dvdx dvdy dvdz \
dwdx dwdy dwdz \
sigmax sigmay sigmaz \
tauxy tauyz tauzx \
sigma sigma1 sigma2 sigma3 \
E VECTOR u v w
The parameters always
, never
and material
are successively passed to the two-cubes.fin
input above:
$ gmsh -v 0 -3 two-cubes.geo
$ fino two-cubes.fin always
$ fino two-cubes.fin never
$ fino two-cubes.fin material
$
Fig. 2 illustrates the difference in the computed stresses.
Figure 2: Von Mises stresses depending on the averaging scheme chosen in Fino.. a — always-averaged, b — never-averaged, c — material-averaged