English
Documentation
> > Validation Case: Static Analysis of an W-Beam Under Remote Force

# Problem statement

This mechanical simulation is part of the series of validation cases performed using OnScale Solve. It consists of a steel W-beam with a remote force applied at an offset from one end face and the other end face is fully fixed. The predicted deflection at the free end of the beam from the simulation results is compared against the reference solution given by Roark’s Formulas for Stress And Strain [1].

## Geometry

The geometry is a 1 meter long W-beam as shown in fig. 1. The CAD file for this geometry is available as an Onshape document. The dimensions of the base sketch are shown in fig. 2.

## Boundary Conditions

A restraint boundary condition is imposed on one end face of the W-beam in all directions. A remote force is imposed at the other end face of the W-beam with an offset of 1 m and a magnitude of 1000 N.

## Material Properties

Homogeneous isotropic linear elastic properties of structural steel are used.

PropertySymbolValue
Young modulusE200 GPa
Poisson’s ratio\nu0.3

## Mesh

OnScale Solve generated a second-order tetrahedral mesh. Five simulations are run with the mesh density ranging from very coarse to very fine.

Mesh density# of elements# of dofs
very coarse6,96229,114
coarse12,14450,819
medium15,92366,643
fine23,59198,848
very fine141,354593,189

# Results

The deflection \omega at the free end of the beam from the simulation is compared against the reference solution \omega = -0.86805 mm [1]. The reference solution for the deflection \omega at the free end of the beam is given by the following equations where the remote force F is equivalent to a force of the same magnitude acting at the face and moment M.

M = Fd

I = \frac{1}{12}(BH^3 - bh^3)

\omega = \frac{FL^3}{3EI} + \frac{ML^2}{2EI}

Note the reference solution is computed using the approximated Euler-Bernoulli method so the difference is not expected to converge towards zero.

Mesh density# of dofsRef. \omega [mm]Sim. \omega [mm]Diff. [%]
very coarse29,114-0.86805-0.88035-1.417
coarse50,819-0.86805-0.88047-1.431
medium66,643-0.86805-0.88083-1.472
fine98,848-0.86805-0.88084-1.473
very fine593,189-0.86805-0.88088-1.478

# Simulation Definition

The complete simulation definition is given below.

"""
Auto-generated simulation code.
"""
import onscale as on
with on.Simulation('Simulation', 'Generated in SOLVE', version = '0.8.1') as sim:
# General simulation settings
on.settings.EnabledPhysics(["mechanical"])
# Define geometry
geometry = on.CadFile('W-Beam.step', unit="m")
body = on.Body(body_type="Deformable", ref_point=[0.0515, -1, 0.053])
geometry.parts[0].faces[13] >> body
# Define meshing
on.meshes.MeshFile('very_fine_mesh_volume.msh')
# Define material database and materials
materials = on.CloudMaterials('onscale')
structural_steel = materials['Structural steel']
structural_steel >> geometry.parts[0]
# Define and apply loads
restraint = on.loads.Restraint(x=True, y=True, z=True, alias='Fixture 1')
restraint >> geometry.parts[0].faces[12]
force = on.loads.Force(1000, [0, 0, -1], alias='Force 1')
force >> body
# Define output variables
field_sensor = on.sensors.FieldSensor(data=["Displacement", "VonMises", "Stress",
"Strain", "PrincipalStress",
"PrincipalStrain", "StrainEnergyDensity",
"EigenVector"], alias='Global Sensor')
field_sensor >> geometry
probe_sensor = on.sensors.ProbeSensor(data="Displacement", alias='Sensor 1')
probe_sensor >> geometry.parts[0].faces[13]
reaction_sensor = on.sensors.ReactionSensor(alias='Reaction_Fixture 1')
reaction_sensor >> restraint


# References

[1]
R. B. &. A. S. W. Young, Roark’s formulas for stress and strain. U.S.A: McGraw Hill, 2011.