44#ifndef NIMBLE_KOKKOS_BLOCK_H
45#define NIMBLE_KOKKOS_BLOCK_H
54#ifdef NIMBLE_HAVE_DARMA
75 Block() :
BlockBase(), elem_conn_d(
"element_connectivity_d", 0), element_device_(nullptr), material_device_(nullptr)
84 if (element_device_ !=
nullptr) { Kokkos::kokkos_free(element_device_); }
85 if (material_device_ !=
nullptr) { Kokkos::kokkos_free(material_device_); }
97 std::shared_ptr<nimble::Element>
106 return element_device_;
109 std::shared_ptr<nimble::Material>
118 return material_device_;
127 std::shared_ptr<nimble::NGPLAMEData>
130 return ngp_lame_data_;
144 std::shared_ptr<nimble::NGPLAMEData> ngp_lame_data_;
Definition nimble_block_base.h:58
std::shared_ptr< Material > material_
Definition nimble_block_base.h:118
std::shared_ptr< Element > element_
Definition nimble_block_base.h:117
Abstract class for representing an element.
Definition nimble_element.h:57
Definition nimble_material.h:197
nimble::Material * GetDeviceMaterialModel()
Definition nimble_kokkos_block.h:116
std::shared_ptr< nimble::Element > GetHostElement()
Definition nimble_kokkos_block.h:98
void InstantiateElement() override
Definition nimble_kokkos_block.cc:68
DeviceElementConnectivityView & GetDeviceElementConnectivityView()
Definition nimble_kokkos_block.h:122
void Initialize(std::string const &model_material_parameters, int num_elements, MaterialFactory &factory)
Definition nimble_kokkos_block.cc:50
std::shared_ptr< nimble::NGPLAMEData > GetNGPLAMEData()
Definition nimble_kokkos_block.h:128
nimble::Element * GetDeviceElement()
Definition nimble_kokkos_block.h:104
std::shared_ptr< nimble::Material > GetHostMaterialModel()
Definition nimble_kokkos_block.h:110
void InstantiateMaterialModel(int num_material_points, MaterialFactory &factory)
Definition nimble_kokkos_block.cc:59
~Block() override
Definition nimble_kokkos_block.h:79
Block()
Definition nimble_kokkos_block.h:75
Definition nimble_kokkos_material_factory.h:59
Definition nimble_contact_manager.h:68
Kokkos::View< int *, kokkos_device > DeviceElementConnectivityView
Definition nimble_kokkos_defs.h:607
Definition kokkos_contact_manager.h:49