Ejemplo n.º 1
0
Archivo: EoS.cpp Proyecto: fixinf/RMF
	double func_f_eq_hyper(double f, void * params){
		struct func_f_eq_multi_params *p = (struct func_f_eq_multi_params *) params;
		set_const * C = p->C;
		std::vector<double> n_small = p->n;
		vec n;
		
		double dx = 1e-6;
		return (t_E(n, f + dx, C) - t_E(n, f - dx, C)) / (2 * dx);
	}
Ejemplo n.º 2
0
Archivo: EoS.cpp Proyecto: fixinf/RMF
	double func_f_eq_multi(double f, void * params){
		struct func_f_eq_multi_params *p = (struct func_f_eq_multi_params *) params;
		set_const * C = p->C;
		std::vector<double> n = p->n;
		double dx = 1e-6;
		//return (t_E(n, f + dx, C) - t_E(n, f - dx, C)) / (2 * dx);
		double res = (t_E(n, f + dx, C) - t_E(n, f, C)) / (dx);
		//printf("res=%f \n", res);
		return res;
	}
Ejemplo n.º 3
0
Archivo: EoS.cpp Proyecto: fixinf/RMF
	double func_f_eq(double f, void * params) {
		struct func_f_eq_params *p = (struct func_f_eq_params *) params;
		double nn = p->nn;
		double np = p->np;
		set_const * C = p->C;
		double dx = 1e-6;
		double res = (t_E(nn, np, f + dx, C) - t_E(nn, np, f, C)) / (dx);
		//printf("\n Cs = %f, Co = %f, b = %f, c = %f \n", C->C_s, C->C_o, C->b, C->c);
		//printf("f = %f, nn = %f, np = %f, res = %f \n", f, nn, np, res);
		return res;
	}
Ejemplo n.º 4
0
Archivo: EoS.cpp Proyecto: fixinf/RMF
	double mu(int i, vec n, set_const * C){
		double f = f_eq(n, C);
		double dn = 1e-7;
		double E_p, E_m, E_s;
		//mu_n
		double mu;
		n[i] = n[i] + dn;
		E_p = t_E(n, f, C);
		n[i] = n[i] - dn;
		E_m = t_E(n, f, C);
		n[i] = n[i] + 2*dn;
		double E_pp = t_E(n, f, C);
		mu = (-3*E_m + 4*E_p - E_pp) / (D * 2 * dn);
		return mu;
	}
Ejemplo n.º 5
0
Archivo: EoS.cpp Proyecto: fixinf/RMF
	double t_E(double nn, double np, set_const * C) {
		double f = f_eq(nn, np, C);
		double res = t_E(nn, np, f, C);

		double me = m_e;

		double pf_e = 0;
		if (pow(mu_e(nn + np, np, f, C), 2.0) - me*me >= 0){
			pf_e = sqrt(pow(mu_e(nn + np, np, f, C), 2.0) - me*me);
		}

		if (np != 0.0){
			res += KineticIntegral(pf_e, m_e, C);
		}

		double mmu = m_mu;
		double pf_mu = 0;
		if (pow(mu_e(nn + np, np, f, C), 2.0) - mmu*mmu >= 0){
			pf_mu = sqrt(pow(mu_e(nn + np, np, f, C), 2.0) - mmu*mmu);
		}

		if (np != 0.0){
			res += KineticIntegral(pf_mu, m_mu, C);
		}

		return res;

	}
Ejemplo n.º 6
0
Archivo: EoS.cpp Proyecto: fixinf/RMF
	double E(double n, set_const * C){
		vec n_ext;
 		double np = np_eq(n, n_ext, C);
		vec _n;
		_n.push_back(n - np);
		_n.push_back(np);
		//double f = f_eq(_n, C);
		//return t_E(n - np, np, f, C);
		//printf("n = %.18f, np = %.18f, feq = %.18f \n",n , np, f);
 		return t_E(n - np, np, C);

		//return 0;
	}
Ejemplo n.º 7
0
Archivo: EoS.cpp Proyecto: fixinf/RMF
	double mu_e(double n, double np, double f, set_const * C) {
		double res = pow(C->C_r, 2.0) * D *(n - 2.0 * np) / (2.0 * m_n *m_n* C->eta_r(f));
		res -= sqrt(pow(m_n * C->phi_n(f), 2.0) + pow(p_f(np), 2.0));
		res += sqrt(pow(m_n * C->phi_n(f), 2.0) + pow(p_f(n - np), 2.0));
		double dn = 1e-6;
		if (dn > np){
			dn = np / 2.0;
		}
		double mu_n = (t_E(n - np - 2 * dn, np, f, C) - 8 * t_E(n - np - dn, np, f, C) +
			8 * t_E(n - np + dn, np, f, C) - t_E(n - np + 2 * dn, np, f, C)) / (12 * D * dn);
		double mu_p = (t_E(n - np, np - 2 * dn, f, C) - 8 * t_E(n - np, np - dn, f, C) +
			8 * t_E(n - np, np + dn, f, C) - t_E(n - np, np + 2 * dn, f, C)) / (12 * D * dn);
		double res2 = mu_n - mu_p;
		return res;
	}
Ejemplo n.º 8
0
Archivo: lexer.c Proyecto: chyyuu/recc
unsigned int t_constant_exponent(struct common_lexer_state * common_lexer_state, unsigned int tentative_position){
	unsigned int count = 0;
	unsigned int e_size;
	if((count = t_D(common_lexer_state, tentative_position + count))){
		while(t_D(common_lexer_state, tentative_position + count)){
			count++;
		}
		if((e_size = t_E(common_lexer_state, tentative_position + count))){
			count += e_size;
			if(t_FS(common_lexer_state, tentative_position + count)){
				count++;
			}
			return count;
		}
	}
	return 0;
}
Ejemplo n.º 9
0
Archivo: EoS.cpp Proyecto: fixinf/RMF
	//Just a wrapper for a 2-component system!
	double t_E(double nn, double np, double f, set_const * C) {
		//double res = 0.5 * pow(m_n * m_n * f / C->C_s, 2.0);

		//res += C->U(f);

		//res += KineticIntegral(p_f(np), m_n*C->phi_n(f), C);

		//res += KineticIntegral(p_f(nn), m_n*C->phi_n(f), C);

		//res += 0.5 * pow(C->C_o * D * (nn + np) / m_n, 2.0) / (C->eta_o(f));

		//res += pow(C->C_r * D * (nn - np) / m_n, 2.0) / (8.0 * C->eta_r(f));
		//
		//return res;
		vec n;
		n.push_back(nn);
		n.push_back(np);
		double res2 = t_E(n, f, C);

/* REALIZED IN t_E(double, double, set_const*)*/
//		double me = m_e;
//
//		double pf_e = 0;
//		if (pow(mu_e(n[0] + n[1], n[1], f, C), 2.0) - me*me >= 0){
//			pf_e = sqrt(pow(mu_e(n[0] + n[1], n[1], f, C), 2.0) - me*me);
//		}
//
//		if (n[1] != 0.0){
//			res2+= KineticIntegral(pf_e, m_e, C);
//		}
//
//		double mmu = m_mu;
//		double pf_mu = 0;
//		if (pow(mu_e(n[0] + n[1], n[1], f, C), 2.0) - mmu*mmu >= 0){
//			pf_mu = sqrt(pow(mu_e(n[0] + n[1], n[1], f, C), 2.0) - mmu*mmu);
//		}
//
//		if (n[1] != 0.0){
//			res2 += KineticIntegral(pf_mu, m_mu, C);
//		}


		return res2;
	}
Ejemplo n.º 10
0
Archivo: lexer.c Proyecto: chyyuu/recc
unsigned int t_constant_float_large(struct common_lexer_state * common_lexer_state, unsigned int tentative_position){
	unsigned int count = 0;
	unsigned int e_size;
	if((count = t_D(common_lexer_state, tentative_position + count))){
		while(t_D(common_lexer_state, tentative_position + count)){
			count++;
		}
		if(accept('.', common_lexer_state, tentative_position + count)){
			count++;
			while(t_D(common_lexer_state, tentative_position + count)){
				count++;
			}
			if((e_size = t_E(common_lexer_state, tentative_position + count))){
				count += e_size;
				if(t_FS(common_lexer_state, tentative_position + count)){
					count++;
				}
			}
			return count;
		}
	}
	return 0;
}