
import femm
import numpy as np
import matplotlib.pyplot as plt

femm.openfemm()
femm.newdocument(1)
# 0 : magnetic, 1 : electrostatic, 2 ; heat flow, 3 : current flow
femm.ei_probdef('millimeters', 'planar', 1.0e-8, 0, 30);
# unit, type ('planar' ou 'axi'), precision, depth, minangle
            
femm.ei_addmaterial('air',1,1,0)
femm.ei_addmaterial('metal',1,1,0)
                 
lamb = 1e-14
femm.ei_addconductorprop('v1',0,lamb,0)
femm.ei_addconductorprop('v2',0,-lamb,0)    
                  
h = 10 
R = 5
R1 = 200

femm.ei_drawarc(R,h,-R,h,180,1)
femm.ei_drawarc(-R,h,R,h,180,1)
femm.ei_drawarc(R,-h,-R,-h,180,1)
femm.ei_drawarc(-R,-h,R,-h,180,1)
                  
femm.ei_addblocklabel(0,h)
femm.ei_addblocklabel(0,-h)
femm.ei_selectlabel(0,h)
femm.ei_selectlabel(0,-h)
femm.ei_setblockprop('metal',0,1,0)
femm.ei_clearselected()
femm.ei_addblocklabel(0,0)
femm.ei_selectlabel(0,0)
femm.ei_setblockprop('air',0,1,0)
femm.ei_clearselected()
                  
femm.ei_selectarcsegment(0,h-R)
femm.ei_selectarcsegment(0,h+R)
femm.ei_setarcsegmentprop(180,'<None>',0,0,'v1')
femm.ei_clearselected()

femm.ei_selectarcsegment(0,-h-R)
femm.ei_selectarcsegment(0,-h+R)
femm.ei_setarcsegmentprop(180,'<None>',0,0,'v2')
femm.ei_clearselected() 
                  
femm.ei_makeABC(5,R1,0,0,0)  
                    
femm.ei_zoomnatural()
femm.ei_saveas('deuxCylindres.fee')
femm.ei_analyze()
femm.ei_loadsolution()     
                    
femm.eo_hidedensityplot()
femm.eo_showcontourplot(30,-0.5,0.5)
                   
input("?")
femm.closefemm()
                   