50#ifdef NIMBLE_HAVE_DARMA
71#ifdef NIMBLE_HAVE_DARMA
72 template <
typename ArchiveType>
74 serialize(ArchiveType& ar)
89 if (ar.is_unpacking()) {
110 const double*
const reference_coordinates,
112 const int*
const elem_conn,
113 double* lumped_mass)
const;
117 int num_elem_in_block,
118 std::vector<int>
const& elem_global_ids_in_block,
119 std::vector<std::string>
const& elem_data_labels,
120 std::vector<std::string>
const& derived_elem_data_labels,
121 std::vector<double>& elem_data_n,
122 std::vector<double>& elem_data_np1,
128 const double* reference_coordinates,
129 const double* displacement,
130 const double* velocity,
131 double* internal_force,
132 double time_previous,
135 const int* elem_conn,
136 const int* elem_global_ids,
137 std::vector<std::string>
const& elem_data_labels,
138 std::vector<double>
const& elem_data_n,
139 std::vector<double>& elem_data_np1,
142 bool compute_stress_only =
false)
const;
146 const double*
const reference_coordinates,
147 const double*
const displacement,
149 const int*
const elem_conn,
151 std::vector<double>
const& elem_data_np1,
152 int num_derived_elem_data,
153 std::vector<std::vector<double>>& derived_elem_data);
158 std::vector<std::string>
const& elem_data_labels,
159 std::vector<std::string>
const& derived_elem_data_labels);
Definition nimble_block_base.h:58
std::string model_material_parameters_
Definition nimble_block_base.h:116
~Block() override=default
void DetermineDataOffsets(std::vector< std::string > const &elem_data_labels, std::vector< std::string > const &derived_elem_data_labels)
Definition nimble_block.cc:500
void GetDataLabelsAndLengths(std::vector< std::pair< std::string, Length > > &data_labels_and_lengths)
Definition nimble_block.cc:85
void InstantiateMaterialModel(MaterialFactory &factory)
Definition nimble_block.cc:67
std::vector< int > def_grad_offset_
Definition nimble_block.h:161
Block()
Definition nimble_block.h:67
std::vector< int > stress_offset_
Definition nimble_block.h:162
void ComputeLumpedMassMatrix(const double *const reference_coordinates, int num_elem, const int *const elem_conn, double *lumped_mass) const
Definition nimble_block.cc:111
int vol_ave_volume_offset_
Definition nimble_block.h:164
void ComputeInternalForce(const double *reference_coordinates, const double *displacement, const double *velocity, double *internal_force, double time_previous, double time_current, int num_elem, const int *elem_conn, const int *elem_global_ids, std::vector< std::string > const &elem_data_labels, std::vector< double > const &elem_data_n, std::vector< double > &elem_data_np1, DataManager &data_manager, bool is_output_step, bool compute_stress_only=false) const
Definition nimble_block.cc:389
void InstantiateElement() override
Definition nimble_block.cc:79
void InitializeElementData(int num_elem_in_block, std::vector< int > const &elem_global_ids_in_block, std::vector< std::string > const &elem_data_labels, std::vector< std::string > const &derived_elem_data_labels, std::vector< double > &elem_data_n, std::vector< double > &elem_data_np1, MaterialFactory &material_factory, DataManager &data_manager)
Definition nimble_block.cc:149
void Initialize(std::string const &model_material_parameters, MaterialFactory &factory)
Definition nimble_block.cc:59
std::vector< int > state_data_offset_
Definition nimble_block.h:163
std::map< int, int > vol_ave_index_to_derived_data_index_
Definition nimble_block.h:166
std::vector< int > vol_ave_offsets_
Definition nimble_block.h:165
void ComputeDerivedElementData(const double *const reference_coordinates, const double *const displacement, int num_elem, const int *const elem_conn, int num_elem_data, std::vector< double > const &elem_data_np1, int num_derived_elem_data, std::vector< std::vector< double > > &derived_elem_data)
Definition nimble_block.cc:439
Definition nimble_data_manager.h:70
Definition nimble_material_factory.h:52
Definition kokkos_contact_manager.h:49