idaholab / moose

Multiphysics Object Oriented Simulation Environment
https://www.mooseframework.org
GNU Lesser General Public License v2.1
1.75k stars 1.05k forks source link

Euler-Bernoulli and Timoshenko beam element #10313

Closed sveerara closed 4 years ago

sveerara commented 6 years ago

Rationale

Beam elements are useful in modeling long slender objects that are more susceptible to bending behavior.

Description

Added small strain, large strain and large rotation C0 timoshenko beam element (Euler-Bernoulli beam is a special case of timoshenko beam element)

Impact

This does not change anything in the already existing code.

sveerara commented 6 years ago

@bwspenc and @acasagran, I have added the source code for the beam element in the above commits. I still haven't filled in the documentation. I just wanted to make sure the structure of the files is okay before I start writing the documentation.

ComputeIncrementalBeamStrain - Calculates small + large strains (if large strain option is turned on) for the beam elements. The stiffness matrix for the large strain case is quite messy but it improves convergence for the large strain + large rotation case a little bit in the test problem I tried.

ComputeFiniteBeamStrain - The incremental rotation matrix is calculated in this file.

ComputeElasticityBeam - Calculates the conversion factor required to transform translational/rotatioal strains to forces/moments

ComputeBeamForces - Uses input from ComputeElasticityBeam and strain calculator to calculate translational forces/moments in the global coordinate system

StressDivergenceTensorsBeam - Distributes the forces and moments to the correct location on the residual vector.

permcody commented 4 years ago

Closed by #11683