예제 #1
0
def densitySimulation(number=500,
                      rRatio=10**4,
                      p=1,
                      q=5 / 8,
                      mRatio=1,
                      qStar=.3,
                      m=1,
                      eta=0.1):
    """
	:param number: Number of cells to use. More means better resolution but slower run. Note cell size is on logarithmic scale.
	:param rRatio: Radius of the disk divided by the radius of the star
	:param p: Power law index of density. Between 1/2 and 2. Probably better modern estimates available
	:param q: Power law index of temperature/sound speed. Between 1/2 and 3/4
	:param mRatio: Mass of the disk divided by the mass of the star
	:param qStar: Toomre Q at the radius of the star
	:param m: Disk wave number, or mode
	:param eta: Gravity softening parameter
	:return:
	"""

    initParams = Params.InitialParameters(number, rRatio, p, q, mRatio, qStar,
                                          m, eta)
    derivedConstants = Params.DerivedConstants(initParams)
    analyticFunctions = Functions.AnalyticalFunctions(initParams,
                                                      derivedConstants)
    discreteFunctions = Functions.DiscreteFunctions(analyticFunctions)
    discreteFunctions.init()
    wMatrix = LinAl.WMatrix(discreteFunctions)
    wMatrix.init()
    eigenSolver = LinAl.EigenvalueSolver(wMatrix)
    eigenSolver.initEigen()

    print(eigenSolver.eigenvalues)
예제 #2
0
        print("all imag values:", str(imag))

    # plt.scatter(real[4:],img[4:])
    plt.scatter(real, imag)
    plt.grid(True)
    plt.xlabel("realpart")
    plt.ylabel("imagpart")
    plt.xlim(-10, 10)
    plt.ylim(-10, 10)
    plt.show()


iP = Params.InitialParameters(number=100)
dC = Params.DerivedConstants(iP)

anaFcts = Functions.AnalyticalFunctions(iP, dC)
dsctFcts = Functions.DiscreteFunctions(anaFcts)

dsctFcts.init()

wM = LinAl.WMatrix(dsctFcts)


def init():
    wM.initW0()
    wM.initW1()
    wM.initW2()
    wM.initW3()
    wM.initW4()
    wM.initW5()
    wM.initB14A()