public void loadData() {
		int nsquare = 81;
		int kkp_end = 738;
		int fe_end = 1476;
		int pos_n = fe_end * (fe_end + 1) / 2;
		
		BufferedInputStream bis = null;
		try {
			bis = new BufferedInputStream(new FileInputStream("src/main/resources/data/fv.bin"));
			byte[] buffer;
			ByteBuffer bb;
			
			// load KPP
			kpp = new short[nsquare][pos_n];
			buffer = new byte[nsquare * pos_n * 2];
			bis.read(buffer);			
			bb = ByteBuffer.wrap(buffer);
			bb.order(ByteOrder.LITTLE_ENDIAN);
			for (int i = 0; i < nsquare; i++) {
				for (int j = 0; j < pos_n; j++) {
					kpp[i][j] = bb.getShort();
				}
			}
			
			// load KKP
			kkp = new short[nsquare][nsquare][kkp_end];
			buffer = new byte[nsquare * nsquare * kkp_end * 2];
			bis.read(buffer);
			bb = ByteBuffer.wrap(buffer);
			bb.order(ByteOrder.LITTLE_ENDIAN);
			for (int i = 0; i < nsquare; i++) {
				for (int j = 0; j < nsquare; j++) {
					for (int k = 0; k < kkp_end; k++) {
						kkp[i][j][k] = bb.getShort();
					}
				}
			}
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if (bis != null) {
					bis.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}