![]() |
![]() |
![]() |
Demo: A linear elasticity problem with planar deformations
This code solves linearized elastostatics problems with planar deformations.
IPF data("lelas2d - 1.1 ",argv[1]);
int output_flag = data.getOutput();
int save_flag = data.getSave();
Mesh ms(data.getMeshFile());
Prescription p(ms,data.getDataFile());
|
Vect<double> u(ms), bc(ms), body_f(ms), bound_f(ms,2,BOUNDARY_SIDE_DOF); p.get(BOUNDARY_CONDITION,bc,0); p.get(BODY_FORCE,body_f); p.get(TRACTION,bound_f,0); |
Elas2DQ4 eq(ms,u); eq.setInput(BOUNDARY_CONDITION,bc); eq.setInput(BODY_FORCE,body_f); eq.setInput(TRACTION,bound_f); eq.run(); |
if (save_flag) {
IOField pl_file(data.getPlotFile(),IOField::OUT);
pl_file.put(u);
}
|
Vect<double> st, vm; eq.Stress(st,vm); |
<?xml version="1.0" encoding="ISO-8859-1" ?>
<OFELI_File>
<info>
<title></title>
<date></date>
<author></author>
</info>
<Project name="beam">
<verbose>1</verbose>
<output>1</output>
<save>1</save>
<plot>1</plot>
<init>1</init>
<mesh_file>beam.m</mesh_file>
<plot_file>beam.d</plot_file>
<prescription_file>beam.pr</prescription_file>
</Project>
</OFELI_File>
|
The only thing that may differ from other seen project files is that prescription data is given in a separate file: beam.pr. Let us give this one:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<OFELI_File>
<info>
<title></title>
<date></date>
<author></author>
</info>
<Prescription>
<BoundaryCondition code="1">0.0</BoundaryCondition>
<Traction code="1" dof="2">-1000.0</Traction>
</Prescription>
</OFELI_File>
|
Clearly, we have prescribed by this file a (Dirichlet) boundary condition that enforces a value of 0.0 for degrees of freedom with code 1. In addition, we have prescribed a traction of value -1000 for the second degrees of freedom (y-traction) having code 1.
![]() |
![]() |
![]() |