diff --git a/HW3/CMakeLists.txt b/HW3/CMakeLists.txt index e02cff2..4aa5c3c 100644 --- a/HW3/CMakeLists.txt +++ b/HW3/CMakeLists.txt @@ -1,4 +1,5 @@ cmake_minimum_required(VERSION 2.6) project(Series) add_subdirectory(homework3) +file(MAKE_DIRECTORY dumps) diff --git a/HW3/homework3/CMakeLists.txt b/HW3/homework3/CMakeLists.txt index 2e5b03b..be05199 100644 --- a/HW3/homework3/CMakeLists.txt +++ b/HW3/homework3/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 2.6) project(Series) add_subdirectory(src build) -file(MAKE_DIRECTORY ./build/dumps) + diff --git a/HW3/MaterialGeneartion.py b/HW3/homework3/MaterialGeneartion.py similarity index 70% copy from HW3/MaterialGeneartion.py copy to HW3/homework3/MaterialGeneartion.py index 81183f6..f5bb758 100644 --- a/HW3/MaterialGeneartion.py +++ b/HW3/homework3/MaterialGeneartion.py @@ -1,30 +1,24 @@ import numpy as np import argparse parser = argparse.ArgumentParser() -parser.add_argument("number", help="number of particles", type=int) +parser.add_argument("size", help="size of matrix", type=int) parser.add_argument("radius", help="radius of heat source", type=float) args = parser.parse_args() f=open("input.csv","w") radius=args.radius -NumP=args.number - -size=int(np.sqrt(NumP)) - -if(size*size!=NumP): - print("Size error") - quit() +size=args.size dx=2.0/(size-1) -for i in range(NumP): +for i in range(size*size): x=(i%size)*dx-1 y=int(i/size)*dx-1 temp=0 if((x*x+y*y)ij',np.ones(N),freqs) -freqs = freqs_2d**2 + freqs_2d.T**2 -freqs[0, 0] = 1. -T = np.fft.fft2(q)/freqs -T[0,0] = 0. -T = np.fft.ifft2(T) -f=open("output.csv","w") -D= T.real - -for i in range(N): - x=i - heatf=0 - if(i==N/4): - heatf=N - if(i==3*N/4): - heatf=-N - for j in range(N): - y=j - temp=T[i,j].real - #f.write("{:0.5f} {:0.5f} {:} {:} {:} {:} {:} {:} {:} {:} {:0.5f} {:0.5f} \n".format(x,y,0,0,0,0,0,0,0,0,temp,heatf)) - f.write("{:0.5f} \n".format(temp)) \ No newline at end of file