Beispiel #1
0
int main(int argc, char *argv[])
{
    try
    {   
        if (argc != 3)
            THROW(eavlException,"Incorrect number of arguments");

	string pFile = argv[1];
	string mFile = argv[2];
	//string pFile = "/apps/eavl/EAVL/data/xgc.restart.bp";
	//string mFile = "/apps/eavl/EAVL/data/xgc.mesh.bp";

        eavlDataSet *particles = ReadMeshFromFile(pFile, 0);
	eavlDataSet *psiMesh = ReadPsiMesh(mFile);
	//particles->PrintSummary(cout);
	//psiMesh->PrintSummary(cout);

	/*
	eavlRayQueryMutator *rqm = new eavlRayQueryMutator;

	AddTriangles(psiMesh, rqm);
	*/

	int nP = particles->GetNumPoints();
	eavlField *Rf = particles->GetField("R");
	eavlField *Zf = particles->GetField("Z");
	double eq_x_psi = 0.266196; //From xgc.equil.bp
	
	cout<<"nParticles= "<<nP<<endl;
	for (int i = 0; i < nP; i++)
	{
	    double R = Rf->GetArray()->GetComponentAsDouble(i,0);
	    double Z = Zf->GetArray()->GetComponentAsDouble(i,0);
	    double psi = GetPsi(R,Z, psiMesh);

	    if (!IsRegion1(R,Z,psi))
		cout<<i<<": open field"<<endl;
	}

    }
    catch (const eavlException &e)
    {
        cerr << e.GetErrorText() << endl;
        cerr << "\nUsage: "<<argv[0]<<" particle_file mesh_file\n";
        return 1;
    }


    return 0;
}
jdouble JNICALL Java_ardrone_ARDrone_getPsi(JNIEnv *env, jclass cls)
{
	return GetPsi();
}