SolidBeamDemo.cpp File Reference

Functions

int main ()
 [SolidBeamDemo] More...
 

Function Documentation

◆ main()

int main ( )

[SolidBeamDemo]

Simulates a cubic rod (20mm x 2mm x 2mm) of density 2500 kg/m^3, elastic modulus 100 MPa, fixed on left side, bent by gravity

34 {
35  // Defines a SolidProblem of element type RefineableQDPVDElement<3,2>.
37  // Sets up the problem
38  problem.setName("SolidBeamUnitTest");
39  problem.setElasticModulus(1e8);
40  problem.setDensity(2500);
41  problem.setSolidCubicMesh(20, 2, 2, 0, 0.2, 0, 0.02, 0, 0.02);
42  problem.pinBoundary(problem.Boundary::X_MIN);
43  problem.setBodyForceAsGravity();
44  problem.setNewtonSolverTolerance(3e-8);
45  problem.prepareForSolve();
46  // Solve the problem
47  problem.solveSteady();
48  return 0;
49 }
Definition: SolidProblem.h:80
void setElasticModulus(double elasticModulus)
set function for elasticModulus_
Definition: SolidProblem.h:153
void setName(const std::string &name)
set function for name_
Definition: SolidProblem.h:140
void prepareForSolve()
Definition: SolidProblem.h:322
void setSolidCubicMesh(const unsigned &nx, const unsigned &ny, const unsigned &nz, const double &xMin, const double &xMax, const double &yMin, const double &yMax, const double &zMin, const double &zMax)
Definition: SolidProblem.h:546
void pinBoundary(unsigned b)
Definition: SolidProblem.h:227
void setDensity(double density)
set function for density_
Definition: SolidProblem.h:192
void setBodyForceAsGravity(double gravity=9.8)
set function for body_force_pt
Definition: SolidProblem.h:205
void solveSteady()
Definition: SolidProblem.h:411
void setNewtonSolverTolerance(double Newton_solver_tolerance)
set function for Newton_solver_tolerance
Definition: SolidProblem.h:257

References SolidProblem< ELEMENT_TYPE >::pinBoundary(), SolidProblem< ELEMENT_TYPE >::prepareForSolve(), SolidProblem< ELEMENT_TYPE >::setBodyForceAsGravity(), SolidProblem< ELEMENT_TYPE >::setDensity(), SolidProblem< ELEMENT_TYPE >::setElasticModulus(), SolidProblem< ELEMENT_TYPE >::setName(), SolidProblem< ELEMENT_TYPE >::setNewtonSolverTolerance(), SolidProblem< ELEMENT_TYPE >::setSolidCubicMesh(), and SolidProblem< ELEMENT_TYPE >::solveSteady().