MAST
Multidisciplinary-design Adaptation and Sensitivity Toolkit (MAST)
mast_quad4_linear_structural_strain_displacement_matrix.cpp File Reference
#include "libmesh/libmesh.h"
#include "libmesh/elem.h"
#include "libmesh/equation_systems.h"
#include "libmesh/dof_map.h"
#include "base/parameter.h"
#include "base/constant_field_function.h"
#include "property_cards/isotropic_material_property_card.h"
#include "property_cards/solid_2d_section_element_property_card.h"
#include "elasticity/structural_element_2d.h"
#include "elasticity/structural_system_initialization.h"
#include "base/nonlinear_implicit_assembly.h"
#include "elasticity/structural_nonlinear_assembly.h"
#include "base/nonlinear_system.h"
#include "mesh/geom_elem.h"
#include "mesh/fe_base.h"
#include "numerics/fem_operator_matrix.h"
#include "catch.hpp"
#include "test_helpers.h"
#include "element/structural/2D/mast_structural_element_2d.h"
Include dependency graph for mast_quad4_linear_structural_strain_displacement_matrix.cpp:

Go to the source code of this file.

Macros

#define protected   public
 

Functions

 TEST_CASE ("quad4_linear_structural_strain_displacement_matrix", "[quad],[quad4],[linear],][structural],[2D],[element]")
 

References

https://studiumbook.com/properties-of-shape-function-fea/ https://www.ccg.msm.cam.ac.uk/images/FEMOR_Lecture_2.pdf More...
 

Variables

libMesh::LibMeshInit * p_global_init
 

Macro Definition Documentation

◆ protected

#define protected   public

Function Documentation

◆ TEST_CASE()

TEST_CASE ( "quad4_linear_structural_strain_displacement_matrix"  ,
[quad],
[structural],
[element] "   
)

References

https://studiumbook.com/properties-of-shape-function-fea/ https://www.ccg.msm.cam.ac.uk/images/FEMOR_Lecture_2.pdf

elem->initialize_green_lagrange_strain_operator method populates the Bmat_lin, Bmat_nl_x, Bmat_nl_y, Bmat_nl_u, and Bmat_nl_v matrices.

std::unique_ptr<MAST::BendingOperator2D> bend; bend->initialize_bending_strain_operator method populates the Bmat_bend matrix. This part only exists if bending exists in the model.

elem->initialize_von_karman_strain_operator method populates the Bmat_vk matrix. This part only exists if bending exists in the model AND nonlinear strains exist in the model.

Now compare the true values to the expected values

Expected format for Bmat_lin is... [dN1dx, dN2dx, dN3dx, dN4dx, 0, 0, 0, 0, 0, ..., 0; 0, 0, 0, 0, dN1dy, dN2dy, dN3dy, dN4dy, 0, ..., 0; dN1dy, dN2dy, dN3dy, dN4dy, dN1dx, dN2dx, dN3dx, dN4dx, 0, ..., 0]

Definition at line 55 of file mast_quad4_linear_structural_strain_displacement_matrix.cpp.

Variable Documentation

◆ p_global_init

libMesh::LibMeshInit* p_global_init

Definition at line 26 of file init_catch2.cpp.