MCPcopy Create free account
hub / github.com/PyMesh/PyMesh / update_2D

Method update_2D

tools/Assembler/Materials/ElementWiseOrthotropicMaterial.cpp:64–88  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

62}
63
64void ElementWiseOrthotropicMaterial::update_2D() {
65 const size_t num_faces = m_material_mesh->get_num_faces();
66 const VectorF& young_x = m_material_mesh->get_attribute(m_young_field_names[0]);
67 const VectorF& young_y = m_material_mesh->get_attribute(m_young_field_names[1]);
68 const VectorF& poisson_xy = m_material_mesh->get_attribute(m_poisson_field_names[0]);
69 const VectorF& poisson_yx = m_material_mesh->get_attribute(m_poisson_field_names[1]);
70 const VectorF& shear = m_material_mesh->get_attribute(m_shear_field_names[0]);
71
72 assert(young_x.size() == num_faces);
73 assert(young_y.size() == num_faces);
74 assert(poisson_xy.size() == num_faces);
75 assert(poisson_yx.size() == num_faces);
76 assert(shear.size() == num_faces);
77
78 m_materials.resize(num_faces);
79 for (size_t i=0; i<num_faces; i++) {
80 Vector2F elem_young(young_x[i], young_y[i]);
81 Vector2F elem_poisson(poisson_xy[i], poisson_yx[i]);
82 VectorF elem_shear(1);
83 elem_shear[0] = shear[i];
84
85 m_materials[i] = Material::create_orthotropic(m_density,
86 elem_young, elem_poisson, elem_shear);
87 }
88}
89
90void ElementWiseOrthotropicMaterial::update_3D() {
91 const size_t num_voxels = m_material_mesh->get_num_voxels();

Callers

nothing calls this directly

Calls 3

get_num_facesMethod · 0.45
get_attributeMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected