lib_path = os.path.abspath('..') sys.path.append(lib_path) from Classes import Simulation from Interpreter import Interpreter from Solver import Solver from write import write_vtk, write_solver_input import matplotlib.pyplot as plt from matplotlib import rc filename = 'unit_cell_1-02_two_reg' write_solver_input(filename +'.msh',dimension = 2, bc_type = 'Bloch', \ parameter = [], eq = 'EM', sol_type = 'Stationary',analysis_param \ = ['y', 'y', 15, 15, 21, 21, 5], bc_filename = filename +'_guide.bc') simu = Simulation() simu.read_solver_input(filename +'.msh') simu.domain.read_mesh_file(filename +'.msh',simu) inter = Interpreter(vectorial = True) eq = inter.build_EM_bloch_eq(simu) my_solver = Solver() k_coords, energy = my_solver.solve_bloch_Brillouin(simu, eq) fig = plt.figure() ax = fig.add_subplot(111) plt.title("Dispersion relations for Square lattice") k_div = k_coords.shape[0]/3 from numpy import sqrt, around print max(energy[:,-1]) for i in range(energy.shape[1]):
from numpy import zeros filename = "finite_lattice_all_inclusions" write_solver_input( filename + ".msh", dimension=2, bc_type="Dir", parameter=[], eq="EM", sol_type="Stationary", analysis_param=["y", "y", 15, 15, 20, 20, 2], bc_filename=filename + ".bc", ) simu = Simulation() simu.read_solver_input(filename + ".msh") simu.domain.read_mesh_file(filename + ".msh", True) simu.domain.read_bc_file(simu.bc_filename) reg_filename = simu.bc_filename.split(".bc")[0] simu.domain.read_regions_file(reg_filename) inter = Interpreter() eq = inter.build_harmonic_EM_eq(simu) g = eq["sol_vec"] my_solver = Solver() value, fields = my_solver.solve_spectral(simu, eq) print len(fields), "value", sqrt(value) quads = my_solver.substract_1(simu.domain.elements.quads.el_set) quads = quads[:, 1:]
Created on Tue Mar 19 11:31:57 2013 @author: santiago """ from Classes import Simulation from Interpreter import Interpreter from Solver import Solver from write import write_vtk, write_solver_input write_solver_input('two_cylinders.msh',dimension = 2, bc_type = 'Dir', \ parameter = [], eq = 'Harm_Elec', sol_type = 'Stationary',analysis_param \ = ['y', 'y', 4, 4, 20, 20, 2], bc_filename = 'two_cylinders2.bc') simu = Simulation() simu.read_solver_input('two_cylinders.msh') simu.domain.read_mesh_file('two_cylinders.msh', True) inter = Interpreter() eq = inter.build_static_EM_eq(simu) g = eq['sol_vec'] my_solver = Solver() fields = my_solver.solve_stationary(simu, eq) quads = my_solver.substract_1(simu.domain.elements.quads.el_set) quads = quads[:,1:] from numpy import zeros field3 = zeros((simu.domain.nodes.n,3)) field3[:,0:2] = fields fields = field3
@author: santiago """ from Classes import Simulation from Interpreter import Interpreter from Solver import Solver from write import write_vtk, write_solver_input write_solver_input('whole_cylinder.msh',dimension = 2, bc_type = 'Dir', \ parameter = [], eq = 'Harm_Elec', sol_type = 'Stationary',analysis_param \ = ['y', 'y', 4, 4, 20, 20, 2], bc_filename = 'whole_cylinder.bc') simu = Simulation() simu.read_solver_input('whole_cylinder.msh') simu.domain.read_mesh_file('whole_cylinder.msh', True) inter = Interpreter() eq = inter.build_static_EM_eq(simu) g = eq['sol_vec'] my_solver = Solver() fields = my_solver.solve_stationary(simu, eq) quads = my_solver.substract_1(simu.domain.elements.quads.el_set) quads = quads[:,1:] from numpy import zeros field3 = zeros((simu.domain.nodes.n,3)) field3[:,0:2] = fields fields = field3
Created on Tue Mar 19 11:31:57 2013 @author: santiago """ from Classes import Simulation from Interpreter import Interpreter from Solver import Solver from write import write_vtk, write_solver_input write_solver_input('square8_cap.msh',dimension = 2, bc_type = 'Dir', \ parameter = [], eq = 'Harm_Elec', sol_type = 'Stationary',analysis_param \ = ['y', 'y', 4, 4, 20, 20, 2], bc_filename = 'square.bc') simu = Simulation() simu.read_solver_input('square8_cap.msh') simu.domain.read_mesh_file('square8_cap.msh',simu) inter = Interpreter() eq = inter.build_static_EM_eq(simu) my_solver = Solver() fields = my_solver.solve_stationary(simu, eq) quads = my_solver.substract_1(simu.domain.elements.quads.el_set) quads = quads[:,1:] from numpy import zeros field3 = zeros((simu.domain.nodes.n,3)) field3[:,0:2] = fields fields = field3 write_vtk('newman_cap'+'.vtk', 'MyTitle', 'UNSTRUCTURED_GRID' ,simu.domain.nodes.coords,\ quads, ['VECTORS', ['sol'], [fields]])