44#ifndef NIMBLE_BLOCK_BASE_H
45#define NIMBLE_BLOCK_BASE_H
85 std::shared_ptr<Material>
91 std::shared_ptr<Element>
102 const int* elem_conn)
const;
104 template <
typename MatT>
107 int num_global_unknowns,
108 const double*
const reference_coordinates,
109 const double*
const displacement,
111 const int*
const elem_conn,
112 const int*
const global_node_ids,
113 MatT& tangent_stiffness)
const;
std::string model_material_parameters_
Definition nimble_block_base.h:116
std::shared_ptr< Material > material_
Definition nimble_block_base.h:118
void ComputeTangentStiffnessMatrix(int num_global_unknowns, const double *const reference_coordinates, const double *const displacement, int num_elem, const int *const elem_conn, const int *const global_node_ids, MatT &tangent_stiffness) const
Definition nimble_block_base.cc:88
double GetBulkModulus() const
Definition nimble_block_base.h:74
double GetDensity() const
Definition nimble_block_base.h:68
std::shared_ptr< Element > element_
Definition nimble_block_base.h:117
double GetShearModulus() const
Definition nimble_block_base.h:80
virtual void InstantiateElement()=0
std::shared_ptr< Material > GetMaterialPointer() const
Definition nimble_block_base.h:86
virtual ~BlockBase()=default
virtual double ComputeCriticalTimeStep(const nimble::Viewify< 2 > &node_reference_coordinates, const nimble::Viewify< 2 > &node_displacements, int num_elem, const int *elem_conn) const
Definition nimble_block_base.cc:52
std::shared_ptr< Element > GetElementPointer() const
Definition nimble_block_base.h:92
Abstract class for representing an element.
Definition nimble_element.h:57
Definition nimble_view.h:72
Definition kokkos_contact_manager.h:49