7 std::set<libMesh::boundary_id_type> boundary_id_displacement;
9 boundary_id_displacement.insert(boundary_id);
11 std::vector<unsigned int> variables(3);
12 variables[0] = elasticity_system.variable_number(
"u");
13 variables[1] = elasticity_system.variable_number(
"v");
14 variables[2] = elasticity_system.variable_number(
"w");
20 libMesh::DirichletBoundary dirichlet_bc( boundary_id_displacement,
24 elasticity_system.get_dof_map().add_dirichlet_boundary(dirichlet_bc);
30 std::set<libMesh::boundary_id_type> boundary_id_displacement;
32 boundary_id_displacement.insert(boundary_id);
34 std::vector<unsigned int> variables(3);
35 variables[0] = elasticity_system.variable_number(
"u");
36 variables[1] = elasticity_system.variable_number(
"v");
37 variables[2] = elasticity_system.variable_number(
"w");
39 libMesh::ZeroFunction<> zero_function;
42 libMesh::DirichletBoundary dirichlet_bc( boundary_id_displacement,
46 elasticity_system.get_dof_map().add_dirichlet_boundary(dirichlet_bc);
49 libMesh::ExplicitSystem&
add_stress(libMesh::EquationSystems& input_systems)
51 libMesh::ExplicitSystem& stress_system =
52 input_systems.add_system<libMesh::ExplicitSystem> (
"StressSystem");
54 stress_system.add_variable(
"sigma_00", libMesh::CONSTANT, libMesh::MONOMIAL);
55 stress_system.add_variable(
"sigma_01", libMesh::CONSTANT, libMesh::MONOMIAL);
56 stress_system.add_variable(
"sigma_02", libMesh::CONSTANT, libMesh::MONOMIAL);
57 stress_system.add_variable(
"sigma_10", libMesh::CONSTANT, libMesh::MONOMIAL);
58 stress_system.add_variable(
"sigma_11", libMesh::CONSTANT, libMesh::MONOMIAL);
59 stress_system.add_variable(
"sigma_12", libMesh::CONSTANT, libMesh::MONOMIAL);
60 stress_system.add_variable(
"sigma_20", libMesh::CONSTANT, libMesh::MONOMIAL);
61 stress_system.add_variable(
"sigma_21", libMesh::CONSTANT, libMesh::MONOMIAL);
62 stress_system.add_variable(
"sigma_22", libMesh::CONSTANT, libMesh::MONOMIAL);
63 stress_system.add_variable(
"vonMises", libMesh::CONSTANT, libMesh::MONOMIAL);
68 libMesh::LinearImplicitSystem&
add_elasticity( libMesh::EquationSystems& input_systems,
70 libMesh::FEFamily family)
72 libMesh::ExplicitSystem& physical_variables =
73 input_systems.add_system<libMesh::ExplicitSystem> (
"PhysicalConstants");
76 physical_variables.add_variable(
"E", libMesh::CONSTANT, libMesh::MONOMIAL);
77 physical_variables.add_variable(
"mu", libMesh::CONSTANT, libMesh::MONOMIAL);
78 physical_variables.add_variable(
"Index", libMesh::CONSTANT, libMesh::MONOMIAL);
80 libMesh::LinearImplicitSystem& elasticity_system =
81 input_systems.add_system<libMesh::LinearImplicitSystem> (
"Elasticity");
83 elasticity_system.add_variable(
"u", order, family);
84 elasticity_system.add_variable(
"v", order, family);
85 elasticity_system.add_variable(
"w", order, family);
87 return elasticity_system;
Small structure with the 3D border displacement values.
3D border displacement class, derived from libMesh::FunctionBase.
libMesh::ExplicitSystem & add_stress(libMesh::EquationSystems &input_systems)
Add a stress libMesh::ExplicitSystem to the input libMesh::EquationSystems.
void set_clamped_border(libMesh::ImplicitSystem &elasticity_system, int boundary_id)
Set a clamped border.
void set_displaced_border_translation(libMesh::ImplicitSystem &elasticity_system, border_displacement_values &displ, int boundary_id)
Set a displacement border.
libMesh::LinearImplicitSystem & add_elasticity(libMesh::EquationSystems &input_systems, libMesh::Order order, libMesh::FEFamily family)
Add a linear elasticity libMesh::LinearImplicitSystem to the input libMesh::EquationSystems& input_sy...