OOFEM 3.0
Loading...
Searching...
No Matches
wallclockloadbalancermonitor.h
Go to the documentation of this file.
1/*
2 *
3 * ##### ##### ###### ###### ### ###
4 * ## ## ## ## ## ## ## ### ##
5 * ## ## ## ## #### #### ## # ##
6 * ## ## ## ## ## ## ## ##
7 * ## ## ## ## ## ## ## ##
8 * ##### ##### ## ###### ## ##
9 *
10 *
11 * OOFEM : Object Oriented Finite Element Code
12 *
13 * Copyright (C) 1993 - 2025 Borek Patzak
14 *
15 *
16 *
17 * Czech Technical University, Faculty of Civil Engineering,
18 * Department of Structural Mechanics, 166 29 Prague, Czech Republic
19 *
20 * This library is free software; you can redistribute it and/or
21 * modify it under the terms of the GNU Lesser General Public
22 * License as published by the Free Software Foundation; either
23 * version 2.1 of the License, or (at your option) any later version.
24 *
25 * This program is distributed in the hope that it will be useful,
26 * but WITHOUT ANY WARRANTY; without even the implied warranty of
27 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
28 * Lesser General Public License for more details.
29 *
30 * You should have received a copy of the GNU Lesser General Public
31 * License along with this library; if not, write to the Free Software
32 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
33 */
34
35#ifndef wallclockloadbalancer_h
36#define wallclockloadbalancer_h
37
38#include "loadbalancer.h"
39
40#define __LB_DEBUG
41#ifdef __LB_DEBUG
42 #include <list>
43 #include "range.h"
44 #include "intarray.h"
45 #include "floatarray.h"
46#endif
47
49
50#define _IFT_WallClockLoadBalancerMonitor_Name "wallclock"
51#define _IFT_WallClockLoadBalancerMonitor_relwct "relwct"
52#define _IFT_WallClockLoadBalancerMonitor_abswct "abswct"
53#define _IFT_WallClockLoadBalancerMonitor_minwct "minwct"
54#define _IFT_WallClockLoadBalancerMonitor_lbstep "lbstep"
55#define _IFT_WallClockLoadBalancerMonitor_perturbedsteps "lbperturbedsteps"
56#define _IFT_WallClockLoadBalancerMonitor_perturbfactor "lbperturbfactor"
57#define _IFT_WallClockLoadBalancerMonitor_recoveredsteps "lbrecoveredsteps"
58#define _IFT_WallClockLoadBalancerMonitor_processingweights "lbprocessingweights"
60
61namespace oofem {
62
70{
71protected:
75 int lbstep;
76 #ifdef __LB_DEBUG
78 std :: list< Range >perturbedSteps;
85 #endif
86public:
94
95 LoadBalancerDecisionType decide(TimeStep *) override;
96
97 void initializeFrom(InputRecord &ir) override;
98
99 const char *giveClassName() const override { return "WallClockLoadBalancerMonitor"; }
100};
101
102} // end namespace oofem
103#endif //wallclockloadbalancer_h
LoadBalancerMonitor(EngngModel *em)
const char * giveClassName() const override
Returns class name of the receiver.
double relWallClockImbalanceTreshold
Declares min abs imbalance to perform relative imbalance check.
std ::list< Range > perturbedSteps
List of steps with perturbed balancing.
int lbstep
The rebalancing done every lbstep.
IntArray recoveredSteps
list of step at which to performed lb recovery.
FloatArray processingWeights
processing weights for lb recovery.
#define OOFEM_EXPORT
Definition oofemcfg.h:7

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011