Work in progress
Implementing demand_list
This commit is contained in:
44
src/input1.c
44
src/input1.c
@@ -23,6 +23,8 @@ Last Updated: 04/03/2019
|
||||
|
||||
#include <math.h>
|
||||
|
||||
#include "demand.h"
|
||||
|
||||
#include "types.h"
|
||||
#include "funcs.h"
|
||||
#include "hash.h"
|
||||
@@ -220,9 +222,9 @@ void adjustdata(Project *pr)
|
||||
|
||||
int i;
|
||||
double ucf; // Unit conversion factor
|
||||
Pdemand demand; // Pointer to demand record
|
||||
//Pdemand demand; // Pointer to demand record
|
||||
Slink *link;
|
||||
Snode *node;
|
||||
//Snode *node;
|
||||
Stank *tank;
|
||||
|
||||
// Use 1 hr pattern & report time step if none specified
|
||||
@@ -330,16 +332,19 @@ void adjustdata(Project *pr)
|
||||
if (tank->Kb == MISSING) tank->Kb = qual->Kbulk;
|
||||
}
|
||||
|
||||
// Use default pattern if none assigned to a demand
|
||||
parser->DefPat = findpattern(net, parser->DefPatID);
|
||||
if (parser->DefPat > 0) for (i = 1; i <= net->Nnodes; i++)
|
||||
{
|
||||
node = &net->Node[i];
|
||||
for (demand = node->D; demand != NULL; demand = demand->next)
|
||||
{
|
||||
if (demand->Pat == 0) demand->Pat = parser->DefPat;
|
||||
}
|
||||
}
|
||||
// It is expensive to iterate over every demand at every node.
|
||||
// cheaper to apply default pattern when creating the demand data.
|
||||
|
||||
// // Use default pattern if none assigned to a demand
|
||||
// parser->DefPat = findpattern(net, parser->DefPatID);
|
||||
// if (parser->DefPat > 0) for (i = 1; i <= net->Nnodes; i++)
|
||||
// {
|
||||
// node = &net->Node[i];
|
||||
// for (demand = node->D; demand != NULL; demand = demand->next)
|
||||
// {
|
||||
// if (demand->Pat == 0) demand->Pat = parser->DefPat;
|
||||
// }
|
||||
// }
|
||||
|
||||
// Remove QUALITY as a reporting variable if no WQ analysis
|
||||
if (qual->Qualflag == NONE) rpt->Field[QUALITY].Enabled = FALSE;
|
||||
@@ -542,7 +547,7 @@ void convertunits(Project *pr)
|
||||
|
||||
int i, j, k;
|
||||
double ucf; // Unit conversion factor
|
||||
Pdemand demand; // Pointer to demand record
|
||||
//Pdemand demand; // Pointer to demand record
|
||||
Snode *node;
|
||||
Stank *tank;
|
||||
Slink *link;
|
||||
@@ -562,11 +567,16 @@ void convertunits(Project *pr)
|
||||
for (i = 1; i <= net->Njuncs; i++)
|
||||
{
|
||||
node = &net->Node[i];
|
||||
for (demand = node->D; demand != NULL; demand = demand->next)
|
||||
{
|
||||
demand->Base /= pr->Ucf[DEMAND];
|
||||
}
|
||||
list_t *dlist = node->D;
|
||||
for (list_node_t *lnode = first_list(dlist); done_list(lnode); lnode = next_list(lnode))
|
||||
convert_units(lnode, pr->Ucf[DEMAND]);
|
||||
|
||||
// for (demand = node->D; demand != NULL; demand = demand->next)
|
||||
// {
|
||||
// demand->Base /= pr->Ucf[DEMAND];
|
||||
// }
|
||||
}
|
||||
|
||||
hyd->Pmin /= pr->Ucf[PRESSURE];
|
||||
hyd->Preq /= pr->Ucf[PRESSURE];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user