void LayeredSideIntegral::execute() { Real integral_value = computeIntegral(); unsigned int layer = getLayer(_current_elem->centroid()); setLayerValue(layer, getLayerValue(layer) + integral_value); }
void BlockAverageValue::execute() { // Compute the integral on this element Real integral_value = computeIntegral(); // Add that value to the others we've computed on this subdomain _integral_values[_current_elem->subdomain_id()] += integral_value; // Keep track of the volume of this block _volume_values[_current_elem->subdomain_id()] += _current_elem_volume; }
void FeatureVolumeVectorPostprocessor::accumulateVolumes( const Elem * elem, const std::vector<unsigned int> & var_to_features, std::size_t libmesh_dbg_var(num_features)) { unsigned int dominant_feature_id = FeatureFloodCount::invalid_id; Real max_var_value = std::numeric_limits<Real>::lowest(); for (MooseIndex(var_to_features) var_index = 0; var_index < var_to_features.size(); ++var_index) { // Only sample "active" variables if (var_to_features[var_index] != FeatureFloodCount::invalid_id) { auto feature_id = var_to_features[var_index]; mooseAssert(feature_id < num_features, "Feature ID out of range"); auto integral_value = computeIntegral(var_index); // Compute volumes in a simplistic but domain conservative fashion if (_single_feature_per_elem) { if (integral_value > max_var_value) { // Update the current dominant feature and associated value max_var_value = integral_value; dominant_feature_id = feature_id; } } // Solution based volume calculation (integral value) else _feature_volumes[feature_id] += integral_value; } } // Accumulate the entire element volume into the dominant feature. Do not use the integral value if (_single_feature_per_elem && dominant_feature_id != FeatureFloodCount::invalid_id) _feature_volumes[dominant_feature_id] += elem->volume(); }
void HomogenizedThermalConductivity::execute() { _integral_value += computeIntegral(); _volume += _current_elem_volume; }
void ElementIntegralUserObject::execute() { _integral_value += computeIntegral(); }
void SideIntegralUserObject::execute() { _integral_value += computeIntegral(); }
void ElementIntegralPostprocessor::execute() { _integral_value += computeIntegral(); }