In this version, the method of filling sparse matrix in dd solver is revised. However, the solution of dd solver are different with different mesh of the dd region. Working on this bug.

- CHG : split the method for filling sparse matrix into two parts The first part is filling the matrix with material property in initializing the solver, i.e. does not including the time dependent item of the coefficient matrix. The second part is filling the matrix considering the time dependent items, due to that in every simulation step the coefficient matrix is different. So the corresponding method in dd solver is revised.
- ENH : separate the initialization and preparation method of the dd solver. The former is called the first time the dd solver is constructed. The later is called when dd equation is solved at each simulation time step.
- NEW : add the method for refreshing the value of  matrix coefficient in the sparse matrix class.
- CHG : change the names of some methods
in this version, the boundary condition is re-considered. (fail to run)

- CHG : change the boundary condition consideration by adding normal vector to boundary condition
- NEW : add the class of normal vector in SctmMath
- CHG : change the method to set boundary condition of SimpleONO, but fails.
get the correct result for setting boundary condition of the structure, including two types of boundary conditions

- NEW : adopt new method to fill Potential (all layer) and eDensity (trapping layer) boundary conditions.
- CHG : move the overloading of operator in Direction Vector into the class itself using friend method.
Change the class of DirectionVector into VectorValue

- CHG : the normalization of vector is done in setting the boundary condition
- ENH : VectorValue can be utilized to store physical value of vertex