| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mesh_type), | intent(in) | :: | mesh |
function mesh_fingerprint(mesh) result(fingerprint) type(mesh_type), intent(in) :: mesh character(len=16) :: fingerprint type(hash_state) :: hash integer(i32) :: elem call feed_integer(hash, mesh%nelem) do elem = 1, mesh%nelem call feed_real_vector(hash, mesh%v0(:, elem)) call feed_real_vector(hash, mesh%v1(:, elem)) call feed_real_vector(hash, mesh%v2(:, elem)) if (allocated(mesh%elem_mesh_id)) call feed_integer(hash, mesh%elem_mesh_id(elem)) if (allocated(mesh%elem_surface_model)) call feed_integer(hash, mesh%elem_surface_model(elem)) if (allocated(mesh%elem_epsilon_r)) call feed_real(hash, mesh%elem_epsilon_r(elem)) if (allocated(mesh%elem_vacuum_sign)) call feed_integer(hash, mesh%elem_vacuum_sign(elem)) end do fingerprint = finish_hash(hash) end function mesh_fingerprint