Ejemplo n.º 1
0
float Ship::Cw(){
	switch(e.Faa){
		case U: return 0.95 * Cp() + 0.17 * pow(1 - Cp(), 1./3.);
		case N: return (1. + 2. * Cb())/3.;
		case V: return pow(Cp(), 2./3.);
		default: return (1. + 2. * Cb())/3.;
	}
	return -1;
}
Ejemplo n.º 2
0
C3H6::C3H6() : teplojomkost()
{
    set_v_max( 13 );
    v_t(1) = 0; v_Cp( 1 ) = 0.3406; v_Cv( 1 ) = 0.2933; v_S( 1 ) = 0;
    v_t(2) = 100; v_Cp( 2 ) = 0.4299; v_Cv( 2 ) = 0.3826; v_S( 2 ) = 0;
    v_t(3) = 200; v_Cp( 3 ) = 0.5159; v_Cv( 3 ) = 0.4686; v_S( 3 ) = 0;
    v_t(4) = 300; v_Cp( 4 ) = 0.5915; v_Cv( 4 ) = 0.5442; v_S( 4 ) = 0;
    v_t(5) = 400; v_Cp( 5 ) = 0.6576; v_Cv( 5 ) = 0.6103; v_S( 5 ) = 0;
    v_t(6) = 500; v_Cp( 6 ) = 0.7146; v_Cv( 6 ) = 0.6673; v_S( 6 ) = 0;
    v_t(7) = 600; v_Cp( 7 ) = 0.7643; v_Cv( 7 ) = 0.717; v_S( 7 ) = 0;
    v_t(8) = 700; v_Cp( 8 ) = 0.8078; v_Cv( 8 ) = 0.7605; v_S( 8 ) = 0;
    v_t(9) = 800; v_Cp( 9 ) = 0.8456; v_Cv( 9 ) = 0.7983; v_S( 9 ) = 0;
    v_t(10) = 900; v_Cp( 10 ) = 0.8784; v_Cv( 10 ) = 0.8311; v_S( 10 ) = 0;
    v_t(11) = 1000; v_Cp( 11 ) = 0.9071; v_Cv( 11 ) = 0.8598; v_S( 11 ) = 0;
    v_t(12) = 1100; v_Cp( 12 ) = 0.9321; v_Cv( 12 ) = 0.8848; v_S( 12 ) = 0;
    v_t(13) = 1200; v_Cp( 13 ) = 0.9535; v_Cv( 13 ) = 0.9062; v_S( 13 ) = 0;
     v_t=v_t/1000.0;
    reculc_polynoms();
    
    cout 
    << Name() << endl
    << Formula() << endl;
    cout << p_t_Cp;
    cout << p_t_Cv ;
    cout << p_t_S ;
    int i =0;
    while (i<=1200)    {      cout << i <<"   "<<Cp(i)  <<"   "<< Cv(i) <<"   "<< S(i)<< endl;       i+=100;    }
}
Ejemplo n.º 3
0
C2H2::C2H2() : teplojomkost()
{
    set_v_max( 13 );
    v_t(1) = 0; v_Cp( 1 ) = 0.38447; v_Cv( 1 ) = 0.308; v_S( 1 ) = 0;
    v_t(2) = 100; v_Cp( 2 ) = 0.44669; v_Cv( 2 ) = 0.3703; v_S( 2 ) = 0;
    v_t(3) = 200; v_Cp( 3 ) = 0.48817; v_Cv( 3 ) = 0.4117; v_S( 3 ) = 0;
    v_t(4) = 300; v_Cp( 4 ) = 0.51928; v_Cv( 4 ) = 0.4428; v_S( 4 ) = 0;
    v_t(5) = 400; v_Cp( 5 ) = 0.54501; v_Cv( 5 ) = 0.4686; v_S( 5 ) = 0;
    v_t(6) = 500; v_Cp( 6 ) = 0.56756; v_Cv( 6 ) = 0.49128; v_S( 6 ) = 0;
    v_t(7) = 600; v_Cp( 7 ) = 0.58784; v_Cv( 7 ) = 0.51156; v_S( 7 ) = 0;
    v_t(8) = 700; v_Cp( 8 ) = 0.60643; v_Cv( 8 ) = 0.53015; v_S( 8 ) = 0;
    v_t(9) = 800; v_Cp( 9 ) = 0.62337; v_Cv( 9 ) = 0.54709; v_S( 9 ) = 0;
    v_t(10) = 900; v_Cp( 10 ) = 0.63881; v_Cv( 10 ) = 0.56253; v_S( 10 ) = 0;
    v_t(11) = 1000; v_Cp( 11 ) = 0.65279; v_Cv( 11 ) = 0.57651; v_S( 11 ) = 0;
    v_t(12) = 1100; v_Cp( 12 ) = 0.66542; v_Cv( 12 ) = 0.58915; v_S( 12 ) = 0;
    v_t(13) = 1200; v_Cp( 13 ) = 0.67672; v_Cv( 13 ) = 0.60044; v_S( 13 ) = 0;
     v_t=v_t/1000.0;
    reculc_polynoms();
    
    cout 
    << Name() << endl
    << Formula() << endl;
    cout << p_t_Cp;
    cout << p_t_Cv ;
    cout << p_t_S ;
    int i =0;
    while (i<=1200)    {      cout << i <<"   "<<Cp(i)  <<"   "<< Cv(i) <<"   "<< S(i)<< endl;       i+=100;    }
}
Ejemplo n.º 4
0
C3H8::C3H8() : teplojomkost()
{
    set_v_max( 13 );
    v_t(1) = 0; v_Cp( 1 ) = 0.3701; v_Cv( 1 ) = 0.325; v_S( 1 ) = 0;
    v_t(2) = 100; v_Cp( 2 ) = 0.4817; v_Cv( 2 ) = 0.4366; v_S( 2 ) = 0;
    v_t(3) = 200; v_Cp( 3 ) = 0.5871; v_Cv( 3 ) = 0.512; v_S( 3 ) = 0;
    v_t(4) = 300; v_Cp( 4 ) = 0.677; v_Cv( 4 ) = 0.6318; v_S( 4 ) = 0;
    v_t(5) = 400; v_Cp( 5 ) = 0.755; v_Cv( 5 ) = 0.7098; v_S( 5 ) = 0;
    v_t(6) = 500; v_Cp( 6 ) = 0.8237; v_Cv( 6 ) = 0.7786; v_S( 6 ) = 0;
    v_t(7) = 600; v_Cp( 7 ) = 0.8831; v_Cv( 7 ) = 0.838; v_S( 7 ) = 0;
    v_t(8) = 700; v_Cp( 8 ) = 0.9353; v_Cv( 8 ) = 0.8901; v_S( 8 ) = 0;
    v_t(9) = 800; v_Cp( 9 ) = 0.9775; v_Cv( 9 ) = 0.9323; v_S( 9 ) = 0;
    v_t(10) = 900; v_Cp( 10 ) = 1.0151; v_Cv( 10 ) = 0.97; v_S( 10 ) = 0;
    v_t(11) = 1000; v_Cp( 11 ) = 1.0496; v_Cv( 11 ) = 1.0044; v_S( 11 ) = 0;
    v_t(12) = 1100; v_Cp( 12 ) = 1.0811; v_Cv( 12 ) = 1.036; v_S( 12 ) = 0;
    v_t(13) = 1200; v_Cp( 13 ) = 1.1094; v_Cv( 13 ) = 1.0643; v_S( 13 ) = 0;
     v_t=v_t/1000.0;
    reculc_polynoms();
    
    cout 
    << Name() << endl
    << Formula() << endl;
    cout << p_t_Cp;
    cout << p_t_Cv ;
    cout << p_t_S ;
    int i =0;
    while (i<=1200)    {      cout << i <<"   "<<Cp(i)  <<"   "<< Cv(i) <<"   "<< S(i)<< endl;       i+=100;    }
}
Ejemplo n.º 5
0
void Foam::porousMedia::fixedTemperature::addEnthalpySource
(
    const basicThermo& thermo,
    const volScalarField& rho,
    fvScalarMatrix& hEqn
) const
{
    const labelList& zones = pZone_.zoneIds();
    if (zones.empty() || T_ < 0.0)
    {
        return;
    }

    const fvMesh& mesh = pZone_.mesh();
    const scalarField& V = mesh.V();
    scalarField& hDiag = hEqn.diag();
    scalarField& hSource = hEqn.source();

    tmp<volScalarField> Cp = thermo.Cp();

    // TODO: generalize for non-fixedTemperature methods
    const scalar rate = 1e6;

    forAll(zones, zoneI)
    {
        const labelList& cells = mesh.cellZones()[zones[zoneI]];

        forAll(cells, i)
        {
            hDiag[cells[i]] += rate*V[cells[i]]*rho[cells[i]];
            hSource[cells[i]] += rate*V[cells[i]]*rho[cells[i]]*Cp()[cells[i]]*T_;
        }
    }
Ejemplo n.º 6
0
C2H4::C2H4() : teplojomkost()
{
    set_v_max( 13 );
    v_t(1) = 0; v_Cp( 1 ) = 0.3486; v_Cv( 1 ) = 0.2777; v_S( 1 ) = 0;
    v_t(2) = 100; v_Cp( 2 ) = 0.4363; v_Cv( 2 ) = 0.3654; v_S( 2 ) = 0;
    v_t(3) = 200; v_Cp( 3 ) = 0.5197; v_Cv( 3 ) = 0.4488; v_S( 3 ) = 0;
    v_t(4) = 300; v_Cp( 4 ) = 0.5918; v_Cv( 4 ) = 0.5208; v_S( 4 ) = 0;
    v_t(5) = 400; v_Cp( 5 ) = 0.6534; v_Cv( 5 ) = 0.5825; v_S( 5 ) = 0;
    v_t(6) = 500; v_Cp( 6 ) = 0.7065; v_Cv( 6 ) = 0.6356; v_S( 6 ) = 0;
    v_t(7) = 600; v_Cp( 7 ) = 0.7532; v_Cv( 7 ) = 0.6823; v_S( 7 ) = 0;
    v_t(8) = 700; v_Cp( 8 ) = 0.7942; v_Cv( 8 ) = 0.7233; v_S( 8 ) = 0;
    v_t(9) = 800; v_Cp( 9 ) = 0.8295; v_Cv( 9 ) = 0.7586; v_S( 9 ) = 0;
    v_t(10) = 900; v_Cp( 10 ) = 0.8609; v_Cv( 10 ) = 0.79; v_S( 10 ) = 0;
    v_t(11) = 1000; v_Cp( 11 ) = 0.8887; v_Cv( 11 ) = 0.8178; v_S( 11 ) = 0;
    v_t(12) = 1100; v_Cp( 12 ) = 0.9126; v_Cv( 12 ) = 0.8416; v_S( 12 ) = 0;
    v_t(13) = 1200; v_Cp( 13 ) = 0.9336; v_Cv( 13 ) = 0.8627; v_S( 13 ) = 0;
     v_t=v_t/1000.0;
    reculc_polynoms();
    
    cout 
    << Name() << endl
    << Formula() << endl;
    cout << p_t_Cp;
    cout << p_t_Cv ;
    cout << p_t_S ;
    int i =0;
    while (i<=1200)    {      cout << i <<"   "<<Cp(i)  <<"   "<< Cv(i) <<"   "<< S(i)<< endl;       i+=100;    }
}
Ejemplo n.º 7
0
void NSTauT<EvalT, Traits>::
evaluateFields(typename Traits::EvalData workset)
{ 
    for (std::size_t cell=0; cell < workset.numCells; ++cell) {
      for (std::size_t qp=0; qp < numQPs; ++qp) {       
        TauT(cell,qp) = 0.0;
        normGc(cell,qp) = 0.0;
        for (std::size_t i=0; i < numDims; ++i) {
          for (std::size_t j=0; j < numDims; ++j) {
            TauT(cell,qp) += rho(cell,qp) * Cp(cell,qp) * rho(cell,qp) * Cp(cell,qp)* V(cell,qp,i)*Gc(cell,qp,i,j)*V(cell,qp,j);
            normGc(cell,qp) += Gc(cell,qp,i,j)*Gc(cell,qp,i,j);          
          }
        }
        TauT(cell,qp) += 12.*ThermalCond(cell,qp)*ThermalCond(cell,qp)*std::sqrt(normGc(cell,qp));
        TauT(cell,qp) = 1./std::sqrt(TauT(cell,qp));
      }
    }
  

}
Ejemplo n.º 8
0
double Cp(int low, int high)
{
    double x, y, z;
    if(high - low + 1 <= 3)
    {   
        x = Dist(S, S, low, low + 1);
        y = Dist(S, S, low, low + 2);
        z = Dist(S, S, low + 1, low + 2);
        return min(x, y, z);
    }
    int mid; 
    double Q, Q0, Q1, Q2;
    mid = (low + high) / 2;
    Q1 = Cp(low, mid);
    Q2 = Cp(mid + 1, high);
    Q = (Q1 < Q2)? Q1: Q2;
    int i, j, k;
    k = 0;
    for(i = 1; i <= N; ++i)
    {
        if(abs(Y[i][0] - S[mid][0]) < Q)
        {
            k = k + 1;
            T[k][0] = Y[i][0];
            T[k][1] = Y[i][1];
        }
    }
    Q0 = 2 * Q;//I think Q0 = Q is better than Q0 = 2 * Q.
    int m;
    for(i = 1; i <= k - 1; ++i)
    {
        m = ((i + 7) < k)? (i + 7): k;
        for(j = i + 1; j <= m; ++j)
        {
            if(Dist(T, T, i, j) < Q0)
                Q0 = Dist(T, T, i, j);
        }
    }
    Q = (Q < Q0)? Q: Q0;
    return Q;
}
Ejemplo n.º 9
0
void NSThermalEqResid<EvalT, Traits>::
evaluateFields(typename Traits::EvalData workset)
{
  typedef Intrepid2::FunctionSpaceTools FST;

  FST::scalarMultiplyDataData<ScalarT> (flux, ThermalCond, TGrad);

  FST::integrate<ScalarT>(TResidual, flux, wGradBF, Intrepid2::COMP_CPP, false); // "false" overwrites
  
  for (std::size_t cell=0; cell < workset.numCells; ++cell) {
    for (std::size_t qp=0; qp < numQPs; ++qp) {
      convection(cell,qp) = 0.0;
      if (haveSource) convection(cell,qp) -= Source(cell,qp);
      if (workset.transientTerms && enableTransient) 
	convection(cell,qp) += rho(cell,qp) * Cp(cell,qp) * Tdot(cell,qp);
      if (haveFlow) {
	for (std::size_t i=0; i < numDims; ++i) { 
	  convection(cell,qp) += 
	    rho(cell,qp) * Cp(cell,qp) * V(cell,qp,i) * TGrad(cell,qp,i);
	}
      }
    }
  }

  FST::integrate<ScalarT>(TResidual, convection, wBF, Intrepid2::COMP_CPP, true); // "true" sums into

  if (haveSUPG) {
    for (std::size_t cell=0; cell < workset.numCells; ++cell) {
      for (std::size_t node=0; node < numNodes; ++node) {          
	for (std::size_t qp=0; qp < numQPs; ++qp) {               
	  for (std::size_t j=0; j < numDims; ++j) { 
	    TResidual(cell,node) += 
	      rho(cell,qp) * Cp(cell,qp) * TauT(cell,qp) * convection(cell,qp) *
	      V(cell,qp,j) * wGradBF(cell,node,qp,j);
	  }  
	}
      }
    }
  }

}
Ejemplo n.º 10
0
Expression* sintactico::Cp()
{
    if(CurrentToken->tipo == COMPARACION)
    {
        CurrentToken = Lexer->NexToken();
        Expression* izq = D();
        Expression* der = Cp();
        if(der != NULL)
            return new exprEqual(izq,der,Lexer->linea);
        return izq;
    }
    else if(CurrentToken->tipo == DISTINTO)
    {
        CurrentToken = Lexer->NexToken();
        Expression* izq = D();
        Expression* der = Cp();
        if(der != NULL)
            return new exprDistin(izq,der,Lexer->linea);
        return izq;
    }
    return NULL;
}
Ejemplo n.º 11
0
int main()
{
    int i; double Q;
    QuickSor(S, 1, N, 1);
    for(i = 1; i <= N; ++i)
    {
        Y[i][0] = S[i][0];
        Y[i][1] = S[i][1];
    }
    QuickSor(S, 1, N, 0);
    Q = Cp(1, N);
    printf("The minmum distance is %.2lf.", Q);
    return 0;
}
Ejemplo n.º 12
0
// true <=> C is C-connected
bool isCConnected(const ClusterGraph &C)
{
	if(C.getGraph().empty())
		return true;

	Graph G;
	ClusterGraph Cp(C,G);


	cluster root = Cp.rootCluster();
	SListPure<node>   compNodes;
	NodeArray<bool> mark(G,false);
	return cConnectTest(Cp,root,mark,G);
}
Ejemplo n.º 13
0
NO::NO() : teplojomkost()
{
    set_v_max( 31 );
    v_t(1) = 0; v_Cp( 1 ) = 0.2386; v_Cv( 1 ) = 0.1724; v_S( 1 ) = 0;
    v_t(2) = 100; v_Cp( 2 ) = 0.2381; v_Cv( 2 ) = 0.1719; v_S( 2 ) = 0;
    v_t(3) = 200; v_Cp( 3 ) = 0.2414; v_Cv( 3 ) = 0.1752; v_S( 3 ) = 0;
    v_t(4) = 300; v_Cp( 4 ) = 5.2472; v_Cv( 4 ) = 0.181; v_S( 4 ) = 0;
    v_t(5) = 400; v_Cp( 5 ) = 0.2534; v_Cv( 5 ) = 0.1872; v_S( 5 ) = 0;
    v_t(6) = 500; v_Cp( 6 ) = 0.2594; v_Cv( 6 ) = 0.1932; v_S( 6 ) = 0;
    v_t(7) = 600; v_Cp( 7 ) = 0.2648; v_Cv( 7 ) = 0.1986; v_S( 7 ) = 0;
    v_t(8) = 700; v_Cp( 8 ) = 0.2695; v_Cv( 8 ) = 0.2033; v_S( 8 ) = 0;
    v_t(9) = 800; v_Cp( 9 ) = 0.2736; v_Cv( 9 ) = 0.2074; v_S( 9 ) = 0;
    v_t(10) = 900; v_Cp( 10 ) = 0.277; v_Cv( 10 ) = 0.2108; v_S( 10 ) = 0;
    v_t(11) = 1000; v_Cp( 11 ) = 0.2799; v_Cv( 11 ) = 0.2137; v_S( 11 ) = 0;
    v_t(12) = 1100; v_Cp( 12 ) = 0.2824; v_Cv( 12 ) = 0.2165; v_S( 12 ) = 0;
    v_t(13) = 1200; v_Cp( 13 ) = 0.2845; v_Cv( 13 ) = 0.2183; v_S( 13 ) = 0;
    v_t(14) = 1300; v_Cp( 14 ) = 0.2864; v_Cv( 14 ) = 0.2202; v_S( 14 ) = 0;
    v_t(15) = 1400; v_Cp( 15 ) = 0.2881; v_Cv( 15 ) = 0.2219; v_S( 15 ) = 0;
    v_t(16) = 1500; v_Cp( 16 ) = 0.2895; v_Cv( 16 ) = 0.2233; v_S( 16 ) = 0;
    v_t(17) = 1600; v_Cp( 17 ) = 0.2907; v_Cv( 17 ) = 0.2245; v_S( 17 ) = 0;
    v_t(18) = 1700; v_Cp( 18 ) = 0.2918; v_Cv( 18 ) = 0.2256; v_S( 18 ) = 0;
    v_t(19) = 1800; v_Cp( 19 ) = 0.2928; v_Cv( 19 ) = 0.2267; v_S( 19 ) = 0;
    v_t(20) = 1900; v_Cp( 20 ) = 0.2938; v_Cv( 20 ) = 0.2276; v_S( 20 ) = 0;
    v_t(21) = 2000; v_Cp( 21 ) = 0.2947; v_Cv( 21 ) = 0.2285; v_S( 21 ) = 0;
    v_t(22) = 2100; v_Cp( 22 ) = 0.2954; v_Cv( 22 ) = 0.2292; v_S( 22 ) = 0;
    v_t(23) = 2200; v_Cp( 23 ) = 0.296; v_Cv( 23 ) = 0.2299; v_S( 23 ) = 0;
    v_t(24) = 2300; v_Cp( 24 ) = 0.2967; v_Cv( 24 ) = 0.2305; v_S( 24 ) = 0;
    v_t(25) = 2400; v_Cp( 25 ) = 0.2973; v_Cv( 25 ) = 0.2311; v_S( 25 ) = 0;
    v_t(26) = 2500; v_Cp( 26 ) = 0.2978; v_Cv( 26 ) = 0.2317; v_S( 26 ) = 0;
    v_t(27) = 2600; v_Cp( 27 ) = 0.2984; v_Cv( 27 ) = 0.2322; v_S( 27 ) = 0;
    v_t(28) = 2700; v_Cp( 28 ) = 0.2989; v_Cv( 28 ) = 0.2323; v_S( 28 ) = 0;
    v_t(29) = 2800; v_Cp( 29 ) = 0.2994; v_Cv( 29 ) = 0.2333; v_S( 29 ) = 0;
    v_t(30) = 2900; v_Cp( 30 ) = 0.2999; v_Cv( 30 ) = 0.2338; v_S( 30 ) = 0;
    v_t(31) = 3000; v_Cp( 31 ) = 0.3004; v_Cv( 31 ) = 0.2342; v_S( 31 ) = 0;
     v_t=v_t/1000.0;
    reculc_polynoms();    
    
    cout 
    << Name() << endl
    << Formula() << endl;
    cout << p_t_Cp;
    cout << p_t_Cv ;
    cout << p_t_S ;
    int i =0;
    while (i<=3000)    {      cout << i <<"   "<<Cp(i)  <<"   "<< Cv(i) <<"   "<< S(i)<< endl;       i+=100;    }
}
Ejemplo n.º 14
0
// Tests if a ClusterGraph is C-planar
bool CconnectClusterPlanar::call(ClusterGraph &C)
{
	Graph G;
	ClusterGraph Cp(C,G);
	OGDF_ASSERT(Cp.consistencyCheck());


	m_clusterPQTree.init(Cp,0);

	bool cPlanar = preProcess(Cp,G);

	m_parallelEdges.init();
	m_isParallel.init();
	m_clusterPQTree.init();

	return cPlanar;	
}
Ejemplo n.º 15
0
int output_data()
{
	double min, max;
	int points, i;
	const char *file = "out.csv";

	FILE *fp;
	double x, cp_, k_, rho_;

    min = 0;
    max = 0;
    points = 0;
    i = 0;
    fp = NULL;
    x = 0;
    cp_ = 0;
    k_ = 0;
    rho_ = 0;

	fp = fopen(file, "w");
    if(!fp) {
        report_error("Failed to open file for writing.");
    }

	min = 300;
	max = 480;
	points = 100;

	for (i=1; i <= points; i++) {
		x = min+(max-min)*i/points;
		cp_ = Cp(x);
        k_ = k(x);
        rho_ = rho(x);
		fprintf(fp, "%f,%f,%f,%f\n", x, cp_, k_, rho_);
	}

    if(fp) {
        if(fclose(fp) != 0) {
           report_error("Failed to close file.");
           exit(1);           
        }
    }

	return 0;
}
Ejemplo n.º 16
0
scalar reactingOneDim::solidRegionDiffNo() const
{
    scalar DiNum = 0.0;

    if (regionMesh().nInternalFaces() > 0)
    {
        surfaceScalarField KrhoCpbyDelta
        (
            regionMesh().surfaceInterpolation::deltaCoeffs()
          * fvc::interpolate(K_)
          / fvc::interpolate(Cp()*rho_)
        );

        DiNum = max(KrhoCpbyDelta.internalField())*time_.deltaTValue();
    }

    return DiNum;
}
Ejemplo n.º 17
0
CO::CO() : teplojomkost()
{
    set_v_max( 26 );
    v_t(1) = 0; v_Cp( 1 ) = 0.2483; v_Cv( 1 ) = 0.1774; v_S( 1 ) = 0;
    v_t(2) = 100; v_Cp( 2 ) = 0.2495; v_Cv( 2 ) = 0.1786; v_S( 2 ) = 0;
    v_t(3) = 200; v_Cp( 3 ) = 0.2528; v_Cv( 3 ) = 0.1819; v_S( 3 ) = 0;
    v_t(4) = 300; v_Cp( 4 ) = 0.258; v_Cv( 4 ) = 0.1871; v_S( 4 ) = 0;
    v_t(5) = 400; v_Cp( 5 ) = 0.2641; v_Cv( 5 ) = 0.1932; v_S( 5 ) = 0;
    v_t(6) = 500; v_Cp( 6 ) = 0.2704; v_Cv( 6 ) = 0.1995; v_S( 6 ) = 0;
    v_t(7) = 600; v_Cp( 7 ) = 0.2763; v_Cv( 7 ) = 0.2054; v_S( 7 ) = 0;
    v_t(8) = 700; v_Cp( 8 ) = 0.2816; v_Cv( 8 ) = 0.2107; v_S( 8 ) = 0;
    v_t(9) = 800; v_Cp( 9 ) = 0.2863; v_Cv( 9 ) = 0.2154; v_S( 9 ) = 0;
    v_t(10) = 900; v_Cp( 10 ) = 0.2904; v_Cv( 10 ) = 0.2195; v_S( 10 ) = 0;
    v_t(11) = 1000; v_Cp( 11 ) = 0.2939; v_Cv( 11 ) = 0.223; v_S( 11 ) = 0;
    v_t(12) = 1100; v_Cp( 12 ) = 0.297; v_Cv( 12 ) = 0.2261; v_S( 12 ) = 0;
    v_t(13) = 1200; v_Cp( 13 ) = 0.2996; v_Cv( 13 ) = 0.2287; v_S( 13 ) = 0;
    v_t(14) = 1300; v_Cp( 14 ) = 0.302; v_Cv( 14 ) = 0.2311; v_S( 14 ) = 0;
    v_t(15) = 1400; v_Cp( 15 ) = 0.304; v_Cv( 15 ) = 0.233; v_S( 15 ) = 0;
    v_t(16) = 1500; v_Cp( 16 ) = 0.3057; v_Cv( 16 ) = 0.2348; v_S( 16 ) = 0;
    v_t(17) = 1600; v_Cp( 17 ) = 0.3073; v_Cv( 17 ) = 0.2364; v_S( 17 ) = 0;
    v_t(18) = 1700; v_Cp( 18 ) = 0.3087; v_Cv( 18 ) = 0.2378; v_S( 18 ) = 0;
    v_t(19) = 1800; v_Cp( 19 ) = 0.31; v_Cv( 19 ) = 0.239; v_S( 19 ) = 0;
    v_t(20) = 1900; v_Cp( 20 ) = 0.3111; v_Cv( 20 ) = 0.2402; v_S( 20 ) = 0;
    v_t(21) = 2000; v_Cp( 21 ) = 0.3121; v_Cv( 21 ) = 0.2412; v_S( 21 ) = 0;
    v_t(22) = 2100; v_Cp( 22 ) = 0.313; v_Cv( 22 ) = 0.2421; v_S( 22 ) = 0;
    v_t(23) = 2200; v_Cp( 23 ) = 0.3138; v_Cv( 23 ) = 0.2429; v_S( 23 ) = 0;
    v_t(24) = 2300; v_Cp( 24 ) = 0.3146; v_Cv( 24 ) = 0.2437; v_S( 24 ) = 0;
    v_t(25) = 2400; v_Cp( 25 ) = 0.3153; v_Cv( 25 ) = 0.2444; v_S( 25 ) = 0;
    v_t(26) = 2500; v_Cp( 26 ) = 0.316; v_Cv( 26 ) = 0.245; v_S( 26 ) = 0;
     v_t=v_t/1000.0;
    reculc_polynoms();
    
    cout 
    << Name() << endl
    << Formula() << endl;
    cout << p_t_Cp;
    cout << p_t_Cv ;
    cout << p_t_S ;
    int i =0;
    while (i<=2500)    {      cout << i <<"   "<<Cp(i)  <<"   "<< Cv(i) <<"   "<< S(i)<< endl;       i+=100;    }
}
Ejemplo n.º 18
0
N2::N2() : teplojomkost()
{
    set_v_max( 26 );
    v_t(1) = 0; v_Cp( 1 ) = 0.2482; v_Cv( 1 ) = 0.1773; v_S( 1 ) = 0;
    v_t(2) = 100; v_Cp( 2 ) = 0.2489; v_Cv( 2 ) = 0.178; v_S( 2 ) = 0;
    v_t(3) = 200; v_Cp( 3 ) = 0.2512; v_Cv( 3 ) = 0.1804; v_S( 3 ) = 0;
    v_t(4) = 300; v_Cp( 4 ) = 0.2554; v_Cv( 4 ) = 0.1845; v_S( 4 ) = 0;
    v_t(5) = 400; v_Cp( 5 ) = 0.2607; v_Cv( 5 ) = 0.1898; v_S( 5 ) = 0;
    v_t(6) = 500; v_Cp( 6 ) = 0.2664; v_Cv( 6 ) = 0.1955; v_S( 6 ) = 0;
    v_t(7) = 600; v_Cp( 7 ) = 0.2721; v_Cv( 7 ) = 0.2012; v_S( 7 ) = 0;
    v_t(8) = 700; v_Cp( 8 ) = 0.2774; v_Cv( 8 ) = 0.2065; v_S( 8 ) = 0;
    v_t(9) = 800; v_Cp( 9 ) = 0.2822; v_Cv( 9 ) = 0.2113; v_S( 9 ) = 0;
    v_t(10) = 900; v_Cp( 10 ) = 0.2864; v_Cv( 10 ) = 0.2156; v_S( 10 ) = 0;
    v_t(11) = 1000; v_Cp( 11 ) = 0.2902; v_Cv( 11 ) = 0.2193; v_S( 11 ) = 0;
    v_t(12) = 1100; v_Cp( 12 ) = 0.2935; v_Cv( 12 ) = 0.2226; v_S( 12 ) = 0;
    v_t(13) = 1200; v_Cp( 13 ) = 0.2964; v_Cv( 13 ) = 0.2255; v_S( 13 ) = 0;
    v_t(14) = 1300; v_Cp( 14 ) = 0.2989; v_Cv( 14 ) = 0.228; v_S( 14 ) = 0;
    v_t(15) = 1400; v_Cp( 15 ) = 0.3011; v_Cv( 15 ) = 0.2302; v_S( 15 ) = 0;
    v_t(16) = 1500; v_Cp( 16 ) = 0.303; v_Cv( 16 ) = 0.2322; v_S( 16 ) = 0;
    v_t(17) = 1600; v_Cp( 17 ) = 0.3048; v_Cv( 17 ) = 0.2339; v_S( 17 ) = 0;
    v_t(18) = 1700; v_Cp( 18 ) = 0.3063; v_Cv( 18 ) = 0.2354; v_S( 18 ) = 0;
    v_t(19) = 1800; v_Cp( 19 ) = 0.3077; v_Cv( 19 ) = 0.2358; v_S( 19 ) = 0;
    v_t(20) = 1900; v_Cp( 20 ) = 0.3089; v_Cv( 20 ) = 0.238; v_S( 20 ) = 0;
    v_t(21) = 2000; v_Cp( 21 ) = 0.31; v_Cv( 21 ) = 0.2391; v_S( 21 ) = 0;
    v_t(22) = 2100; v_Cp( 22 ) = 0.311; v_Cv( 22 ) = 0.2401; v_S( 22 ) = 0;
    v_t(23) = 2200; v_Cp( 23 ) = 0.312; v_Cv( 23 ) = 0.2411; v_S( 23 ) = 0;
    v_t(24) = 2300; v_Cp( 24 ) = 0.3128; v_Cv( 24 ) = 0.2419; v_S( 24 ) = 0;
    v_t(25) = 2400; v_Cp( 25 ) = 0.3136; v_Cv( 25 ) = 0.2427; v_S( 25 ) = 0;
    v_t(26) = 2500; v_Cp( 26 ) = 0.3143; v_Cv( 26 ) = 0.2434; v_S( 26 ) = 0;
     v_t=v_t/1000.0;
    reculc_polynoms();
    
    cout 
    << Name() << endl
    << Formula() << endl;
    cout << p_t_Cp;
    cout << p_t_Cv ;
    cout << p_t_S ;
    int i =0;
    while (i<=2500)    {      cout << i <<"   "<<Cp(i)  <<"   "<< Cv(i) <<"   "<< S(i)<< endl;       i+=100;    }
}
Ejemplo n.º 19
0
N2_ATM::N2_ATM() : teplojomkost()
{
    set_v_max( 26 );
    v_t(1) = 0; v_Cp( 1 ) = 0.2461; v_Cv( 1 ) = 0.1756; v_S( 1 ) = 0;
    v_t(2) = 100; v_Cp( 2 ) = 0.2469; v_Cv( 2 ) = 0.1763; v_S( 2 ) = 0;
    v_t(3) = 200; v_Cp( 3 ) = 0.2491; v_Cv( 3 ) = 0.1786; v_S( 3 ) = 0;
    v_t(4) = 300; v_Cp( 4 ) = 0.2532; v_Cv( 4 ) = 0.1827; v_S( 4 ) = 0;
    v_t(5) = 400; v_Cp( 5 ) = 0.2584; v_Cv( 5 ) = 0.1879; v_S( 5 ) = 0;
    v_t(6) = 500; v_Cp( 6 ) = 0.2641; v_Cv( 6 ) = 0.1935; v_S( 6 ) = 0;
    v_t(7) = 600; v_Cp( 7 ) = 0.2697; v_Cv( 7 ) = 0.1992; v_S( 7 ) = 0;
    v_t(8) = 700; v_Cp( 8 ) = 0.2749; v_Cv( 8 ) = 0.2044; v_S( 8 ) = 0;
    v_t(9) = 800; v_Cp( 9 ) = 0.2793; v_Cv( 9 ) = 0.2091; v_S( 9 ) = 0;
    v_t(10) = 900; v_Cp( 10 ) = 0.2833; v_Cv( 10 ) = 0.2132; v_S( 10 ) = 0;
    v_t(11) = 1000; v_Cp( 11 ) = 0.2874; v_Cv( 11 ) = 0.2169; v_S( 11 ) = 0;
    v_t(12) = 1100; v_Cp( 12 ) = 0.2907; v_Cv( 12 ) = 0.2202; v_S( 12 ) = 0;
    v_t(13) = 1200; v_Cp( 13 ) = 0.2935; v_Cv( 13 ) = 0.223; v_S( 13 ) = 0;
    v_t(14) = 1300; v_Cp( 14 ) = 0.295; v_Cv( 14 ) = 0.2255; v_S( 14 ) = 0;
    v_t(15) = 1400; v_Cp( 15 ) = 0.2982; v_Cv( 15 ) = 0.2277; v_S( 15 ) = 0;
    v_t(16) = 1500; v_Cp( 16 ) = 0.3001; v_Cv( 16 ) = 0.2296; v_S( 16 ) = 0;
    v_t(17) = 1600; v_Cp( 17 ) = 0.3018; v_Cv( 17 ) = 0.2313; v_S( 17 ) = 0;
    v_t(18) = 1700; v_Cp( 18 ) = 0.3033; v_Cv( 18 ) = 0.2328; v_S( 18 ) = 0;
    v_t(19) = 1800; v_Cp( 19 ) = 0.3047; v_Cv( 19 ) = 0.2341; v_S( 19 ) = 0;
    v_t(20) = 1900; v_Cp( 20 ) = 0.3059; v_Cv( 20 ) = 0.2354; v_S( 20 ) = 0;
    v_t(21) = 2000; v_Cp( 21 ) = 0.307; v_Cv( 21 ) = 0.2364; v_S( 21 ) = 0;
    v_t(22) = 2100; v_Cp( 22 ) = 0.308; v_Cv( 22 ) = 0.2374; v_S( 22 ) = 0;
    v_t(23) = 2200; v_Cp( 23 ) = 0.3089; v_Cv( 23 ) = 0.2383; v_S( 23 ) = 0;
    v_t(24) = 2300; v_Cp( 24 ) = 0.3097; v_Cv( 24 ) = 0.2392; v_S( 24 ) = 0;
    v_t(25) = 2400; v_Cp( 25 ) = 0.3105; v_Cv( 25 ) = 0.24; v_S( 25 ) = 0;
    v_t(26) = 2500; v_Cp( 26 ) = 0.3112; v_Cv( 26 ) = 0.2407; v_S( 26 ) = 0;
     v_t=v_t/1000.0;
    reculc_polynoms();
    
    cout 
    << Name() << endl
    << Formula() << endl;
    cout << p_t_Cp;
    cout << p_t_Cv ;
    cout << p_t_S ;
    int i =0;
    while (i<=2500)    {      cout << i <<"   "<<Cp(i)  <<"   "<< Cv(i) <<"   "<< S(i)<< endl;       i+=100;    }
}
Ejemplo n.º 20
0
CO2::CO2() : teplojomkost()
{
    set_v_max( 26 );
    v_t( 1 ) = 0.0 ; v_Cp( 1 ) = 0.1946 ; v_Cv( 1 ) = 0.1495; v_S( 1 ) = 0.0;
    v_t( 2 ) = 100.0 ; v_Cp( 2 ) = 0.2182 ; v_Cv( 2 ) = 0.1731; v_S( 2 ) = 0.0;
    v_t( 3 ) = 200.0 ; v_Cp( 3 ) = 0.2371 ; v_Cv( 3 ) = 0.1920; v_S( 3 ) = 0.0;
    v_t( 4 ) = 300.0 ; v_Cp( 4 ) = 0.2524 ; v_Cv( 4 ) = 0.2073; v_S( 4 ) = 0.0;
    v_t( 5 ) = 400.0 ; v_Cp( 5 ) = 0.2652 ; v_Cv( 5 ) = 0.2200; v_S( 5 ) = 0.0;
    v_t( 6 ) = 500.0 ; v_Cp( 6 ) = 0.2758 ; v_Cv( 6 ) = 0.2307; v_S( 6 ) = 0.0;
    v_t( 7 ) = 600.0 ; v_Cp( 7 ) = 0.2847 ; v_Cv( 7 ) = 0.2395; v_S( 7 ) = 0.0;
    v_t( 8) = 700.0 ; v_Cp( 8 ) = 0.2921 ; v_Cv( 8 ) = 0.2470; v_S( 8 ) = 0.0;
    v_t( 9 ) = 800.0 ; v_Cp( 9 ) = 0.2984 ; v_Cv( 9 ) = 0.2532; v_S( 9 ) = 0.0;
    v_t( 10 ) = 900.0 ; v_Cp( 10 ) = 0.3037 ; v_Cv( 10 ) = 0.2585; v_S( 10 ) = 0.0;
    v_t( 11 ) = 1000.0 ; v_Cp( 11 ) = 0.3081 ; v_Cv( 11 ) = 0.2630; v_S( 11 ) = 0.0;
    v_t( 12 ) = 1100.0 ; v_Cp( 12 ) = 0.3119 ; v_Cv( 12 ) = 0.2668; v_S( 12 ) = 0.0;
    v_t( 13 ) = 1200.0 ; v_Cp( 13 ) = 0.3152 ; v_Cv( 13 ) = 0.2700; v_S( 13 ) = 0.0;
    v_t( 14 ) = 1300.0 ; v_Cp( 14 ) = 0.3180 ; v_Cv( 14 ) = 0.2728; v_S( 14 ) = 0.0;
    v_t( 15 ) = 1400.0 ; v_Cp( 15 ) = 0.3204 ; v_Cv( 15 ) = 0.2752; v_S( 15 ) = 0.0;
    v_t( 16 ) = 1500.0 ; v_Cp( 16 ) = 0.3224 ; v_Cv( 16 ) = 0.2773; v_S( 16 ) = 0.0;
    v_t( 17 ) = 1600.0 ; v_Cp( 17 ) = 0.3242 ; v_Cv( 17 ) = 0.2791; v_S( 17 ) = 0.0;
    v_t( 18 ) = 1700.0 ; v_Cp( 18 ) = 0.3257 ; v_Cv( 18 ) = 0.2806; v_S( 18 ) = 0.0;
    v_t( 19 ) = 1800.0 ; v_Cp( 19 ) = 0.3271 ; v_Cv( 19 ) = 0.2820; v_S( 19 ) = 0.0;
    v_t( 20 ) = 1900.0 ; v_Cp( 20 ) = 0.3282 ; v_Cv( 20 ) = 0.2831; v_S( 20 ) = 0.0;
    v_t( 21 ) = 2000.0 ; v_Cp( 21 ) = 0.3292 ; v_Cv( 21 ) = 0.2840; v_S( 21 ) = 0.0;
    v_t( 22 ) = 2100.0 ; v_Cp( 22 ) = 0.3300 ; v_Cv( 22 ) = 0.2848; v_S( 22 ) = 0.0;
    v_t( 23 ) = 2200.0 ; v_Cp( 23 ) = 0.3306 ; v_Cv( 23 ) = 0.2855; v_S( 23 ) = 0.0;
    v_t( 24 ) = 2300.0 ; v_Cp( 24 ) = 0.3311 ; v_Cv( 24 ) = 0.2860; v_S( 24 ) = 0.0;
    v_t( 25 ) = 2400.0 ; v_Cp( 25 ) = 0.3314 ; v_Cv( 25 ) = 0.2863; v_S( 25 ) = 0.0;
    v_t( 26 ) = 2500.0 ; v_Cp( 26 ) = 0.3315 ; v_Cv( 26 ) = 0.2864; v_S( 26 ) = 0.0;
     v_t=v_t/1000.0;
    reculc_polynoms();
    cout << p_t_Cp;
    cout << p_t_Cv ;
    cout << p_t_S ;
    int i =0;
    while (i<=2500)    {      cout << i <<"   "<<Cp(i)  <<"   "<< Cv(i) <<"   "<< S(i)<< endl;       i+=100;    }
}
Ejemplo n.º 21
0
void getData(const char* nom_fichier,IloEnv env,instance_Cplex& instance) {

  int& n(instance.n);
  int& m(instance.m);
  DataMatrix& Ha(instance.Ha);
  DataMatrix& Ca(instance.Ca);
  DataMatrix& Hp(instance.Hp); 
  DataMatrix& Cp(instance.Cp);

  char char1;
	double tmp;
	
	ifstream fichier(nom_fichier);
	if(fichier) {
		//pour n
		fichier >> char1 >> char1 >> n >> char1;
		cout <<"n="<< n<<"\n";
		//pour m
		fichier >> char1 >> char1 >> m >>char1;
		cout <<"m="<< m<<"\n";
		 
		//pour Ba, si existe!
		double Ba=0;
		fichier >> char1 ;
		if(char1=='B'){//then Ba est définie, et Bp aussi
		  fichier >> char1 >> char1>>Ba >>char1;
		  cout <<"Ba="<< Ba<<"\n";
		  
		  double Bp=0;
		  //pour Bp
		  fichier >> char1 >> char1 >>char1 >> Bp >>char1;
		
		  
		// Ha
		fichier >> char1 >> char1 >> char1 >> char1; // lit H a = [       
		}
		else if(char1=='H'){	fichier >> char1 >> char1 >> char1; // le 'H' a été lu, on lit " a = ["
Ejemplo n.º 22
0
void VanDerWaals::generateTriangle(Data::Mesh& mesh, Data::OMMesh::VertexHandle const& Av,
   Data::OMMesh::VertexHandle const& Bv, Data::OMMesh::VertexHandle const& Cv, int div)
{
   if (div <= 0) {
      mesh.addFace(Cv, Bv, Av);

   }else {

      Data::OMMesh::Point Ap(mesh.vertex(Av));
      Data::OMMesh::Point Bp(mesh.vertex(Bv));
      Data::OMMesh::Point Cp(mesh.vertex(Cv));

      // create 3 new vertices at the edge midpoints
      Data::OMMesh::Point ABp((Ap+Bp)*0.5);
      Data::OMMesh::Point BCp((Bp+Cp)*0.5);
      Data::OMMesh::Point CAp((Cp+Ap)*0.5);

      // Normalize the midpoints to keep them on the sphere
      ABp.normalize();
      BCp.normalize();
      CAp.normalize();

      Data::OMMesh::VertexHandle ABv(mesh.addVertex(ABp));
      Data::OMMesh::VertexHandle BCv(mesh.addVertex(BCp));
      Data::OMMesh::VertexHandle CAv(mesh.addVertex(CAp));

      mesh.setNormal(ABv, ABp);
      mesh.setNormal(BCv, BCp);
      mesh.setNormal(CAv, CAp);

      generateTriangle(mesh, Av,  ABv, CAv, div-1);
      generateTriangle(mesh, Bv,  BCv, ABv, div-1);
      generateTriangle(mesh, Cv,  CAv, BCv, div-1);
      generateTriangle(mesh, ABv, BCv, CAv, div-1);  //<-- Remove for serpinski
   }  
}
Ejemplo n.º 23
0
   Matrix3x3d
   computeIntersectionCovariance(vector<Matrix3x4d> const& projections,
                                 vector<PointMeasurement> const& measurements,
                                 double sigma)
   {
      Matrix<double> Cp(3, 3, 0.0);
      Cp[0][0] = Cp[1][1] = sigma;
      Cp[2][2] = 0.0;

      int const N = measurements.size();

      Matrix<double> A(2*N, 4, 0.0);
      InlineMatrix<double, 2, 3> Sp;
      makeZeroMatrix(Sp);
      InlineMatrix<double, 2, 4> Sp_P;
      for (int i = 0; i < N; ++i)
      {
         Sp[0][1] = -1; Sp[0][2] = measurements[i].pos[1];
         Sp[1][0] =  1; Sp[1][2] = -measurements[i].pos[0];

         int const view = measurements[i].view;
         multiply_A_B(Sp, projections[view], Sp_P);

         A[2*i+0][0] = Sp_P[0][0]; A[2*i+0][1] = Sp_P[0][1]; A[2*i+0][2] = Sp_P[0][2]; A[2*i+0][3] = Sp_P[0][3];
         A[2*i+1][0] = Sp_P[1][0]; A[2*i+1][1] = Sp_P[1][1]; A[2*i+1][2] = Sp_P[1][2]; A[2*i+1][3] = Sp_P[1][3];
      } // end for (i)

      SVD<double> svd(A);

      Matrix<double> V;
      svd.getV(V);

      Vector4d X;
      X[0] = V[0][3]; X[1] = V[1][3]; X[2] = V[2][3]; X[3] = V[3][3];

      Vector3d P;
      Matrix<double> S(2, 3, 0.0);
      Matrix<double> B(2*N, 3*N, 0.0);

      for (int i = 0; i < N; ++i)
      {
         int const view = measurements[i].view;
         multiply_A_v(projections[view], X, P);
         P[0] /= P[2]; P[1] /= P[2]; P[2] = 1.0;

         S[0][1] = -P[2]; S[0][2] =  P[1];
         S[1][0] =  P[2]; S[1][2] = -P[0];

         B[2*i+0][3*i+0] = -S[0][0]; B[2*i+0][3*i+1] = -S[0][1]; B[2*i+0][3*i+2] = S[0][2];
         B[2*i+1][3*i+0] = -S[1][0]; B[2*i+1][3*i+1] = -S[1][1]; B[2*i+1][3*i+2] = S[1][2];
      } // end for (i)

      Matrix<double> C(3*N, 3*N, 0.0);
      for (int i = 0; i < N; ++i)
      {
         C[3*i+0][3*i+0] = Cp[0][0]; C[3*i+0][3*i+1] = Cp[0][1]; C[3*i+0][3*i+2] = Cp[0][2];
         C[3*i+1][3*i+0] = Cp[1][0]; C[3*i+1][3*i+1] = Cp[1][1]; C[3*i+1][3*i+2] = Cp[1][2];
         C[3*i+2][3*i+0] = Cp[2][0]; C[3*i+2][3*i+1] = Cp[2][1]; C[3*i+2][3*i+2] = Cp[2][2];
      } // end for (i)

      Matrix<double> B_C(2*N, 3*N);
      multiply_A_B(B, C, B_C);
      Matrix<double> T(2*N, 2*N);
      multiply_A_Bt(B_C, B, T);

      Matrix<double> Tinv;
      invertMatrix(T, Tinv);

      Matrix<double> NN(5, 5), N4(4, 4);
      Matrix<double> At_Tinv(4, 2*N);
      multiply_At_B(A, Tinv, At_Tinv);
      multiply_A_B(At_Tinv, A, N4);

      for (int r = 0; r < 4; ++r)
         for (int c = 0; c < 4; ++c)
            NN[r][c] = N4[r][c];

      NN[0][4] = NN[4][0] = X[0];
      NN[1][4] = NN[4][1] = X[1];
      NN[2][4] = NN[4][2] = X[2];
      NN[3][4] = NN[4][3] = X[3];
      NN[4][4] = 0.0;

      Matrix<double> Ninv(5, 5);
      invertMatrix(NN, Ninv);

      Matrix4x4d sigma_XX;
      for (int r = 0; r < 4; ++r)
         for (int c = 0; c < 4; ++c)
            sigma_XX[r][c] = Ninv[r][c];

      Matrix3x4d Je;
      makeZeroMatrix(Je);
      Je[0][0] = Je[1][1] = Je[2][2] = 1.0 / X[3];
      Je[0][3] = -X[0] / (X[3]*X[3]);
      Je[1][3] = -X[1] / (X[3]*X[3]);
      Je[2][3] = -X[2] / (X[3]*X[3]);

      Matrix3x3d sigma_X = Je * sigma_XX * Je.transposed();
      return sigma_X;
   }
Ejemplo n.º 24
0
float Ship::iE(){
	float c1 = - pow(v.Lpp / v.B, 0.80856) * pow(1 - Cw(), 0.30484) * pow(1 - Cp() - 0.0225 * lcb(), 0.6367) * pow(lr() / v.B, 0.34574) * pow(100 * Vol() / pow(v.Lpp, 3.), 0.16302);
	return 1 + 89 * exp(c1);
}
Ejemplo n.º 25
0
float Ship::lr(){
	return v.Lpp * (1 - Cp() + 0.06 * Cp() * lcb()) / (4 * Cp() - 1);
}
Ejemplo n.º 26
0
float Ship::AeAo(){
	return (NUr - 0.9922 - 0.07424 * (Cp() - 0.0225 * lcb())) / -0.05908;
}
Ejemplo n.º 27
0
Vector<String> CppBuilder::CustomStep(const String& pf, const String& package_, bool& error)
{
	String package = Nvl(package_, mainpackage);
	String path = (*pf == '.' && pf[1] != '.') ? target : SourcePath(package, pf);
	String file = GetHostPath(path);
	String ext = ToLower(GetFileExt(pf));
	if(ext == ".ext") {
		Vector<String> files;
		Vector<String> dirs;
		sGatherAllExt(files, dirs, GetFileFolder(path), "");
		
		Index<String> pkg_files;
		Package pkg;
		pkg.Load(PackagePath(package));
		for(int i = 0; i < pkg.GetCount(); i++)
			pkg_files.Add(pkg[i]);
		
		Index<String> out;
		Index<String> include_path;
		String f = LoadFile(path);
		try {
			CParser p(f);
			while(!p.IsEof()) {
				if(p.Id("files")) {
					Vector<String> e = ReadPatterns(p);
					for(int i = 0; i < files.GetCount(); i++)
						for(int j = 0; j < e.GetCount(); j++) {
							String f = files[i];
							if(PatternMatch(e[j], f) && pkg_files.Find(f) < 0)
								out.FindAdd(f);
						}
				}
				if(p.Id("exclude")) {
					ExtExclude(p, out);
				}
				if(p.Id("include_path")) {
					Vector<String> e = ReadPatterns(p);
					for(int j = 0; j < e.GetCount(); j++) {
						String ee = e[j];
						if(ee.Find('*') >= 0)
							for(int i = 0; i < dirs.GetCount(); i++) {
								String d = dirs[i];
								if(PatternMatch(e[j], d)) {
									include_path.FindAdd(d);
								}
							}
						else
							include_path.Add(ee);
					}
				}
				if(p.Id("exclude_path")) {
					ExtExclude(p, include_path);
				}
				if(p.Id("includes")) {
					Vector<String> e = ReadPatterns(p);
					for(int i = 0; i < files.GetCount(); i++)
						for(int j = 0; j < e.GetCount(); j++) {
							String f = files[i];
							if(PatternMatch(e[j], f) && pkg_files.Find(f) < 0)
								include_path.FindAdd(GetFileFolder(f));
						}
				}
			}
		}
		catch(CParser::Error) {
			PutConsole("Invalid .ext file");
			error = true;
			return Vector<String>();
		}
		
		for(int i = 0; i < include_path.GetCount(); i++)
			include.Add(NormalizePath(include_path[i], GetFileFolder(path)));
		
		Vector<String> o;
		for(int i = 0; i < out.GetCount(); i++)
			o.Add(SourcePath(package, out[i]));
		return o;
	}
	for(int i = 0; i < wspc.GetCount(); i++) {
		const Array< ::CustomStep >& mv = wspc.GetPackage(i).custom;
		for(int j = 0; j < mv.GetCount(); j++) {
			const ::CustomStep& m = mv[j];
			if(MatchWhen(m.when, config.GetKeys()) && m.MatchExt(ext)) {
				VectorMap<String, String> mac;
				AddPath(mac, "PATH", file);
				AddPath(mac, "RELPATH", pf);
				AddPath(mac, "DIR", GetFileFolder(PackagePath(package)));
				AddPath(mac, "FILEDIR", GetFileFolder(file));
				AddPath(mac, "PACKAGE", package);
				mac.Add("FILE", GetFileName(file));
				mac.Add("TITLE", GetFileTitle(file));
				AddPath(mac, "EXEPATH", GetHostPath(target));
				AddPath(mac, "EXEDIR", GetHostPath(GetFileFolder(target)));
				mac.Add("EXEFILE", GetFileName(target));
				mac.Add("EXETITLE", GetFileTitle(target));
				AddPath(mac, "OUTDIR", GetHostPath(outdir));
				//BW
				AddPath(mac, "OUTDIR", GetHostPath(GetFileFolder(target)));
				AddPath(mac, "OUTFILE", GetHostPath(GetFileName(target)));
				AddPath(mac, "OUTTITLE", GetHostPath(GetFileTitle(target)));

				mac.Add("INCLUDE", Join(include, ";"));

				Vector<String> out = Cuprep(m.output, mac, include);
				bool dirty = out.IsEmpty();
				for(int i = 0; !dirty && i < out.GetCount(); i++)
					dirty = (GetFileTime(file) > GetFileTime(out[i]));
				if(dirty) {
					HdependTimeDirty();
					PutConsole(GetFileName(file));
					Vector<String> cmd = Cuprep(m.command, mac, include);
					String cmdtext;
					for(int c = 0; c < cmd.GetCount(); c++) {
						PutVerbose(cmd[c]);
						if(!Cd(cmd[c]) && !Cp(cmd[c], package, error)) {
							String ctext = cmd[c];
							const char *cm = ctext;
							if(*cm == '?')
								cm++;
							if(*ctext != '?' && Execute(cm)) {
								for(int t = 0; t < out.GetCount(); t++)
									DeleteFile(out[t]);
								PutConsole("FAILED: " + ctext);
								error = true;
								return Vector<String>();
							}
						}
					}
				}
				return out;
			}
		}
	}
	Vector<String> out;
	out.Add(path);
	return out;
}
Ejemplo n.º 28
0
void CGuiToolBarWnd::OnPaint()
{

	CPaintDC dc(this);  	
	CRect rcBtn;
	
	int nBtn=GetToolBarCtrl().GetButtonCount();
	int iBitmap;
	UINT nID;
	UINT nStyle;
	WORD wStyle, wState;
	DWORD dwBarStyle = GetToolBarCtrl().GetStyle();
	BOOL mbIsPress;
	BOOL mbIsEnabled;
	CBrush cb;
	CImageList m_imgList;
	CRect rcUpdate;
	int iUltbot;
	CRect rcClient;
	GetClientRect(&rcClient);
	cb.CreateSolidBrush(GuiDrawLayer::GetRGBColorXP());
	
    // draw borders in non-client area
    CRect rcDraw = rcClient;
 
	dc.FillRect(rcDraw, &cb);
	
	
	HIMAGELIST hiImg = 0;
	iBitmap=0;
	hiImg = HIMAGELIST(SendMessage(TB_GETIMAGELIST));
	m_imgList.Attach(hiImg);
	int j=0;
	for(int i=0; i < nBtn; i++)
	{
		
		bOver=FALSE;
		GetItemRect(i,&rcBtn);
		GetButtonInfo(i,nID,nStyle,iBitmap);
		wStyle= LOWORD(nStyle);
		wState= HIWORD(nStyle);
		if (wState & TBSTATE_HIDDEN) continue;
		if (wStyle == TBSTYLE_SEP)
		{
			if (!(wState & TBSTATE_WRAP) || ! IsFloating() )
			{
				CRect m_Separ;
				m_Separ=rcBtn;
				
				//si existe un separador vertical
				if (m_dwStyle & CBRS_ORIENT_HORZ)
				{
					dc.FillRect(&rcBtn,&cb);
					int nhalf=(m_Separ.Width()/2)-1;
					m_Separ.top-=1;
					m_Separ.left+=nhalf;
					m_Separ.right=m_Separ.left+1;
					m_Separ.bottom+=1;
					
				}
				else
				{
					int nhalf=(m_Separ.Width()/2)-1;
					int iHeigh=m_Separ.Height();
					
					m_Separ.left=0;
					m_Separ.right=m_Separ.left+m_Separ.Height()+1;
					m_Separ.top=iUltbot;
					m_Separ.bottom=m_Separ.top+m_Separ.Width();			
					dc.FillRect(&m_Separ,&cb);
					
					m_Separ.left=0;
					m_Separ.right=m_Separ.left+iHeigh+1;
					m_Separ.top=iUltbot+nhalf;
					m_Separ.bottom=m_Separ.top+1;
					
					
				}
				CBrush cbt;
				cbt.CreateSolidBrush(RGB(167, 167, 167));
				dc.FillRect(m_Separ,&cbt);
				continue;
				
			}
			
				 
		}
		else {
			
			mbIsPress=(wState & TBSTATE_CHECKED) || (wState & TBSTATE_PRESSED);
			mbIsEnabled= GetToolBarCtrl().IsButtonEnabled((int)nID);
			CPoint pt;
			GetCursorPos(&pt);
			ScreenToClient(&pt);
			CBrush cblu;
			if(!rcBtn.PtInRect(pt))
			{
				if (wState & TBSTATE_CHECKED)
				{
					cblu.CreateSolidBrush(GuiDrawLayer::GetRGBPressBXP());
					dc.FillRect(rcBtn,&cblu);					
				}
				else
				{
					dc.FillRect(rcBtn,&cb);
				}
			}
			else
			{
				
				if (bPressDown)
					dc.Draw3dRect(rcBtn,GuiDrawLayer::GetRGBColorShadow(),GuiDrawLayer::GetRGBColorShadow());
				else
					dc.Draw3dRect(rcBtn,GuiDrawLayer::GetRGBCaptionXP(),GuiDrawLayer::GetRGBCaptionXP());
				rcBtn.DeflateRect(1,1);
				if (wState & TBSTATE_CHECKED)
				{
					cblu.CreateSolidBrush(GuiDrawLayer::GetRGBFondoXP());
					dc.FillRect(rcBtn,&cblu);					
				}
				else
				{
					
					if (bPressDown)
					{
						cblu.CreateSolidBrush(GuiDrawLayer::GetRGBColorXP());
						dc.FillRect(rcBtn,&cblu);
					}
					else
					{
						cblu.CreateSolidBrush(mbIsPress?GuiDrawLayer::GetRGBPressBXP():GuiDrawLayer::GetRGBFondoXP());
						dc.FillRect(rcBtn,&cblu);					
					}
					if (wStyle == 8) 
					{
						
						CRect rcCli=rcBtn;
						int dif=rcBtn.right-_afxDropDownWidth;
						rcCli.left=dif+1;
						
						if (!bPressDown)
						{
							CPen Cp( PS_SOLID, 1, GuiDrawLayer::GetRGBCaptionXP());
							CPen* oldPen= dc.SelectObject(&Cp);
							dc.MoveTo(dif,rcBtn.top);
							dc.LineTo(dif,rcBtn.bottom);
							dc.SelectObject(oldPen);
						}
						
					}
					if (!mbIsPress && !bPressDown)
						bOver=TRUE;
					else
						bOver=FALSE;
					if (!bPressDown) 
						SetTimer(1,10,NULL);
					else
						KillTimer(1);		

				}
				rcBtn.InflateRect(1,1);
				
			}

		}

		if (wStyle != TBSTYLE_SEP)
	{
			
			int OldMode=dc.SetBkMode(TRANSPARENT);
			IMAGEINFO pImageInfo;
			m_imgList.GetImageInfo(iBitmap,&pImageInfo);
			CRect rcima =pImageInfo.rcImage;
			CSize siImg=CSize(rcima.Width(),rcima.Height());
			/* Modified By SunZhenyu 2003/6/27, Replace by the next 5 lines, CPoint pti(rcBtn.left+2,rcBtn.top+4); */
			CPoint pti(rcBtn.left+(rcBtn.Width()-siImg.cx)/2,rcBtn.top+4);
			if( dwBarStyle & TBSTYLE_LIST ) // ÎÄ×ÖÔÚÓÒ±ß
				pti = CPoint(rcBtn.left+4,rcBtn.top+(rcBtn.Height()-siImg.cy)/2);
			else if( wStyle & TBSTYLE_DROPDOWN )
				pti.x -= _AfxGetDropDownWidth()/2;
			CString mszText=GetButtonText(i);
			CFont* m_fontOld=dc.SelectObject(&m_cfont);
			if (!(wState & TBSTATE_ENABLED))
			{
				if (bOver==TRUE)
				{
					pti.x+=1;
					pti.y+=1;
					dc.DrawState(pti,siImg,m_imgList.ExtractIcon(iBitmap),DSS_MONO,CBrush (GuiDrawLayer::GetRGBColorShadow()));
							pti.x-=2;					pti.y-=2;
				
				}
				m_imgList.Draw(&dc, iBitmap, pti, ILD_TRANSPARENT);
				if (mszText.GetLength() > 0 && !bVertDocked)
				{
					CRect m_rctext=rcBtn;
					/* Modified By SunZhenyu 2003/6/27, Replace by the next 6 line, m_rctext.left+=siImg.cx+4; */
					if( dwBarStyle & TBSTYLE_LIST )
						m_rctext.left += siImg.cx+4;
					else
						m_rctext.top += siImg.cy+4;
					if( wStyle & TBSTYLE_DROPDOWN )
						m_rctext.right -= _AfxGetDropDownWidth();
					m_rctext.bottom-=1;
					/* Modified By SunZhenyu 2003/6/27, Replace by the next 5 line
					dc.DrawText(mszText,&m_rctext,DT_SINGLELINE|DT_BOTTOM|DT_CENTER);
					*/
					m_rctext.right-=1;
					if( dwBarStyle & TBSTYLE_LIST )
						dc.DrawText(mszText,&m_rctext,DT_SINGLELINE|DT_VCENTER|DT_RIGHT);
					else
						dc.DrawText(mszText,&m_rctext,DT_SINGLELINE|DT_BOTTOM|DT_CENTER);
				}
			}
			else
			{
				dc.DrawState(pti,siImg,m_imgList.ExtractIcon(iBitmap),DSS_DISABLED,(CBrush*)NULL);
				CRect m_rctext=rcBtn;
				/* Modified By SunZhenyu 2003/6/27, Replace by the next 5 line, m_rctext.left+=siImg.cx+4; */
				if( dwBarStyle & TBSTYLE_LIST )
					m_rctext.left += siImg.cx+4;
				else
					m_rctext.top += siImg.cy+4;
				m_rctext.bottom-=1;
				CSize szText=dc.GetTextExtent(mszText);
				/* Modified By SunZhenyu 2003/6/27, Replace by the next 4 lines,
				pti.x= m_rctext.left+2;
				pti.y= (m_rctext.Height()/2)-1;
				*/
				pti.x = m_rctext.left+(m_rctext.Width()-szText.cx)/2;
				if( wStyle & TBSTYLE_DROPDOWN )
					pti.x = m_rctext.left+(m_rctext.Width()-szText.cx-_AfxGetDropDownWidth())/2;
				pti.y= m_rctext.top+(m_rctext.Height()-szText.cy)/2;
				//DrawState(pt, m_Csize, m_szCaption, DSS_DISABLED, TRUE, 0, (HBRUSH)NULL);
				dc.DrawState(pti,szText,mszText,DSS_DISABLED,TRUE,0,(HBRUSH)NULL);
			}
			
			if (wStyle == TBSTYLE_DROPDOWN) 
				DrawArrow(&dc,rcBtn);
			dc.SetBkMode(OldMode);
			// Modified By SunZhenyu
			dc.SelectObject(m_fontOld);
			iBitmap++;
			iUltbot=rcBtn.bottom;
			j++;
		}
	}
	m_imgList.Detach();
	
	
    ReleaseDC(&dc);

  
}
Ejemplo n.º 29
0
CH4::CH4() : teplojomkost()
{
    set_v_max( 13 );
    v_t(1) = 0;
    v_Cp( 1 ) = 0.5172;
    v_Cv( 1 ) = 0.3934;
    v_S( 1 ) = 0;
    v_t(2) = 100;
    v_Cp( 2 ) = 0.5848;
    v_Cv( 2 ) = 0.461;
    v_S( 2 ) = 0;
    v_t(3) = 200;
    v_Cp( 3 ) = 0.6704;
    v_Cv( 3 ) = 0.5466;
    v_S( 3 ) = 0;
    v_t(4) = 300;
    v_Cp( 4 ) = 0.7584;
    v_Cv( 4 ) = 0.6346;
    v_S( 4 ) = 0;
    v_t(5) = 400;
    v_Cp( 5 ) = 0.843;
    v_Cv( 5 ) = 0.7192;
    v_S( 5 ) = 0;
    v_t(6) = 500;
    v_Cp( 6 ) = 0.921;
    v_Cv( 6 ) = 0.7972;
    v_S( 6 ) = 0;
    v_t(7) = 600;
    v_Cp( 7 ) = 0.9919;
    v_Cv( 7 ) = 0.8681;
    v_S( 7 ) = 0;
    v_t(8) = 700;
    v_Cp( 8 ) = 1.056;
    v_Cv( 8 ) = 0.9322;
    v_S( 8 ) = 0;
    v_t(9) = 800;
    v_Cp( 9 ) = 1.1129;
    v_Cv( 9 ) = 0.9891;
    v_S( 9 ) = 0;
    v_t(10) = 900;
    v_Cp( 10 ) = 1.1638;
    v_Cv( 10 ) = 1.04;
    v_S( 10 ) = 0;
    v_t(11) = 1000;
    v_Cp( 11 ) = 1.2089;
    v_Cv( 11 ) = 1.0851;
    v_S( 11 ) = 0;
    v_t(12) = 1100;
    v_Cp( 12 ) = 1.2483;
    v_Cv( 12 ) = 1.1245;
    v_S( 12 ) = 0;
    v_t(13) = 1200;
    v_Cp( 13 ) = 1.282;
    v_Cv( 13 ) = 1.1582;
    v_S( 13 ) = 0;
    v_t=v_t/1000.0;
    reculc_polynoms();

    cout
            << Name() << endl
            << Formula() << endl;
    cout << p_t_Cp;
    cout << p_t_Cv ;
    cout << p_t_S ;
    int i =0;
    while (i<=1200)    {
        cout << i <<"   "<<Cp(i)  <<"   "<< Cv(i) <<"   "<< S(i)<< endl;
        i+=100;
    }
}