24namespace shamrock::solvergraph {
58 T get_rank_max(
const IFieldRefs<T> &field_refs) {
60 field_refs.get_refs().for_each([&](
u64 id,
const PatchDataFieldRef<T> &field_ref) {
61 ret = sham::max(ret, field_ref.get().compute_max());
67 T get_rank_min(
const IFieldRefs<T> &field_refs) {
69 field_refs.get_refs().for_each([&](
u64 id,
const PatchDataFieldRef<T> &field_ref) {
70 ret = sham::min(ret, field_ref.get().compute_min());
std::reference_wrapper< PatchDataField< T > > PatchDataFieldRef
Alias for a reference to a PatchDataField.
std::uint64_t u64
64 bit unsigned integer
Represents a collection of objects distributed across patches identified by a u64 id.
Interface for a solver graph edge representing a field as references to the underlying patch fields.
virtual DDPatchDataFieldRef< T > & get_refs()=0
Get the DistributedData of PatchDataFieldRefs.
virtual const DDPatchDataFieldRef< T > & get_refs() const =0
Const variant of get_refs.
PatchDataField< T > & get_field(u64 id) const
Get the underlying PatchDataField at the given id.
Interface for a solver graph edge representing a field as spans.