Exemple #1
0
def thin_bladed_receiver(width, height, absorptivity, blades):
    """
    Constructs lambertian receiver consisting of thin blades.
    """
    front = Surface(RectPlateGM(width, height),opt.LambertianReceiver(absorptivity),location=r_[0.,width/-2.,0.],rotation=general_axis_rotation(r_[1,0,0],N.pi/2))
    n = 0
    front.axis = [1,0,0]
    front.tilt = N.pi/2
    crit_ls = []
    crit_ls.append(front)
    while n < blades:
	blade = Surface(RectPlateGM(width, height),opt.LambertianReceiver(absorptivity),location=r_[width/2-(n*width/(blades-1)),0.,0.],rotation=general_axis_rotation(r_[0,1,0],N.pi/-2))
	blade.number = n+1
	blade.axis = [0,1,0]
	blade.tilt = N.pi/2
	crit_ls.append(blade)
	n += 1
    rec_obj = AssembledObject(surfs=crit_ls)
    #obj.surfaces_for_next_iteration = types.MethodType(surfaces_for_next_iteration, obj, obj.__class__)
    return rec_obj, obj_ls, crit_ls