140{
141 for (
auto&& block_data :
blocks) {
142 auto deformation_gradient_step_n_d =
model_data->GetDeviceFullTensorIntegrationPointData(
144 auto deformation_gradient_step_np1_d =
model_data->GetDeviceFullTensorIntegrationPointData(
146 auto stress_step_n_d =
148 auto stress_step_np1_d =
150
151 auto material_device = block_data.material_device;
152 DeviceElemStateView elem_state_n, elem_state_np1;
153 if (material_device->NumStateVariables() > 0) {
155 elem_state_n.scalar =
157 elem_state_np1.scalar =
159 }
160
162 elem_state_n.vec3D =
164 elem_state_np1.vec3D =
166 }
167
169 elem_state_n.sym_tensor =
model_data->GetDeviceSymTensorIntegrationPointData(
171 elem_state_np1.sym_tensor =
model_data->GetDeviceSymTensorIntegrationPointData(
173 }
174
176 elem_state_n.full_tensor =
model_data->GetDeviceFullTensorIntegrationPointData(
178 elem_state_np1.full_tensor =
model_data->GetDeviceFullTensorIntegrationPointData(
180 }
181 }
182
183 compute_block_stress(
184 block_data,
185 deformation_gradient_step_n_d,
186 deformation_gradient_step_np1_d,
187 stress_step_n_d,
188 stress_step_np1_d,
189 elem_state_n,
190 elem_state_np1,
193 }
194}
@ STEP_NP1
Definition nimble_data_utils.h:99
@ STEP_N
Definition nimble_data_utils.h:98