def __init__(self, domain, losses, width, height=None, z1=None, z2=None, blockage=0.0, barrels=1.0, end_points=None, exchange_lines=None, enquiry_points=None, invert_elevations=None, #culvert_slope=None, apron=0.1, manning=0.013, enquiry_gap=0.0, smoothing_timescale=0.0, use_momentum_jet=True, use_velocity_head=True, description=None, label=None, structure_type='weir_orifice_trapezoid', logging=False, verbose=False, master_proc = 0, procs = None, inlet_master_proc = [0,0], inlet_procs = None, enquiry_proc = [0,0]): Parallel_Structure_operator.__init__(self, domain=domain, end_points=end_points, exchange_lines=exchange_lines, enquiry_points=enquiry_points, invert_elevations=invert_elevations, width=width, height=height, blockage=blockage, barrels=barrels, z1=z1, z2=z2, #culvert_slope=culvert_slope, diameter= None, apron=apron, manning=manning, enquiry_gap=enquiry_gap, use_momentum_jet=use_momentum_jet, zero_outflow_momentum=(not use_momentum_jet), use_old_momentum_method=True, always_use_Q_wetdry_adjustment=True, force_constant_inlet_elevations=False, description=description, label=label, structure_type=structure_type, logging=logging, verbose=verbose, master_proc=master_proc, procs=procs, inlet_master_proc=inlet_master_proc, inlet_procs=inlet_procs, enquiry_proc=enquiry_proc) if isinstance(losses, dict): self.sum_loss = sum(losses.values()) elif isinstance(losses, list): self.sum_loss = sum(losses) else: self.sum_loss = losses self.use_momentum_jet = use_momentum_jet self.zero_outflow_momentum = (not use_momentum_jet) self.use_old_momentum_method = True self.use_velocity_head = use_velocity_head self.culvert_length = self.get_culvert_length() self.culvert_width = self.get_culvert_width() self.culvert_height = self.get_culvert_height() self.culvert_blockage = self.get_culvert_blockage() self.culvert_barrels = self.get_culvert_barrels() #self.culvert_slope = self.get_culvert_slope() self.culvert_z1 = self.get_culvert_z1() self.culvert_z2 = self.get_culvert_z2() self.max_velocity = 10.0 self.inlets = self.get_inlets() # Stats self.discharge = 0.0 self.velocity = 0.0 self.case = 'N/A' self.domain=domain # May/June 2014 -- allow 'smoothing ' of driving_energy, delta total energy, and outflow_enq_depth self.smoothing_timescale=0. self.smooth_delta_total_energy=0. self.smooth_Q=0. # Set them based on a call to the discharge routine with smoothing_timescale=0. # [values of self.smooth_* are required in discharge_routine, hence dummy values above] Qvd=self.discharge_routine() self.smooth_delta_total_energy=1.0*self.delta_total_energy self.smooth_Q=Qvd[0] # Finally, set the smoothing timescale we actually want self.smoothing_timescale=smoothing_timescale '''
def __init__(self, domain, losses, diameter, blockage=0.0, barrels=1.0, z1=0.0, z2=0.0, #height=None, end_points=None, exchange_lines=None, enquiry_points=None, invert_elevations=None, apron=0.1, manning=0.013, enquiry_gap=0.0, smoothing_timescale=0.0, use_momentum_jet=True, use_velocity_head=True, description=None, label=None, structure_type='boyd_pipe', logging=False, verbose=False, master_proc = 0, procs = None, inlet_master_proc = [0,0], inlet_procs = None, enquiry_proc = [0,0]): Parallel_Structure_operator.__init__(self, domain=domain, end_points=end_points, exchange_lines=exchange_lines, enquiry_points=enquiry_points, invert_elevations=invert_elevations, width=None, height=None, diameter=diameter, blockage=blockage, barrels=barrels, z1=0.0, z2=0.0, apron=apron, manning=manning, enquiry_gap=enquiry_gap, use_momentum_jet=use_momentum_jet, zero_outflow_momentum=(not use_momentum_jet), use_old_momentum_method=True, always_use_Q_wetdry_adjustment=True, force_constant_inlet_elevations=False, description=description, label=label, structure_type=structure_type, logging=logging, verbose=verbose, master_proc=master_proc, procs=procs, inlet_master_proc=inlet_master_proc, inlet_procs=inlet_procs, enquiry_proc=enquiry_proc) if isinstance(losses, dict): self.sum_loss = sum(losses.values()) elif isinstance(losses, list): self.sum_loss = sum(losses) else: self.sum_loss = losses self.use_momentum_jet = use_momentum_jet self.zero_outflow_momentum = (not use_momentum_jet) self.use_old_momentum_method = True self.use_velocity_head = use_velocity_head self.culvert_length = self.get_culvert_length() self.culvert_width = self.get_culvert_width() self.culvert_height = self.get_culvert_height() self.culvert_diameter = self.get_culvert_diameter() self.culvert_blockage = self.get_culvert_blockage() self.culvert_barrels = self.get_culvert_barrels() self.max_velocity = 10.0 self.inlets = self.get_inlets() # Stats self.discharge = 0.0 self.velocity = 0.0 self.case = 'N/A' print 80*'=' print "DON'T USE BOYD PIPES AS ALGORITHM NOT VERIFIED YET" # May/June 2014 -- allow 'smoothing ' of driving_energy, delta total energy, and outflow_enq_depth self.smoothing_timescale=0. self.smooth_delta_total_energy=0. self.smooth_Q=0. # Set them based on a call to the discharge routine with smoothing_timescale=0. # [values of self.smooth_* are required in discharge_routine, hence dummy values above] Qvd=self.discharge_routine() self.smooth_delta_total_energy=1.0*self.delta_total_energy self.smooth_Q=Qvd[0] # Finally, set the smoothing timescale we actually want self.smoothing_timescale=smoothing_timescale '''
def __init__(self, domain, losses, width, height=None, z1=None, z2=None, end_points=None, exchange_lines=None, enquiry_points=None, invert_elevations=None, apron=0.1, manning=0.013, enquiry_gap=0.0, use_momentum_jet=True, use_velocity_head=True, description=None, label=None, structure_type='weir_orifice_trapezoid', logging=False, verbose=False, master_proc=0, procs=None, inlet_master_proc=[0, 0], inlet_procs=None, enquiry_proc=[0, 0]): Parallel_Structure_operator.__init__( self, domain=domain, end_points=end_points, exchange_lines=exchange_lines, enquiry_points=enquiry_points, invert_elevations=invert_elevations, width=width, height=height, z1=z1, z2=z2, diameter=None, apron=apron, manning=manning, enquiry_gap=enquiry_gap, use_momentum_jet=use_momentum_jet, zero_outflow_momentum=(not use_momentum_jet), use_old_momentum_method=True, always_use_Q_wetdry_adjustment=True, force_constant_inlet_elevations=False, description=description, label=label, structure_type=structure_type, logging=logging, verbose=verbose, master_proc=master_proc, procs=procs, inlet_master_proc=inlet_master_proc, inlet_procs=inlet_procs, enquiry_proc=enquiry_proc) if isinstance(losses, dict): self.sum_loss = sum(losses.values()) elif isinstance(losses, list): self.sum_loss = sum(losses) else: self.sum_loss = losses self.use_momentum_jet = use_momentum_jet self.zero_outflow_momentum = (not use_momentum_jet) self.use_old_momentum_method = True self.use_velocity_head = use_velocity_head self.culvert_length = self.get_culvert_length() self.culvert_width = self.get_culvert_width() self.culvert_height = self.get_culvert_height() self.culvert_z1 = self.get_culvert_z1() self.culvert_z2 = self.get_culvert_z2() self.max_velocity = 10.0 self.inlets = self.get_inlets() # Stats self.discharge = 0.0 self.velocity = 0.0 self.case = 'N/A' '''
def __init__(self, domain, losses, width, height=None, z1=None, z2=None, end_points=None, exchange_lines=None, enquiry_points=None, invert_elevations=None, apron=0.1, manning=0.013, enquiry_gap=0.0, use_momentum_jet=True, use_velocity_head=True, description=None, label=None, structure_type='weir_orifice_trapezoid', logging=False, verbose=False, master_proc = 0, procs = None, inlet_master_proc = [0,0], inlet_procs = None, enquiry_proc = [0,0]): Parallel_Structure_operator.__init__(self, domain=domain, end_points=end_points, exchange_lines=exchange_lines, enquiry_points=enquiry_points, invert_elevations=invert_elevations, width=width, height=height, z1=z1, z2=z2, diameter= None, apron=apron, manning=manning, enquiry_gap=enquiry_gap, use_momentum_jet=use_momentum_jet, zero_outflow_momentum=(not use_momentum_jet), use_old_momentum_method=True, always_use_Q_wetdry_adjustment=True, force_constant_inlet_elevations=False, description=description, label=label, structure_type=structure_type, logging=logging, verbose=verbose, master_proc=master_proc, procs=procs, inlet_master_proc=inlet_master_proc, inlet_procs=inlet_procs, enquiry_proc=enquiry_proc) if isinstance(losses, dict): self.sum_loss = sum(losses.values()) elif isinstance(losses, list): self.sum_loss = sum(losses) else: self.sum_loss = losses self.use_momentum_jet = use_momentum_jet self.zero_outflow_momentum = (not use_momentum_jet) self.use_old_momentum_method = True self.use_velocity_head = use_velocity_head self.culvert_length = self.get_culvert_length() self.culvert_width = self.get_culvert_width() self.culvert_height = self.get_culvert_height() self.culvert_z1 = self.get_culvert_z1() self.culvert_z2 = self.get_culvert_z2() self.max_velocity = 10.0 self.inlets = self.get_inlets() # Stats self.discharge = 0.0 self.velocity = 0.0 self.case = 'N/A' '''
def __init__(self, domain, losses, diameter, blockage=0.0, z1=0.0, z2=0.0, end_points=None, exchange_lines=None, enquiry_points=None, invert_elevations=None, apron=0.1, manning=0.013, enquiry_gap=0.0, use_momentum_jet=True, use_velocity_head=True, description=None, label=None, structure_type='boyd_pipe', logging=False, verbose=False, master_proc=0, procs=None, inlet_master_proc=[0, 0], inlet_procs=None, enquiry_proc=[0, 0]): Parallel_Structure_operator.__init__( self, domain=domain, end_points=end_points, exchange_lines=exchange_lines, enquiry_points=enquiry_points, invert_elevations=invert_elevations, width=None, height=None, diameter=diameter, blockage=blockage, z1=0.0, z2=0.0, apron=apron, manning=manning, enquiry_gap=enquiry_gap, use_momentum_jet=use_momentum_jet, zero_outflow_momentum=(not use_momentum_jet), use_old_momentum_method=True, always_use_Q_wetdry_adjustment=True, force_constant_inlet_elevations=False, description=description, label=label, structure_type=structure_type, logging=logging, verbose=verbose, master_proc=master_proc, procs=procs, inlet_master_proc=inlet_master_proc, inlet_procs=inlet_procs, enquiry_proc=enquiry_proc) if isinstance(losses, dict): self.sum_loss = sum(losses.values()) elif isinstance(losses, list): self.sum_loss = sum(losses) else: self.sum_loss = losses self.use_momentum_jet = use_momentum_jet self.zero_outflow_momentum = (not use_momentum_jet) self.use_old_momentum_method = True self.use_velocity_head = use_velocity_head self.culvert_length = self.get_culvert_length() self.culvert_width = self.get_culvert_width() self.culvert_height = self.get_culvert_height() self.culvert_diameter = self.get_culvert_diameter() self.culvert_blockage = self.get_culvert_blockage() self.max_velocity = 10.0 self.inlets = self.get_inlets() # Stats self.discharge = 0.0 self.velocity = 0.0 self.case = 'N/A' print 80 * '=' print "DON'T USE BOYD PIPES AS ALGORITHM NOT VERIFIED YET" '''
def __init__(self, domain, internal_boundary_function, width=1., height=1., end_points=None, exchange_lines=None, enquiry_points=None, invert_elevation=None, apron=0.0, enquiry_gap=0.0, use_velocity_head=False, zero_outflow_momentum=False, force_constant_inlet_elevations=True, smoothing_timescale=0.0, compute_discharge_implicitly=True, description=None, label=None, structure_type='internal_boundary', logging=False, verbose=True, master_proc = 0, procs = None, inlet_master_proc = [0,0], inlet_procs = None, enquiry_proc = [0,0]): if verbose: print '########################################' print 'PARALLEL INTERNAL BOUNDARY OPERATOR' print 'THIS IS EXPERIMENTAL' print 'SUBJECT TO CHANGE WITHOUT NOTICE' print '########################################' # Since no barrel_velocity is computed we cannot use_momentum_jet use_momentum_jet = False Parallel_Structure_operator.__init__(self, domain=domain, end_points=end_points, exchange_lines=exchange_lines, enquiry_points=enquiry_points, invert_elevations=[invert_elevation,invert_elevation], width=width, height=height, z1=0.0, z2=0.0, diameter= None, apron=apron, manning=None, enquiry_gap=enquiry_gap, use_momentum_jet=use_momentum_jet, zero_outflow_momentum=zero_outflow_momentum, use_old_momentum_method=False, always_use_Q_wetdry_adjustment=False, force_constant_inlet_elevations=force_constant_inlet_elevations, description=description, label=label, structure_type=structure_type, logging=logging, verbose=verbose, master_proc=master_proc, procs=procs, inlet_master_proc=inlet_master_proc, inlet_procs=inlet_procs, enquiry_proc=enquiry_proc) self.internal_boundary_function = internal_boundary_function self.use_momentum_jet = use_momentum_jet self.use_velocity_head = use_velocity_head self.zero_outflow_momentum = zero_outflow_momentum self.compute_discharge_implicitly = compute_discharge_implicitly #FIXME SR: Why is this hard coded! self.max_velocity = 99999999999.0 self.inlets = self.get_inlets() # Stats self.discharge = 0.0 self.velocity = 0.0 self.case = 'N/A' self.driving_energy = 0.0 self.delta_total_energy = 0.0 # Allow 'smoothing ' of discharge self.smoothing_timescale = 0. self.smooth_Q = 0. self.smooth_delta_total_energy = 0. # Set them based on a call to the discharge routine with smoothing_timescale=0. # [values of self.smooth_* are required in discharge_routine, hence dummy values above] Qvd = self.discharge_routine() self.smooth_Q = Qvd[0] # Finally, set the smoothing timescale we actually want self.smoothing_timescale = smoothing_timescale
def __init__(self, domain, internal_boundary_function, width=1., height=1., end_points=None, exchange_lines=None, enquiry_points=None, invert_elevation=None, apron=0.0, enquiry_gap=0.0, use_velocity_head=False, zero_outflow_momentum=False, force_constant_inlet_elevations=True, smoothing_timescale=0.0, compute_discharge_implicitly=True, description=None, label=None, structure_type='internal_boundary', logging=False, verbose=True, master_proc=0, procs=None, inlet_master_proc=[0, 0], inlet_procs=None, enquiry_proc=[0, 0]): if verbose: print '########################################' print 'PARALLEL INTERNAL BOUNDARY OPERATOR' print 'THIS IS EXPERIMENTAL' print 'SUBJECT TO CHANGE WITHOUT NOTICE' print '########################################' # Since no barrel_velocity is computed we cannot use_momentum_jet use_momentum_jet = False Parallel_Structure_operator.__init__( self, domain=domain, end_points=end_points, exchange_lines=exchange_lines, enquiry_points=enquiry_points, invert_elevations=[invert_elevation, invert_elevation], width=width, height=height, z1=0.0, z2=0.0, diameter=None, apron=apron, manning=None, enquiry_gap=enquiry_gap, use_momentum_jet=use_momentum_jet, zero_outflow_momentum=zero_outflow_momentum, use_old_momentum_method=False, always_use_Q_wetdry_adjustment=False, force_constant_inlet_elevations=force_constant_inlet_elevations, description=description, label=label, structure_type=structure_type, logging=logging, verbose=verbose, master_proc=master_proc, procs=procs, inlet_master_proc=inlet_master_proc, inlet_procs=inlet_procs, enquiry_proc=enquiry_proc) self.internal_boundary_function = internal_boundary_function self.use_momentum_jet = use_momentum_jet self.use_velocity_head = use_velocity_head self.zero_outflow_momentum = zero_outflow_momentum self.compute_discharge_implicitly = compute_discharge_implicitly #FIXME SR: Why is this hard coded! self.max_velocity = 99999999999.0 self.inlets = self.get_inlets() # Stats self.discharge = 0.0 self.velocity = 0.0 self.case = 'N/A' self.driving_energy = 0.0 self.delta_total_energy = 0.0 # Allow 'smoothing ' of discharge self.smoothing_timescale = 0. self.smooth_Q = 0. self.smooth_delta_total_energy = 0. # Set them based on a call to the discharge routine with smoothing_timescale=0. # [values of self.smooth_* are required in discharge_routine, hence dummy values above] Qvd = self.discharge_routine() self.smooth_Q = Qvd[0] # Finally, set the smoothing timescale we actually want self.smoothing_timescale = smoothing_timescale
def __init__(self, domain, losses, diameter, blockage=0.0, # added by DPM 24/7/2016 z1=0.0, z2=0.0, end_points=None, exchange_lines=None, enquiry_points=None, invert_elevations=None, apron=0.1, manning=0.013, enquiry_gap=0.0, use_momentum_jet=True, use_velocity_head=True, description=None, label=None, structure_type='boyd_pipe', logging=False, verbose=False, master_proc = 0, procs = None, inlet_master_proc = [0,0], inlet_procs = None, enquiry_proc = [0,0]): Parallel_Structure_operator.__init__(self, domain=domain, end_points=end_points, exchange_lines=exchange_lines, enquiry_points=enquiry_points, invert_elevations=invert_elevations, width=None, height=None, diameter=diameter, blockage=0.0, #added DPM 24/7/2016 z1=0.0, z2=0.0, apron=apron, manning=manning, enquiry_gap=enquiry_gap, use_momentum_jet=use_momentum_jet, zero_outflow_momentum=(not use_momentum_jet), use_old_momentum_method=True, always_use_Q_wetdry_adjustment=True, force_constant_inlet_elevations=False, description=description, label=label, structure_type=structure_type, logging=logging, verbose=verbose, master_proc=master_proc, procs=procs, inlet_master_proc=inlet_master_proc, inlet_procs=inlet_procs, enquiry_proc=enquiry_proc) if isinstance(losses, dict): self.sum_loss = sum(losses.values()) elif isinstance(losses, list): self.sum_loss = sum(losses) else: self.sum_loss = losses self.use_momentum_jet = use_momentum_jet self.zero_outflow_momentum = (not use_momentum_jet) self.use_old_momentum_method = True self.use_velocity_head = use_velocity_head self.culvert_length = self.get_culvert_length() self.culvert_width = self.get_culvert_width() self.culvert_height = self.get_culvert_height() self.culvert_diameter = self.get_culvert_diameter() self.culvert_blockage = self.get_culvert_blockage()#added PM 24/7/2016 self.max_velocity = 10.0 self.inlets = self.get_inlets() # Stats self.discharge = 0.0 self.velocity = 0.0 self.case = 'N/A' print 80*'=' print "DON'T USE BOYD PIPES AS ALGORITHM NOT VERIFIED YET" '''