def gen_balance_exps_codes(): m = B.transpose().dot(consLaw).dot(B) exp_m=mat_convert_to_exps(m); print "Start main matrix exp-----------------------------------------" print gen_array_code(exp_m) print "End main matrix exp--------------------------------------------" v=PHI.dot(volumnForce.transpose()) exp_v=vec_convert_to_exps(v) print "\nStart main vector exp---------------------------------------" print gen_array_code(exp_v) print "End main vector exp---------------------------------------------"
def gen_dirichlet_exps_codes(): m=PHI.dot(np.array([[penalty,0],[0,penalty]])).dot(PHI.transpose()) exps_m=mat_convert_to_exps(m) print "Start main matrix exp-----------------------------------------" print gen_array_code(exps_m) print "End main matrix exp--------------------------------------------" v=PHI.dot(np.array([[penalty,0],[0,penalty]])).dot(volumnForce.transpose()) exp_v=vec_convert_to_exps(v) print "\nStart main vector exp---------------------------------------" print gen_array_code(exp_v) print "End main vector exp---------------------------------------------"
def gen_dirichlet_exps_codes(): m = -Phi.dot(N.transpose()) v = -N.dot(u) size = 2 * (nodes_size + lag_size) exp_m = np.zeros((size, size), dtype=np.double) exp_v = np.zeros((size,), dtype=np.double) for j in xrange(m.shape[1]): exp_v[col_ids[j]] = v[j] for i in xrange(m.shape[0]): exp_m[row_ids[i], col_ids[j]] = m[i, j] exp_m[col_ids[j], row_ids[i]] = m[i, j] print "Start main matrix exp-----------------------------------------" print gen_array_code(exp_m) print "End main matrix exp--------------------------------------------" print "\nStart main vector exp---------------------------------------" print gen_array_code(exp_v) print "End main vector exp----------------------------"
row_ids[0::2] = nodesIds[:3] * 2 row_ids[1::2] = nodesIds[:3] * 2 + 1 col_ids[0::2] = nodesIds[3:] * 2 col_ids[1::2] = nodesIds[3:] * 2 + 1 nodes_size = 6 lag_size = 4 if __name__ == '__main__': # def gen_dirichlet_exps_codes(): m = -Phi.dot(N.transpose()) v = -N.dot(u) size = 2 * (nodes_size + lag_size) exp_m = np.zeros((size, size), dtype=np.double) exp_v = np.zeros((size,), dtype=np.double) for j in xrange(m.shape[1]): exp_v[col_ids[j]] = v[j] for i in xrange(m.shape[0]): exp_m[row_ids[i], col_ids[j]] = m[i, j] exp_m[col_ids[j], row_ids[i]] = m[i, j] print "Start main matrix exp-----------------------------------------" print gen_array_code(exp_m) print "End main matrix exp--------------------------------------------" print "\nStart main vector exp---------------------------------------" print gen_array_code(exp_v) print "End main vector exp----------------------------" # if __name__=="__main__": # gen_dirichlet_exps_codes()