mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -240,6 +240,13 @@
|
|||||||
+ =snappyHexMesh=:
|
+ =snappyHexMesh=:
|
||||||
+ extrude across multi-processor boundaries
|
+ extrude across multi-processor boundaries
|
||||||
+ preserve faceZones during layering
|
+ preserve faceZones during layering
|
||||||
|
+ *Warning*:
|
||||||
|
- minMedianAxisAngle angle fixed w.r.t. 17x. Set to
|
||||||
|
90 to get same behaviour as 130 in 17x.
|
||||||
|
- nGrow did not work in 17x. Set to 0
|
||||||
|
to get same behaviour as 130 in 17x.
|
||||||
|
- new minTetQuality setting (see tracking). Disable for 17x
|
||||||
|
compatibility.
|
||||||
* Post-processing
|
* Post-processing
|
||||||
+ =paraFoam=, =foamToVTK=: full support for polyhedral cell type in recent
|
+ =paraFoam=, =foamToVTK=: full support for polyhedral cell type in recent
|
||||||
Paraview versions.
|
Paraview versions.
|
||||||
|
|||||||
@ -9,13 +9,14 @@ EXE_INC = \
|
|||||||
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
||||||
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
-I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \
|
||||||
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
|
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
|
||||||
-I$(LIB_SRC)/turbulenceModels \
|
|
||||||
-I$(LIB_SRC)/turbulenceModels/compressible/RAS/lnInclude \
|
-I$(LIB_SRC)/turbulenceModels/compressible/RAS/lnInclude \
|
||||||
|
-I$(LIB_SRC)/turbulenceModels \
|
||||||
-I$(LIB_SRC)/thermophysicalModels/laminarFlameSpeed/lnInclude \
|
-I$(LIB_SRC)/thermophysicalModels/laminarFlameSpeed/lnInclude \
|
||||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||||
-I$(LIB_SRC)/dynamicFvMesh/lnInclude \
|
-I$(LIB_SRC)/dynamicFvMesh/lnInclude \
|
||||||
-I$(LIB_SRC)/dynamicMesh/lnInclude \
|
-I$(LIB_SRC)/dynamicMesh/lnInclude \
|
||||||
-I$(LIB_SRC)/meshTools/lnInclude
|
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||||
|
-I$(LIB_SRC)/triSurface/lnInclude
|
||||||
|
|
||||||
EXE_LIBS = \
|
EXE_LIBS = \
|
||||||
-lengine \
|
-lengine \
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -78,7 +78,7 @@ int main(int argc, char *argv[])
|
|||||||
#include "createFields.H"
|
#include "createFields.H"
|
||||||
#include "initContinuityErrs.H"
|
#include "initContinuityErrs.H"
|
||||||
#include "readTimeControls.H"
|
#include "readTimeControls.H"
|
||||||
#include "CourantNo.H"
|
#include "compressibleCourantNo.H"
|
||||||
#include "setInitialDeltaT.H"
|
#include "setInitialDeltaT.H"
|
||||||
|
|
||||||
scalar StCoNum = 0.0;
|
scalar StCoNum = 0.0;
|
||||||
@ -91,11 +91,10 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
#include "readTimeControls.H"
|
#include "readTimeControls.H"
|
||||||
#include "readPISOControls.H"
|
#include "readPISOControls.H"
|
||||||
#include "CourantNo.H"
|
#include "compressibleCourantNo.H"
|
||||||
#include "setDeltaT.H"
|
#include "setDeltaT.H"
|
||||||
|
|
||||||
runTime++;
|
runTime++;
|
||||||
|
|
||||||
Info<< "\n\nTime = " << runTime.timeName() << endl;
|
Info<< "\n\nTime = " << runTime.timeName() << endl;
|
||||||
|
|
||||||
#include "rhoEqn.H"
|
#include "rhoEqn.H"
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -80,7 +80,7 @@ int main(int argc, char *argv[])
|
|||||||
#include "createFields.H"
|
#include "createFields.H"
|
||||||
#include "initContinuityErrs.H"
|
#include "initContinuityErrs.H"
|
||||||
#include "readTimeControls.H"
|
#include "readTimeControls.H"
|
||||||
#include "CourantNo.H"
|
#include "compressibleCourantNo.H"
|
||||||
#include "setInitialDeltaT.H"
|
#include "setInitialDeltaT.H"
|
||||||
|
|
||||||
scalar StCoNum = 0.0;
|
scalar StCoNum = 0.0;
|
||||||
@ -89,17 +89,15 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
Info<< "\nStarting time loop\n" << endl;
|
Info<< "\nStarting time loop\n" << endl;
|
||||||
|
|
||||||
|
bool hasChanged = false;
|
||||||
|
|
||||||
while (runTime.run())
|
while (runTime.run())
|
||||||
{
|
{
|
||||||
#include "readTimeControls.H"
|
#include "readTimeControls.H"
|
||||||
#include "readPISOControls.H"
|
#include "readPISOControls.H"
|
||||||
#include "CourantNo.H"
|
#include "compressibleCourantNo.H"
|
||||||
#include "setDeltaT.H"
|
#include "setDeltaT.H"
|
||||||
|
|
||||||
runTime++;
|
|
||||||
|
|
||||||
Info<< "\n\nTime = " << runTime.timeName() << endl;
|
|
||||||
|
|
||||||
// Indicators for refinement. Note: before runTime++
|
// Indicators for refinement. Note: before runTime++
|
||||||
// only for postprocessing reasons.
|
// only for postprocessing reasons.
|
||||||
tmp<volScalarField> tmagGradP = mag(fvc::grad(p));
|
tmp<volScalarField> tmagGradP = mag(fvc::grad(p));
|
||||||
@ -111,7 +109,10 @@ int main(int argc, char *argv[])
|
|||||||
normalisedGradP.writeOpt() = IOobject::AUTO_WRITE;
|
normalisedGradP.writeOpt() = IOobject::AUTO_WRITE;
|
||||||
tmagGradP.clear();
|
tmagGradP.clear();
|
||||||
|
|
||||||
bool meshChanged = false;
|
runTime++;
|
||||||
|
|
||||||
|
Info<< "\n\nTime = " << runTime.timeName() << endl;
|
||||||
|
|
||||||
{
|
{
|
||||||
// Make the fluxes absolute
|
// Make the fluxes absolute
|
||||||
fvc::makeAbsolute(phi, rho, U);
|
fvc::makeAbsolute(phi, rho, U);
|
||||||
@ -134,29 +135,27 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//volScalarField pIndicator("pIndicator",
|
|
||||||
// p*(fvc::laplacian(p))
|
|
||||||
// / (
|
|
||||||
// magSqr(fvc::grad(p))
|
|
||||||
// + dimensionedScalar
|
|
||||||
// (
|
|
||||||
// "smallish",
|
|
||||||
// sqr(p.dimensions()/dimLength),
|
|
||||||
// 1E-6
|
|
||||||
// )
|
|
||||||
// ));
|
|
||||||
//pIndicator.writeOpt() = IOobject::AUTO_WRITE;
|
|
||||||
|
|
||||||
// Flux estimate for introduced faces.
|
// Flux estimate for introduced faces.
|
||||||
volVectorField rhoU("rhoU", rho*U);
|
volVectorField rhoU("rhoU", rho*U);
|
||||||
|
|
||||||
// Do any mesh changes
|
// Do any mesh changes
|
||||||
meshChanged = mesh.update();
|
bool meshChanged = mesh.update();
|
||||||
|
|
||||||
// if (mesh.moving() || meshChanged)
|
|
||||||
// {
|
if (meshChanged)
|
||||||
// #include "correctPhi.H"
|
{
|
||||||
// }
|
hasChanged = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (runTime.write() && hasChanged)
|
||||||
|
{
|
||||||
|
betav.write();
|
||||||
|
Lobs.write();
|
||||||
|
CT.write();
|
||||||
|
drag->writeFields();
|
||||||
|
flameWrinkling->writeFields();
|
||||||
|
hasChanged = false;
|
||||||
|
}
|
||||||
|
|
||||||
// Make the fluxes relative to the mesh motion
|
// Make the fluxes relative to the mesh motion
|
||||||
fvc::makeRelative(phi, rho, U);
|
fvc::makeRelative(phi, rho, U);
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -50,55 +50,12 @@ Foam::XiEqModels::basicSubGrid::basicSubGrid
|
|||||||
:
|
:
|
||||||
XiEqModel(XiEqProperties, thermo, turbulence, Su),
|
XiEqModel(XiEqProperties, thermo, turbulence, Su),
|
||||||
|
|
||||||
N_
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"N",
|
|
||||||
Su.mesh().time().findInstance(polyMesh::meshSubDir, "N"),
|
|
||||||
polyMesh::meshSubDir,
|
|
||||||
Su.mesh(),
|
|
||||||
IOobject::MUST_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
Su.mesh()
|
|
||||||
),
|
|
||||||
|
|
||||||
ns_
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ns",
|
|
||||||
Su.mesh().time().findInstance(polyMesh::meshSubDir, "ns"),
|
|
||||||
polyMesh::meshSubDir,
|
|
||||||
Su.mesh(),
|
|
||||||
IOobject::MUST_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
Su.mesh()
|
|
||||||
),
|
|
||||||
|
|
||||||
B_
|
B_
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
(
|
(
|
||||||
"B",
|
"B",
|
||||||
Su.mesh().time().findInstance(polyMesh::meshSubDir, "B"),
|
Su.mesh().facesInstance(),
|
||||||
polyMesh::meshSubDir,
|
|
||||||
Su.mesh(),
|
|
||||||
IOobject::MUST_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
Su.mesh()
|
|
||||||
),
|
|
||||||
|
|
||||||
Lobs_
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"Lobs",
|
|
||||||
Su.mesh().time().findInstance(polyMesh::meshSubDir, "Lobs"),
|
|
||||||
polyMesh::meshSubDir,
|
|
||||||
Su.mesh(),
|
Su.mesh(),
|
||||||
IOobject::MUST_READ,
|
IOobject::MUST_READ,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE
|
||||||
@ -120,8 +77,12 @@ Foam::XiEqModels::basicSubGrid::~basicSubGrid()
|
|||||||
|
|
||||||
Foam::tmp<Foam::volScalarField> Foam::XiEqModels::basicSubGrid::XiEq() const
|
Foam::tmp<Foam::volScalarField> Foam::XiEqModels::basicSubGrid::XiEq() const
|
||||||
{
|
{
|
||||||
const objectRegistry& db = Su_.db();
|
const fvMesh& mesh = Su_.mesh();
|
||||||
const volVectorField& U = db.lookupObject<volVectorField>("U");
|
const volVectorField& U = mesh.lookupObject<volVectorField>("U");
|
||||||
|
|
||||||
|
const volScalarField& Nv = mesh.lookupObject<volScalarField>("Nv");
|
||||||
|
const volSymmTensorField& nsv =
|
||||||
|
mesh.lookupObject<volSymmTensorField>("nsv");
|
||||||
|
|
||||||
volScalarField magU(mag(U));
|
volScalarField magU(mag(U));
|
||||||
volVectorField Uhat
|
volVectorField Uhat
|
||||||
@ -129,20 +90,71 @@ Foam::tmp<Foam::volScalarField> Foam::XiEqModels::basicSubGrid::XiEq() const
|
|||||||
U/(mag(U) + dimensionedScalar("Usmall", U.dimensions(), 1e-4))
|
U/(mag(U) + dimensionedScalar("Usmall", U.dimensions(), 1e-4))
|
||||||
);
|
);
|
||||||
|
|
||||||
volScalarField n(max(N_ - (Uhat & ns_ & Uhat), scalar(1e-4)));
|
const scalarField Cw = pow(mesh.V(), 2.0/3.0);
|
||||||
|
|
||||||
volScalarField b((Uhat & B_ & Uhat)/n);
|
tmp<volScalarField> tN
|
||||||
|
(
|
||||||
|
new volScalarField
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"tN",
|
||||||
|
mesh.time().constant(),
|
||||||
|
mesh,
|
||||||
|
IOobject::NO_READ,
|
||||||
|
IOobject::NO_WRITE
|
||||||
|
),
|
||||||
|
mesh,
|
||||||
|
dimensionedScalar("zero", Nv.dimensions(), 0.0),
|
||||||
|
zeroGradientFvPatchVectorField::typeName
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
volScalarField& N = tN();
|
||||||
|
|
||||||
|
N.internalField() = Nv.internalField()*Cw;
|
||||||
|
|
||||||
|
tmp<volSymmTensorField> tns
|
||||||
|
(
|
||||||
|
new volSymmTensorField
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"tns",
|
||||||
|
U.mesh().time().timeName(),
|
||||||
|
U.mesh(),
|
||||||
|
IOobject::NO_READ,
|
||||||
|
IOobject::NO_WRITE
|
||||||
|
),
|
||||||
|
U.mesh(),
|
||||||
|
dimensionedSymmTensor
|
||||||
|
(
|
||||||
|
"zero",
|
||||||
|
nsv.dimensions(),
|
||||||
|
pTraits<symmTensor>::zero
|
||||||
|
),
|
||||||
|
zeroGradientFvPatchSymmTensorField::typeName
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
volSymmTensorField& ns = tns();
|
||||||
|
|
||||||
|
ns.internalField() = nsv.internalField()*Cw;
|
||||||
|
|
||||||
|
volScalarField n(max(N - (Uhat & ns & Uhat), scalar(1e-4)));
|
||||||
|
|
||||||
|
volScalarField b((Uhat & B_ & Uhat)/sqrt(n));
|
||||||
|
|
||||||
volScalarField up(sqrt((2.0/3.0)*turbulence_.k()));
|
volScalarField up(sqrt((2.0/3.0)*turbulence_.k()));
|
||||||
|
|
||||||
volScalarField XiSubEq
|
volScalarField XiSubEq
|
||||||
(
|
(
|
||||||
scalar(1)
|
scalar(1)
|
||||||
+ max(2.2*sqrt(b), min(0.34*magU/up, scalar(1.6)))
|
+ max(2.2*sqrt(b), min(0.34*magU/up*sqrt(b), scalar(1.6)))
|
||||||
*min(0.25*n, scalar(1))
|
* min(n, scalar(1))
|
||||||
);
|
);
|
||||||
|
|
||||||
return XiSubEq*XiEqModel_->XiEq();
|
return (XiSubEq*XiEqModel_->XiEq());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -85,18 +85,9 @@ class basicSubGrid
|
|||||||
{
|
{
|
||||||
// Private data
|
// Private data
|
||||||
|
|
||||||
//- Count
|
|
||||||
volScalarField N_;
|
|
||||||
|
|
||||||
//- Sub-count
|
|
||||||
volSymmTensorField ns_;
|
|
||||||
|
|
||||||
//- tblock
|
//- tblock
|
||||||
volSymmTensorField B_;
|
volSymmTensorField B_;
|
||||||
|
|
||||||
//- Typical obstacle diameters per cell
|
|
||||||
volScalarField Lobs_;
|
|
||||||
|
|
||||||
//- Equilibrium Xi model due to turbulence
|
//- Equilibrium Xi model due to turbulence
|
||||||
autoPtr<XiEqModel> XiEqModel_;
|
autoPtr<XiEqModel> XiEqModel_;
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -34,8 +34,8 @@ namespace XiGModels
|
|||||||
{
|
{
|
||||||
defineTypeNameAndDebug(basicSubGrid, 0);
|
defineTypeNameAndDebug(basicSubGrid, 0);
|
||||||
addToRunTimeSelectionTable(XiGModel, basicSubGrid, dictionary);
|
addToRunTimeSelectionTable(XiGModel, basicSubGrid, dictionary);
|
||||||
}
|
};
|
||||||
}
|
};
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
@ -66,12 +66,37 @@ Foam::tmp<Foam::volScalarField> Foam::XiGModels::basicSubGrid::G() const
|
|||||||
{
|
{
|
||||||
const objectRegistry& db = Su_.db();
|
const objectRegistry& db = Su_.db();
|
||||||
const volVectorField& U = db.lookupObject<volVectorField>("U");
|
const volVectorField& U = db.lookupObject<volVectorField>("U");
|
||||||
const volScalarField& N = db.lookupObject<volScalarField>("N");
|
const volScalarField& Nv = db.lookupObject<volScalarField>("Nv");
|
||||||
const volScalarField& Lobs = db.lookupObject<volScalarField>("Lobs");
|
const volScalarField& Lobs = db.lookupObject<volScalarField>("Lobs");
|
||||||
|
|
||||||
tmp<volScalarField> tGtot = XiGModel_->G();
|
tmp<volScalarField> tGtot = XiGModel_->G();
|
||||||
volScalarField& Gtot = tGtot();
|
volScalarField& Gtot = tGtot();
|
||||||
|
|
||||||
|
const scalarField Cw = pow(Su_.mesh().V(), 2.0/3.0);
|
||||||
|
|
||||||
|
tmp<volScalarField> tN
|
||||||
|
(
|
||||||
|
new volScalarField
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"tN",
|
||||||
|
Su_.mesh().time().timeName(),
|
||||||
|
Su_.mesh(),
|
||||||
|
IOobject::NO_READ,
|
||||||
|
IOobject::NO_WRITE,
|
||||||
|
false
|
||||||
|
),
|
||||||
|
Su_.mesh(),
|
||||||
|
dimensionedScalar("zero", Nv.dimensions(), 0.0),
|
||||||
|
zeroGradientFvPatchVectorField::typeName
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
volScalarField& N = tN();
|
||||||
|
|
||||||
|
N.internalField() = Nv.internalField()*Cw;
|
||||||
|
|
||||||
forAll(N, celli)
|
forAll(N, celli)
|
||||||
{
|
{
|
||||||
if (N[celli] > 1e-3)
|
if (N[celli] > 1e-3)
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -31,7 +31,7 @@ namespace Foam
|
|||||||
{
|
{
|
||||||
defineTypeNameAndDebug(PDRDragModel, 0);
|
defineTypeNameAndDebug(PDRDragModel, 0);
|
||||||
defineRunTimeSelectionTable(PDRDragModel, dictionary);
|
defineRunTimeSelectionTable(PDRDragModel, dictionary);
|
||||||
}
|
};
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -162,6 +162,11 @@ public:
|
|||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void writeFields() const
|
||||||
|
{
|
||||||
|
notImplemented("PDRDragModel::write()");
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -53,25 +53,17 @@ Foam::PDRDragModels::basic::basic
|
|||||||
Csu("Csu", dimless, PDRDragModelCoeffs_.lookup("Csu")),
|
Csu("Csu", dimless, PDRDragModelCoeffs_.lookup("Csu")),
|
||||||
Csk("Csk", dimless, PDRDragModelCoeffs_.lookup("Csk")),
|
Csk("Csk", dimless, PDRDragModelCoeffs_.lookup("Csk")),
|
||||||
|
|
||||||
Aw2_
|
Aw_
|
||||||
(
|
|
||||||
"Aw2",
|
|
||||||
sqr
|
|
||||||
(
|
|
||||||
volScalarField
|
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
(
|
(
|
||||||
"Aw",
|
"Aw",
|
||||||
U_.mesh().time().findInstance(polyMesh::meshSubDir, "Aw"),
|
U_.mesh().facesInstance(),
|
||||||
polyMesh::meshSubDir,
|
|
||||||
U_.mesh(),
|
U_.mesh(),
|
||||||
IOobject::MUST_READ,
|
IOobject::MUST_READ,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE
|
||||||
),
|
),
|
||||||
U_.mesh()
|
U_.mesh()
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
),
|
||||||
|
|
||||||
CR_
|
CR_
|
||||||
@ -79,22 +71,7 @@ Foam::PDRDragModels::basic::basic
|
|||||||
IOobject
|
IOobject
|
||||||
(
|
(
|
||||||
"CR",
|
"CR",
|
||||||
U_.mesh().time().findInstance(polyMesh::meshSubDir, "CR"),
|
U_.mesh().facesInstance(),
|
||||||
polyMesh::meshSubDir,
|
|
||||||
U_.mesh(),
|
|
||||||
IOobject::MUST_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
U_.mesh()
|
|
||||||
),
|
|
||||||
|
|
||||||
CT_
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"CT",
|
|
||||||
U_.mesh().time().findInstance(polyMesh::meshSubDir, "CT"),
|
|
||||||
polyMesh::meshSubDir,
|
|
||||||
U_.mesh(),
|
U_.mesh(),
|
||||||
IOobject::MUST_READ,
|
IOobject::MUST_READ,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE
|
||||||
@ -114,19 +91,24 @@ Foam::PDRDragModels::basic::~basic()
|
|||||||
|
|
||||||
Foam::tmp<Foam::volSymmTensorField> Foam::PDRDragModels::basic::Dcu() const
|
Foam::tmp<Foam::volSymmTensorField> Foam::PDRDragModels::basic::Dcu() const
|
||||||
{
|
{
|
||||||
const volScalarField& betav = U_.db().lookupObject<volScalarField>("betav");
|
const volScalarField& betav =
|
||||||
|
U_.db().lookupObject<volScalarField>("betav");
|
||||||
|
|
||||||
return (0.5*rho_)*CR_*mag(U_) + (Csu*I)*betav*turbulence_.muEff()*Aw2_;
|
return (0.5*rho_)*CR_*mag(U_) + (Csu*I)*betav*turbulence_.muEff()*sqr(Aw_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::tmp<Foam::volScalarField> Foam::PDRDragModels::basic::Gk() const
|
Foam::tmp<Foam::volScalarField> Foam::PDRDragModels::basic::Gk() const
|
||||||
{
|
{
|
||||||
const volScalarField& betav = U_.db().lookupObject<volScalarField>("betav");
|
const volScalarField& betav =
|
||||||
|
U_.db().lookupObject<volScalarField>("betav");
|
||||||
|
|
||||||
|
const volSymmTensorField& CT =
|
||||||
|
U_.db().lookupObject<volSymmTensorField>("CT");
|
||||||
|
|
||||||
return
|
return
|
||||||
(0.5*rho_)*mag(U_)*(U_ & CT_ & U_)
|
(0.5*rho_)*mag(U_)*(U_ & CT & U_)
|
||||||
+ Csk*betav*turbulence_.muEff()*Aw2_*magSqr(U_);
|
+ Csk*betav*turbulence_.muEff()*sqr(Aw_)*magSqr(U_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -141,4 +123,10 @@ bool Foam::PDRDragModels::basic::read(const dictionary& PDRProperties)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Foam::PDRDragModels::basic::writeFields() const
|
||||||
|
{
|
||||||
|
Aw_.write();
|
||||||
|
CR_.write();
|
||||||
|
}
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -102,9 +102,8 @@ class basic
|
|||||||
dimensionedScalar Csu;
|
dimensionedScalar Csu;
|
||||||
dimensionedScalar Csk;
|
dimensionedScalar Csk;
|
||||||
|
|
||||||
volScalarField Aw2_;
|
volScalarField Aw_;
|
||||||
volSymmTensorField CR_;
|
volSymmTensorField CR_;
|
||||||
volSymmTensorField CT_;
|
|
||||||
|
|
||||||
|
|
||||||
// Private Member Functions
|
// Private Member Functions
|
||||||
@ -149,6 +148,9 @@ public:
|
|||||||
|
|
||||||
//- Update properties from given dictionary
|
//- Update properties from given dictionary
|
||||||
virtual bool read(const dictionary& PDRProperties);
|
virtual bool read(const dictionary& PDRProperties);
|
||||||
|
|
||||||
|
//- Write fields
|
||||||
|
void writeFields() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -55,12 +55,42 @@ PDRkEpsilon::PDRkEpsilon
|
|||||||
const word& modelName
|
const word& modelName
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
kEpsilon(rho, U, phi, thermophysicalModel, turbulenceModelName, modelName)
|
kEpsilon(rho, U, phi, thermophysicalModel, turbulenceModelName, modelName),
|
||||||
|
|
||||||
|
C4_
|
||||||
|
(
|
||||||
|
dimensioned<scalar>::lookupOrAddToDict
|
||||||
|
(
|
||||||
|
"C4",
|
||||||
|
coeffDict_,
|
||||||
|
0.1
|
||||||
|
)
|
||||||
|
)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
PDRkEpsilon::~PDRkEpsilon()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
bool PDRkEpsilon::read()
|
||||||
|
{
|
||||||
|
if (RASModel::read())
|
||||||
|
{
|
||||||
|
C4_.readIfPresent(coeffDict_);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void PDRkEpsilon::correct()
|
void PDRkEpsilon::correct()
|
||||||
{
|
{
|
||||||
if (!turbulence_)
|
if (!turbulence_)
|
||||||
@ -89,18 +119,25 @@ void PDRkEpsilon::correct()
|
|||||||
volScalarField G("RASModel::G", mut_*(tgradU() && dev(twoSymm(tgradU()))));
|
volScalarField G("RASModel::G", mut_*(tgradU() && dev(twoSymm(tgradU()))));
|
||||||
tgradU.clear();
|
tgradU.clear();
|
||||||
|
|
||||||
// Update epsilon and G at the wall
|
// Update espsilon and G at the wall
|
||||||
epsilon_.boundaryField().updateCoeffs();
|
epsilon_.boundaryField().updateCoeffs();
|
||||||
|
|
||||||
// Add the blockage generation term so that it is included consistently
|
// Add the blockage generation term so that it is included consistently
|
||||||
// in both the k and epsilon equations
|
// in both the k and epsilon equations
|
||||||
const volScalarField& betav = U_.db().lookupObject<volScalarField>("betav");
|
const volScalarField& betav =
|
||||||
|
U_.db().lookupObject<volScalarField>("betav");
|
||||||
|
|
||||||
|
const volScalarField& Lobs =
|
||||||
|
U_.db().lookupObject<volScalarField>("Lobs");
|
||||||
|
|
||||||
const PDRDragModel& drag =
|
const PDRDragModel& drag =
|
||||||
U_.db().lookupObject<PDRDragModel>("PDRDragModel");
|
U_.db().lookupObject<PDRDragModel>("PDRDragModel");
|
||||||
|
|
||||||
volScalarField GR(drag.Gk());
|
volScalarField GR(drag.Gk());
|
||||||
|
|
||||||
|
volScalarField LI =
|
||||||
|
C4_*(Lobs + dimensionedScalar("minLength", dimLength, VSMALL));
|
||||||
|
|
||||||
// Dissipation equation
|
// Dissipation equation
|
||||||
tmp<fvScalarMatrix> epsEqn
|
tmp<fvScalarMatrix> epsEqn
|
||||||
(
|
(
|
||||||
@ -108,7 +145,8 @@ void PDRkEpsilon::correct()
|
|||||||
+ fvm::div(phi_, epsilon_)
|
+ fvm::div(phi_, epsilon_)
|
||||||
- fvm::laplacian(DepsilonEff(), epsilon_)
|
- fvm::laplacian(DepsilonEff(), epsilon_)
|
||||||
==
|
==
|
||||||
C1_*(betav*G + GR)*epsilon_/k_
|
C1_*betav*G*epsilon_/k_
|
||||||
|
+ 1.5*pow(Cmu_, 3.0/4.0)*GR*sqrt(k_)/LI
|
||||||
- fvm::SuSp(((2.0/3.0)*C1_)*betav*rho_*divU, epsilon_)
|
- fvm::SuSp(((2.0/3.0)*C1_)*betav*rho_*divU, epsilon_)
|
||||||
- fvm::Sp(C2_*betav*rho_*epsilon_/k_, epsilon_)
|
- fvm::Sp(C2_*betav*rho_*epsilon_/k_, epsilon_)
|
||||||
);
|
);
|
||||||
@ -138,7 +176,6 @@ void PDRkEpsilon::correct()
|
|||||||
solve(kEqn);
|
solve(kEqn);
|
||||||
bound(k_, kMin_);
|
bound(k_, kMin_);
|
||||||
|
|
||||||
|
|
||||||
// Re-calculate viscosity
|
// Re-calculate viscosity
|
||||||
mut_ = rho_*Cmu_*sqr(k_)/epsilon_;
|
mut_ = rho_*Cmu_*sqr(k_)/epsilon_;
|
||||||
mut_.correctBoundaryConditions();
|
mut_.correctBoundaryConditions();
|
||||||
|
|||||||
@ -25,23 +25,23 @@ Class
|
|||||||
Foam::compressible::RASModels::PDRkEpsilon
|
Foam::compressible::RASModels::PDRkEpsilon
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Standard k-epsilon turbulence model for compressible flow
|
Standard k-epsilon turbulence model with additional source terms
|
||||||
with additional source terms
|
|
||||||
corresponding to PDR basic drag model (\link basic.H \endlink)
|
corresponding to PDR basic drag model (\link basic.H \endlink)
|
||||||
|
|
||||||
The default model coefficients correspond to the following:
|
The default model coefficients correspond to the following:
|
||||||
\verbatim
|
@verbatim
|
||||||
PDRkEpsilonCoeffs
|
PDRkEpsilonCoeffs
|
||||||
{
|
{
|
||||||
Cmu 0.09;
|
Cmu 0.09;
|
||||||
C1 1.44;
|
C1 1.44;
|
||||||
C2 1.92;
|
C2 1.92;
|
||||||
C3 -0.33; // only for compressible
|
C3 -0.33; // only for compressible
|
||||||
|
C4 0.1;
|
||||||
sigmak 1.0; // only for compressible
|
sigmak 1.0; // only for compressible
|
||||||
sigmaEps 1.3;
|
sigmaEps 1.3;
|
||||||
Prt 1.0; // only for compressible
|
Prt 1.0; // only for compressible
|
||||||
}
|
}
|
||||||
\endverbatim
|
@endverbatim
|
||||||
|
|
||||||
The turbulence source term \f$ G_{R} \f$ appears in the
|
The turbulence source term \f$ G_{R} \f$ appears in the
|
||||||
\f$ \kappa-\epsilon \f$ equation for the generation of turbulence due to
|
\f$ \kappa-\epsilon \f$ equation for the generation of turbulence due to
|
||||||
@ -60,7 +60,7 @@ SourceFiles
|
|||||||
#ifndef compressiblePDRkEpsilon_H
|
#ifndef compressiblePDRkEpsilon_H
|
||||||
#define compressiblePDRkEpsilon_H
|
#define compressiblePDRkEpsilon_H
|
||||||
|
|
||||||
#include "RASModel.H"
|
|
||||||
#include "kEpsilon.H"
|
#include "kEpsilon.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
@ -80,6 +80,11 @@ class PDRkEpsilon
|
|||||||
:
|
:
|
||||||
public kEpsilon
|
public kEpsilon
|
||||||
{
|
{
|
||||||
|
// Private data
|
||||||
|
|
||||||
|
// Model coefficients
|
||||||
|
dimensionedScalar C4_;
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@ -102,15 +107,16 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
//- Destructor
|
//- Destructor
|
||||||
virtual ~PDRkEpsilon()
|
virtual ~PDRkEpsilon();
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
// Member Functions
|
||||||
|
|
||||||
//- Solve the turbulence equations and correct the turbulence viscosity
|
//- Solve the turbulence equations and correct the turbulence viscosity
|
||||||
virtual void correct();
|
void correct();
|
||||||
|
|
||||||
|
//- Read turbulenceProperties dictionary
|
||||||
|
bool read();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -49,8 +49,9 @@ Foam::XiEqModels::Gulder::Gulder
|
|||||||
)
|
)
|
||||||
:
|
:
|
||||||
XiEqModel(XiEqProperties, thermo, turbulence, Su),
|
XiEqModel(XiEqProperties, thermo, turbulence, Su),
|
||||||
XiEqCoef(readScalar(XiEqModelCoeffs_.lookup("XiEqCoef"))),
|
XiEqCoef_(readScalar(XiEqModelCoeffs_.lookup("XiEqCoef"))),
|
||||||
SuMin(0.01*Su.average())
|
SuMin_(0.01*Su.average()),
|
||||||
|
uPrimeCoef_(readScalar(XiEqModelCoeffs_.lookup("uPrimeCoef")))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
@ -66,19 +67,92 @@ Foam::tmp<Foam::volScalarField> Foam::XiEqModels::Gulder::XiEq() const
|
|||||||
{
|
{
|
||||||
volScalarField up(sqrt((2.0/3.0)*turbulence_.k()));
|
volScalarField up(sqrt((2.0/3.0)*turbulence_.k()));
|
||||||
const volScalarField& epsilon = turbulence_.epsilon();
|
const volScalarField& epsilon = turbulence_.epsilon();
|
||||||
|
const fvMesh& mesh = Su_.mesh();
|
||||||
|
|
||||||
|
const volVectorField& U = mesh.lookupObject<volVectorField>("U");
|
||||||
|
|
||||||
|
const volSymmTensorField& CT = mesh.lookupObject<volSymmTensorField>("CT");
|
||||||
|
const volScalarField& Nv = mesh.lookupObject<volScalarField>("Nv");
|
||||||
|
const volSymmTensorField& nsv =
|
||||||
|
mesh.lookupObject<volSymmTensorField>("nsv");
|
||||||
|
|
||||||
|
tmp<volScalarField> tN
|
||||||
|
(
|
||||||
|
new volScalarField
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"tN",
|
||||||
|
mesh.time().timeName(),
|
||||||
|
mesh,
|
||||||
|
IOobject::NO_READ,
|
||||||
|
IOobject::NO_WRITE,
|
||||||
|
false
|
||||||
|
),
|
||||||
|
mesh,
|
||||||
|
dimensionedScalar("zero", Nv.dimensions(), 0.0),
|
||||||
|
zeroGradientFvPatchVectorField::typeName
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
volScalarField& N = tN();
|
||||||
|
|
||||||
|
N.internalField() = Nv.internalField()*pow(mesh.V(), 2.0/3.0);
|
||||||
|
|
||||||
|
tmp<volSymmTensorField> tns
|
||||||
|
(
|
||||||
|
new volSymmTensorField
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"tns",
|
||||||
|
mesh.time().timeName(),
|
||||||
|
mesh,
|
||||||
|
IOobject::NO_READ,
|
||||||
|
IOobject::NO_WRITE
|
||||||
|
),
|
||||||
|
mesh,
|
||||||
|
dimensionedSymmTensor
|
||||||
|
(
|
||||||
|
"zero",
|
||||||
|
nsv.dimensions(),
|
||||||
|
pTraits<symmTensor>::zero
|
||||||
|
)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
volSymmTensorField& ns = tns();
|
||||||
|
|
||||||
|
ns.internalField() = nsv.internalField()*pow(mesh.V(), 2.0/3.0);
|
||||||
|
|
||||||
|
const volVectorField Uhat
|
||||||
|
(
|
||||||
|
U/(mag(U) + dimensionedScalar("Usmall", U.dimensions(), 1e-4))
|
||||||
|
);
|
||||||
|
|
||||||
|
const volScalarField nr(sqrt(max(N - (Uhat & ns & Uhat), 1e-4)));
|
||||||
|
|
||||||
|
const scalarField cellWidth(pow(mesh.V(), 1.0/3.0));
|
||||||
|
|
||||||
|
const scalarField upLocal(uPrimeCoef_*sqrt((U & CT & U)*cellWidth));
|
||||||
|
|
||||||
|
const scalarField deltaUp(upLocal*(max(1.0, pow(nr, 0.5)) - 1.0));
|
||||||
|
|
||||||
|
up.internalField() += deltaUp;
|
||||||
|
|
||||||
volScalarField tauEta(sqrt(mag(thermo_.muu()/(thermo_.rhou()*epsilon))));
|
volScalarField tauEta(sqrt(mag(thermo_.muu()/(thermo_.rhou()*epsilon))));
|
||||||
|
|
||||||
volScalarField Reta
|
volScalarField Reta =
|
||||||
(
|
(
|
||||||
up
|
up
|
||||||
/ (
|
/
|
||||||
|
(
|
||||||
sqrt(epsilon*tauEta)
|
sqrt(epsilon*tauEta)
|
||||||
+ dimensionedScalar("1e-8", up.dimensions(), 1e-8)
|
+ dimensionedScalar("1e-8", up.dimensions(), 1e-8)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
return 1.0 + XiEqCoef*sqrt(up/(Su_ + SuMin))*Reta;
|
return (1.0 + XiEqCoef_*sqrt(up/(Su_ + SuMin_))*Reta);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -86,7 +160,8 @@ bool Foam::XiEqModels::Gulder::read(const dictionary& XiEqProperties)
|
|||||||
{
|
{
|
||||||
XiEqModel::read(XiEqProperties);
|
XiEqModel::read(XiEqProperties);
|
||||||
|
|
||||||
XiEqModelCoeffs_.lookup("XiEqCoef") >> XiEqCoef;
|
XiEqModelCoeffs_.lookup("XiEqCoef") >> XiEqCoef_;
|
||||||
|
XiEqModelCoeffs_.lookup("uPrimeCoef") >> uPrimeCoef_;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -55,8 +55,14 @@ class Gulder
|
|||||||
{
|
{
|
||||||
// Private data
|
// Private data
|
||||||
|
|
||||||
scalar XiEqCoef;
|
//- Model constant
|
||||||
dimensionedScalar SuMin;
|
scalar XiEqCoef_;
|
||||||
|
|
||||||
|
//- Minimum laminar burning velocity
|
||||||
|
const dimensionedScalar SuMin_;
|
||||||
|
|
||||||
|
//- Model constant
|
||||||
|
scalar uPrimeCoef_;
|
||||||
|
|
||||||
|
|
||||||
// Private Member Functions
|
// Private Member Functions
|
||||||
@ -97,6 +103,7 @@ public:
|
|||||||
|
|
||||||
//- Update properties from given dictionary
|
//- Update properties from given dictionary
|
||||||
virtual bool read(const dictionary& XiEqProperties);
|
virtual bool read(const dictionary& XiEqProperties);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -27,7 +27,7 @@ Class
|
|||||||
Description
|
Description
|
||||||
Simple SCOPEBlendXiEq model for XiEq based on SCOPEXiEqs correlation
|
Simple SCOPEBlendXiEq model for XiEq based on SCOPEXiEqs correlation
|
||||||
with a linear correction function to give a plausible profile for XiEq.
|
with a linear correction function to give a plausible profile for XiEq.
|
||||||
See \link SCOPELaminarFlameSpeed.H \endlink for details on the SCOPE
|
See @link SCOPELaminarFlameSpeed.H @endlink for details on the SCOPE
|
||||||
laminar flame speed model.
|
laminar flame speed model.
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
@ -105,6 +105,7 @@ public:
|
|||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -49,10 +49,10 @@ Foam::XiEqModels::SCOPEXiEq::SCOPEXiEq
|
|||||||
)
|
)
|
||||||
:
|
:
|
||||||
XiEqModel(XiEqProperties, thermo, turbulence, Su),
|
XiEqModel(XiEqProperties, thermo, turbulence, Su),
|
||||||
XiEqCoef(readScalar(XiEqModelCoeffs_.lookup("XiEqCoef"))),
|
XiEqCoef_(readScalar(XiEqModelCoeffs_.lookup("XiEqCoef"))),
|
||||||
XiEqExp(readScalar(XiEqModelCoeffs_.lookup("XiEqExp"))),
|
XiEqExp_(readScalar(XiEqModelCoeffs_.lookup("XiEqExp"))),
|
||||||
lCoef(readScalar(XiEqModelCoeffs_.lookup("lCoef"))),
|
lCoef_(readScalar(XiEqModelCoeffs_.lookup("lCoef"))),
|
||||||
SuMin(0.01*Su.average()),
|
SuMin_(0.01*Su.average()),
|
||||||
MaModel
|
MaModel
|
||||||
(
|
(
|
||||||
IOdictionary
|
IOdictionary
|
||||||
@ -62,7 +62,7 @@ Foam::XiEqModels::SCOPEXiEq::SCOPEXiEq
|
|||||||
"combustionProperties",
|
"combustionProperties",
|
||||||
Su.mesh().time().constant(),
|
Su.mesh().time().constant(),
|
||||||
Su.mesh(),
|
Su.mesh(),
|
||||||
IOobject::MUST_READ_IF_MODIFIED
|
IOobject::MUST_READ
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
thermo
|
thermo
|
||||||
@ -84,10 +84,10 @@ Foam::tmp<Foam::volScalarField> Foam::XiEqModels::SCOPEXiEq::XiEq() const
|
|||||||
const volScalarField& epsilon = turbulence_.epsilon();
|
const volScalarField& epsilon = turbulence_.epsilon();
|
||||||
|
|
||||||
volScalarField up(sqrt((2.0/3.0)*k));
|
volScalarField up(sqrt((2.0/3.0)*k));
|
||||||
volScalarField l((lCoef*sqrt(3.0/2.0))*up*k/epsilon);
|
volScalarField l(lCoef_*sqrt(3.0/2.0)*up*k/epsilon);
|
||||||
volScalarField Rl(up*l*thermo_.rhou()/thermo_.muu());
|
volScalarField Rl(up*l*thermo_.rhou()/thermo_.muu());
|
||||||
|
|
||||||
volScalarField upBySu(up/(Su_ + SuMin));
|
volScalarField upBySu(up/(Su_ + SuMin_));
|
||||||
volScalarField K(0.157*upBySu/sqrt(Rl));
|
volScalarField K(0.157*upBySu/sqrt(Rl));
|
||||||
volScalarField Ma(MaModel.Ma());
|
volScalarField Ma(MaModel.Ma());
|
||||||
|
|
||||||
@ -114,7 +114,7 @@ Foam::tmp<Foam::volScalarField> Foam::XiEqModels::SCOPEXiEq::XiEq() const
|
|||||||
if (Ma[celli] > 0.01)
|
if (Ma[celli] > 0.01)
|
||||||
{
|
{
|
||||||
xieq[celli] =
|
xieq[celli] =
|
||||||
XiEqCoef*pow(K[celli]*Ma[celli], -XiEqExp)*upBySu[celli];
|
XiEqCoef_*pow(K[celli]*Ma[celli], -XiEqExp_)*upBySu[celli];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -130,7 +130,8 @@ Foam::tmp<Foam::volScalarField> Foam::XiEqModels::SCOPEXiEq::XiEq() const
|
|||||||
if (Ma[facei] > 0.01)
|
if (Ma[facei] > 0.01)
|
||||||
{
|
{
|
||||||
xieqp[facei] =
|
xieqp[facei] =
|
||||||
XiEqCoef*pow(Kp[facei]*Map[facei], -XiEqExp)*upBySup[facei];
|
XiEqCoef_*pow(Kp[facei]*Map[facei], -XiEqExp_)
|
||||||
|
*upBySup[facei];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -143,9 +144,9 @@ bool Foam::XiEqModels::SCOPEXiEq::read(const dictionary& XiEqProperties)
|
|||||||
{
|
{
|
||||||
XiEqModel::read(XiEqProperties);
|
XiEqModel::read(XiEqProperties);
|
||||||
|
|
||||||
XiEqModelCoeffs_.lookup("XiEqCoef") >> XiEqCoef;
|
XiEqModelCoeffs_.lookup("XiEqCoef") >> XiEqCoef_;
|
||||||
XiEqModelCoeffs_.lookup("XiEqExp") >> XiEqExp;
|
XiEqModelCoeffs_.lookup("XiEqExp") >> XiEqExp_;
|
||||||
XiEqModelCoeffs_.lookup("lCoef") >> lCoef;
|
XiEqModelCoeffs_.lookup("lCoef") >> lCoef_;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -58,10 +58,10 @@ class SCOPEXiEq
|
|||||||
{
|
{
|
||||||
// Private data
|
// Private data
|
||||||
|
|
||||||
scalar XiEqCoef;
|
scalar XiEqCoef_;
|
||||||
scalar XiEqExp;
|
scalar XiEqExp_;
|
||||||
scalar lCoef;
|
scalar lCoef_;
|
||||||
dimensionedScalar SuMin;
|
dimensionedScalar SuMin_;
|
||||||
|
|
||||||
//- The SCOPE laminar flame speed model used to obtain the
|
//- The SCOPE laminar flame speed model used to obtain the
|
||||||
// Marstein number. Note: the laminar flame speed need not be
|
// Marstein number. Note: the laminar flame speed need not be
|
||||||
@ -107,6 +107,7 @@ public:
|
|||||||
|
|
||||||
//- Update properties from given dictionary
|
//- Update properties from given dictionary
|
||||||
virtual bool read(const dictionary& XiEqProperties);
|
virtual bool read(const dictionary& XiEqProperties);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -53,7 +53,31 @@ Foam::XiEqModel::XiEqModel
|
|||||||
),
|
),
|
||||||
thermo_(thermo),
|
thermo_(thermo),
|
||||||
turbulence_(turbulence),
|
turbulence_(turbulence),
|
||||||
Su_(Su)
|
Su_(Su),
|
||||||
|
Nv_
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"Nv",
|
||||||
|
Su.mesh().facesInstance(),
|
||||||
|
Su.mesh(),
|
||||||
|
IOobject::MUST_READ,
|
||||||
|
IOobject::NO_WRITE
|
||||||
|
),
|
||||||
|
Su.mesh()
|
||||||
|
),
|
||||||
|
nsv_
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"nsv",
|
||||||
|
Su.mesh().facesInstance(),
|
||||||
|
Su.mesh(),
|
||||||
|
IOobject::MUST_READ,
|
||||||
|
IOobject::NO_WRITE
|
||||||
|
),
|
||||||
|
Su.mesh()
|
||||||
|
)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
@ -73,4 +97,16 @@ bool Foam::XiEqModel::read(const dictionary& XiEqProperties)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Foam::XiEqModel::writeFields() const
|
||||||
|
{
|
||||||
|
Nv_.write();
|
||||||
|
nsv_.write();
|
||||||
|
if (Su_.mesh().foundObject<volSymmTensorField>("B"))
|
||||||
|
{
|
||||||
|
const volSymmTensorField& B =
|
||||||
|
Su_.mesh().lookupObject<volSymmTensorField>("B");
|
||||||
|
B.write();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -67,6 +67,8 @@ protected:
|
|||||||
const hhuCombustionThermo& thermo_;
|
const hhuCombustionThermo& thermo_;
|
||||||
const compressible::RASModel& turbulence_;
|
const compressible::RASModel& turbulence_;
|
||||||
const volScalarField& Su_;
|
const volScalarField& Su_;
|
||||||
|
volScalarField Nv_;
|
||||||
|
volSymmTensorField nsv_;
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -146,6 +148,9 @@ public:
|
|||||||
|
|
||||||
//- Update properties from given dictionary
|
//- Update properties from given dictionary
|
||||||
virtual bool read(const dictionary& XiEqProperties) = 0;
|
virtual bool read(const dictionary& XiEqProperties) = 0;
|
||||||
|
|
||||||
|
//- Write fields
|
||||||
|
void writeFields() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -64,7 +64,7 @@ Foam::XiEqModels::instability::~instability()
|
|||||||
|
|
||||||
Foam::tmp<Foam::volScalarField> Foam::XiEqModels::instability::XiEq() const
|
Foam::tmp<Foam::volScalarField> Foam::XiEqModels::instability::XiEq() const
|
||||||
{
|
{
|
||||||
volScalarField turbXiEq(XiEqModel_->XiEq());
|
volScalarField turbXiEq = XiEqModel_->XiEq();
|
||||||
return XiEqIn/turbXiEq + turbXiEq;
|
return XiEqIn/turbXiEq + turbXiEq;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -27,7 +27,7 @@ Class
|
|||||||
Description
|
Description
|
||||||
This is the equilibrium level of the flame wrinkling generated by
|
This is the equilibrium level of the flame wrinkling generated by
|
||||||
instability. It is a constant (default 2.5). It is used in
|
instability. It is a constant (default 2.5). It is used in
|
||||||
\link XiModel.H \endlink.
|
@link XiModel.H @endlink.
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
instability.C
|
instability.C
|
||||||
@ -101,6 +101,7 @@ public:
|
|||||||
|
|
||||||
//- Update properties from given dictionary
|
//- Update properties from given dictionary
|
||||||
virtual bool read(const dictionary& XiEqProperties);
|
virtual bool read(const dictionary& XiEqProperties);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -49,7 +49,7 @@ Foam::XiGModels::KTS::KTS
|
|||||||
)
|
)
|
||||||
:
|
:
|
||||||
XiGModel(XiGProperties, thermo, turbulence, Su),
|
XiGModel(XiGProperties, thermo, turbulence, Su),
|
||||||
GEtaCoef(readScalar(XiGModelCoeffs_.lookup("GEtaCoef")))
|
GEtaCoef_(readScalar(XiGModelCoeffs_.lookup("GEtaCoef")))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
@ -63,13 +63,12 @@ Foam::XiGModels::KTS::~KTS()
|
|||||||
|
|
||||||
Foam::tmp<Foam::volScalarField> Foam::XiGModels::KTS::G() const
|
Foam::tmp<Foam::volScalarField> Foam::XiGModels::KTS::G() const
|
||||||
{
|
{
|
||||||
// volScalarField up(sqrt((2.0/3.0)*turbulence_.k()));
|
volScalarField up(sqrt((2.0/3.0)*turbulence_.k()));
|
||||||
const volScalarField& epsilon = turbulence_.epsilon();
|
const volScalarField& epsilon = turbulence_.epsilon();
|
||||||
|
|
||||||
tmp<volScalarField> tauEta =
|
volScalarField tauEta(sqrt(mag(thermo_.muu()/(thermo_.rhou()*epsilon))));
|
||||||
sqrt(mag(thermo_.muu()/(thermo_.rhou()*epsilon)));
|
|
||||||
|
|
||||||
return GEtaCoef/tauEta;
|
return (GEtaCoef_/tauEta);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -77,7 +76,7 @@ bool Foam::XiGModels::KTS::read(const dictionary& XiGProperties)
|
|||||||
{
|
{
|
||||||
XiGModel::read(XiGProperties);
|
XiGModel::read(XiGProperties);
|
||||||
|
|
||||||
XiGModelCoeffs_.lookup("GEtaCoef") >> GEtaCoef;
|
XiGModelCoeffs_.lookup("GEtaCoef") >> GEtaCoef_;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -55,7 +55,7 @@ class KTS
|
|||||||
{
|
{
|
||||||
// Private data
|
// Private data
|
||||||
|
|
||||||
scalar GEtaCoef;
|
scalar GEtaCoef_;
|
||||||
|
|
||||||
|
|
||||||
// Private Member Functions
|
// Private Member Functions
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -49,8 +49,8 @@ Foam::XiGModels::instabilityG::instabilityG
|
|||||||
)
|
)
|
||||||
:
|
:
|
||||||
XiGModel(XiGProperties, thermo, turbulence, Su),
|
XiGModel(XiGProperties, thermo, turbulence, Su),
|
||||||
GIn(XiGModelCoeffs_.lookup("GIn")),
|
GIn_(XiGModelCoeffs_.lookup("GIn")),
|
||||||
lambdaIn(XiGModelCoeffs_.lookup("lambdaIn")),
|
lambdaIn_(XiGModelCoeffs_.lookup("lambdaIn")),
|
||||||
XiGModel_(XiGModel::New(XiGModelCoeffs_, thermo, turbulence, Su))
|
XiGModel_(XiGModel::New(XiGModelCoeffs_, thermo, turbulence, Su))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
@ -66,7 +66,7 @@ Foam::XiGModels::instabilityG::~instabilityG()
|
|||||||
Foam::tmp<Foam::volScalarField> Foam::XiGModels::instabilityG::G() const
|
Foam::tmp<Foam::volScalarField> Foam::XiGModels::instabilityG::G() const
|
||||||
{
|
{
|
||||||
volScalarField turbXiG(XiGModel_->G());
|
volScalarField turbXiG(XiGModel_->G());
|
||||||
return GIn*GIn/(GIn + turbXiG) + turbXiG;
|
return (GIn_*GIn_/(GIn_ + turbXiG) + turbXiG);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -78,7 +78,7 @@ Foam::tmp<Foam::volScalarField> Foam::XiGModels::instabilityG::Db() const
|
|||||||
const volScalarField& mgb = db.lookupObject<volScalarField>("mgb");
|
const volScalarField& mgb = db.lookupObject<volScalarField>("mgb");
|
||||||
|
|
||||||
return XiGModel_->Db()
|
return XiGModel_->Db()
|
||||||
+ rho*Su_*(Xi - 1.0)*mgb*(0.5*lambdaIn)/(mgb + 1.0/lambdaIn);
|
+ rho*Su_*(Xi - 1.0)*mgb*(0.5*lambdaIn_)/(mgb + 1.0/lambdaIn_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -86,8 +86,8 @@ bool Foam::XiGModels::instabilityG::read(const dictionary& XiGProperties)
|
|||||||
{
|
{
|
||||||
XiGModel::read(XiGProperties);
|
XiGModel::read(XiGProperties);
|
||||||
|
|
||||||
XiGModelCoeffs_.lookup("GIn") >> GIn;
|
XiGModelCoeffs_.lookup("GIn") >> GIn_;
|
||||||
XiGModelCoeffs_.lookup("lambdaIn") >> lambdaIn;
|
XiGModelCoeffs_.lookup("lambdaIn") >> lambdaIn_;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -58,10 +58,10 @@ class instabilityG
|
|||||||
// Private data
|
// Private data
|
||||||
|
|
||||||
//- Flame instabilityG wrinling generation rate coefficient
|
//- Flame instabilityG wrinling generation rate coefficient
|
||||||
dimensionedScalar GIn;
|
dimensionedScalar GIn_;
|
||||||
|
|
||||||
//- InstabilityG length-scale
|
//- InstabilityG length-scale
|
||||||
dimensionedScalar lambdaIn;
|
dimensionedScalar lambdaIn_;
|
||||||
|
|
||||||
//- Xi generation rate model due to all other processes
|
//- Xi generation rate model due to all other processes
|
||||||
autoPtr<XiGModel> XiGModel_;
|
autoPtr<XiGModel> XiGModel_;
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -237,6 +237,9 @@ public:
|
|||||||
|
|
||||||
//- Update properties from given dictionary
|
//- Update properties from given dictionary
|
||||||
virtual bool read(const dictionary& XiProperties) = 0;
|
virtual bool read(const dictionary& XiProperties) = 0;
|
||||||
|
|
||||||
|
//- Write fields related to Xi model
|
||||||
|
virtual void writeFields() = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 1991-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -109,6 +109,13 @@ public:
|
|||||||
|
|
||||||
//- Update properties from given dictionary
|
//- Update properties from given dictionary
|
||||||
virtual bool read(const dictionary& XiProperties);
|
virtual bool read(const dictionary& XiProperties);
|
||||||
|
|
||||||
|
//- Write fields of the XiEq model
|
||||||
|
virtual void writeFields()
|
||||||
|
{
|
||||||
|
XiEqModel_().writeFields();
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -95,6 +95,11 @@ public:
|
|||||||
|
|
||||||
//- Update properties from given dictionary
|
//- Update properties from given dictionary
|
||||||
virtual bool read(const dictionary& XiProperties);
|
virtual bool read(const dictionary& XiProperties);
|
||||||
|
|
||||||
|
//- Write fields of the XiEq model
|
||||||
|
virtual void writeFields()
|
||||||
|
{}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -124,6 +124,12 @@ public:
|
|||||||
|
|
||||||
//- Update properties from given dictionary
|
//- Update properties from given dictionary
|
||||||
virtual bool read(const dictionary& XiProperties);
|
virtual bool read(const dictionary& XiProperties);
|
||||||
|
|
||||||
|
//- Write fields of the XiEq model
|
||||||
|
virtual void writeFields()
|
||||||
|
{
|
||||||
|
XiEqModel_().writeFields();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -30,7 +30,6 @@
|
|||||||
|
|
||||||
//const volScalarField& T = thermo->T();
|
//const volScalarField& T = thermo->T();
|
||||||
|
|
||||||
|
|
||||||
Info<< "\nReading field U\n" << endl;
|
Info<< "\nReading field U\n" << endl;
|
||||||
volVectorField U
|
volVectorField U
|
||||||
(
|
(
|
||||||
@ -94,8 +93,35 @@
|
|||||||
IOobject
|
IOobject
|
||||||
(
|
(
|
||||||
"betav",
|
"betav",
|
||||||
runTime.findInstance(polyMesh::meshSubDir, "betav"),
|
mesh.facesInstance(),
|
||||||
polyMesh::meshSubDir,
|
mesh,
|
||||||
|
IOobject::MUST_READ,
|
||||||
|
IOobject::NO_WRITE
|
||||||
|
),
|
||||||
|
mesh
|
||||||
|
);
|
||||||
|
|
||||||
|
Info<< "Reading field Lobs\n" << endl;
|
||||||
|
volScalarField Lobs
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"Lobs",
|
||||||
|
mesh.facesInstance(),
|
||||||
|
mesh,
|
||||||
|
IOobject::MUST_READ,
|
||||||
|
IOobject::NO_WRITE
|
||||||
|
),
|
||||||
|
mesh
|
||||||
|
);
|
||||||
|
|
||||||
|
Info<< "Reading field CT\n" << endl;
|
||||||
|
volSymmTensorField CT
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"CT",
|
||||||
|
mesh.facesInstance(),
|
||||||
mesh,
|
mesh,
|
||||||
IOobject::MUST_READ,
|
IOobject::MUST_READ,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 1991-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -23,6 +23,7 @@ License
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "IFstream.H"
|
||||||
#include "SCOPELaminarFlameSpeed.H"
|
#include "SCOPELaminarFlameSpeed.H"
|
||||||
#include "addToRunTimeSelectionTable.H"
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|
||||||
@ -68,7 +69,19 @@ Foam::laminarFlameSpeedModels::SCOPE::SCOPE
|
|||||||
:
|
:
|
||||||
laminarFlameSpeed(dict, ct),
|
laminarFlameSpeed(dict, ct),
|
||||||
|
|
||||||
coeffsDict_(dict.subDict(typeName + "Coeffs").subDict(fuel_)),
|
coeffsDict_
|
||||||
|
(
|
||||||
|
dictionary
|
||||||
|
(
|
||||||
|
IFstream
|
||||||
|
(
|
||||||
|
fileName
|
||||||
|
(
|
||||||
|
dict.lookup("fuelFile")
|
||||||
|
)
|
||||||
|
)()
|
||||||
|
).subDict(typeName + "Coeffs")
|
||||||
|
),
|
||||||
LFL_(readScalar(coeffsDict_.lookup("lowerFlamabilityLimit"))),
|
LFL_(readScalar(coeffsDict_.lookup("lowerFlamabilityLimit"))),
|
||||||
UFL_(readScalar(coeffsDict_.lookup("upperFlamabilityLimit"))),
|
UFL_(readScalar(coeffsDict_.lookup("upperFlamabilityLimit"))),
|
||||||
SuPolyL_(coeffsDict_.subDict("lowerSuPolynomial")),
|
SuPolyL_(coeffsDict_.subDict("lowerSuPolynomial")),
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -134,7 +134,7 @@ class SCOPE
|
|||||||
polynomial MaPolyU_;
|
polynomial MaPolyU_;
|
||||||
|
|
||||||
|
|
||||||
// Private Member Functions
|
// Private member functions
|
||||||
|
|
||||||
//- Polynomial evaluated from the given equivalence ratio
|
//- Polynomial evaluated from the given equivalence ratio
|
||||||
// and polynomial coefficients
|
// and polynomial coefficients
|
||||||
|
|||||||
@ -0,0 +1,3 @@
|
|||||||
|
icoUncoupledKinematicParcelDyMFoam.C
|
||||||
|
|
||||||
|
EXE = $(FOAM_APPBIN)/icoUncoupledKinematicParcelDyMFoam
|
||||||
@ -1,4 +1,5 @@
|
|||||||
EXE_INC = \
|
EXE_INC = \
|
||||||
|
-I../icoUncoupledKinematicParcelFoam \
|
||||||
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
||||||
-I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
|
-I$(LIB_SRC)/lagrangian/intermediate/lnInclude \
|
||||||
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
-I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \
|
||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -36,7 +36,7 @@ Description
|
|||||||
#include "dynamicFvMesh.H"
|
#include "dynamicFvMesh.H"
|
||||||
#include "singlePhaseTransportModel.H"
|
#include "singlePhaseTransportModel.H"
|
||||||
#include "turbulenceModel.H"
|
#include "turbulenceModel.H"
|
||||||
#include "basicKinematicCloud.H"
|
#include "basicKinematicCollidingCloud.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
icoUncoupledKinematicParcelFoam.C
|
||||||
|
|
||||||
|
EXE = $(FOAM_APPBIN)/icoUncoupledKinematicParcelFoam
|
||||||
@ -75,7 +75,7 @@
|
|||||||
args.optionReadIfPresent("cloudName", kinematicCloudName);
|
args.optionReadIfPresent("cloudName", kinematicCloudName);
|
||||||
|
|
||||||
Info<< "Constructing kinematicCloud " << kinematicCloudName << endl;
|
Info<< "Constructing kinematicCloud " << kinematicCloudName << endl;
|
||||||
basicKinematicCloud kinematicCloud
|
basicKinematicCollidingCloud kinematicCloud
|
||||||
(
|
(
|
||||||
kinematicCloudName,
|
kinematicCloudName,
|
||||||
rhoInf,
|
rhoInf,
|
||||||
@ -89,30 +89,17 @@
|
|||||||
"H",
|
"H",
|
||||||
runTime.timeName(),
|
runTime.timeName(),
|
||||||
mesh,
|
mesh,
|
||||||
IOobject::NO_READ
|
IOobject::MUST_READ,
|
||||||
|
IOobject::AUTO_WRITE
|
||||||
);
|
);
|
||||||
|
|
||||||
autoPtr<volVectorField> HPtr_;
|
autoPtr<volVectorField> HPtr;
|
||||||
|
|
||||||
if (Hheader.headerOk())
|
if (Hheader.headerOk())
|
||||||
{
|
{
|
||||||
Info<< "\nReading field H\n" << endl;
|
Info<< "\nReading field H\n" << endl;
|
||||||
|
|
||||||
HPtr_.reset
|
HPtr.reset(new volVectorField (Hheader, mesh));
|
||||||
(
|
|
||||||
new volVectorField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"H",
|
|
||||||
runTime.timeName(),
|
|
||||||
mesh,
|
|
||||||
IOobject::MUST_READ,
|
|
||||||
IOobject::AUTO_WRITE
|
|
||||||
),
|
|
||||||
mesh
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
IOobject HdotGradHheader
|
IOobject HdotGradHheader
|
||||||
@ -120,28 +107,17 @@
|
|||||||
"HdotGradH",
|
"HdotGradH",
|
||||||
runTime.timeName(),
|
runTime.timeName(),
|
||||||
mesh,
|
mesh,
|
||||||
IOobject::NO_READ
|
IOobject::MUST_READ,
|
||||||
|
IOobject::AUTO_WRITE
|
||||||
);
|
);
|
||||||
|
|
||||||
autoPtr<volVectorField> HdotGradHPtr_;
|
autoPtr<volVectorField> HdotGradHPtr;
|
||||||
|
|
||||||
if (HdotGradHheader.headerOk())
|
if (HdotGradHheader.headerOk())
|
||||||
{
|
{
|
||||||
Info<< "Reading field HdotGradH" << endl;
|
Info<< "Reading field HdotGradH" << endl;
|
||||||
|
|
||||||
HdotGradHPtr_.reset
|
HdotGradHPtr.reset(new volVectorField(HdotGradHheader, mesh));
|
||||||
(
|
|
||||||
new volVectorField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"HdotGradH",
|
|
||||||
runTime.timeName(),
|
|
||||||
mesh,
|
|
||||||
IOobject::MUST_READ,
|
|
||||||
IOobject::AUTO_WRITE
|
|
||||||
),
|
|
||||||
mesh
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#include "createNonInertialFrameFields.H"
|
||||||
@ -0,0 +1,88 @@
|
|||||||
|
Info<< "Reading non-inertial frame fields" << endl;
|
||||||
|
|
||||||
|
IOobject linearAccelerationHeader
|
||||||
|
(
|
||||||
|
"linearAcceleration",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh,
|
||||||
|
IOobject::MUST_READ,
|
||||||
|
IOobject::AUTO_WRITE
|
||||||
|
);
|
||||||
|
|
||||||
|
autoPtr<uniformDimensionedVectorField> linearAccelerationPtr;
|
||||||
|
|
||||||
|
if (linearAccelerationHeader.headerOk())
|
||||||
|
{
|
||||||
|
Info<< " Reading " << linearAccelerationHeader.name() << endl;
|
||||||
|
|
||||||
|
linearAccelerationPtr.reset
|
||||||
|
(
|
||||||
|
new uniformDimensionedVectorField(linearAccelerationHeader)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
IOobject angularVelocityHeader
|
||||||
|
(
|
||||||
|
"angularVelocity",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh,
|
||||||
|
IOobject::MUST_READ,
|
||||||
|
IOobject::AUTO_WRITE
|
||||||
|
);
|
||||||
|
|
||||||
|
autoPtr<uniformDimensionedVectorField> angularVelocityPtr;
|
||||||
|
|
||||||
|
if (angularVelocityHeader.headerOk())
|
||||||
|
{
|
||||||
|
Info<< " Reading " << angularVelocityHeader.name() << endl;
|
||||||
|
|
||||||
|
angularVelocityPtr.reset
|
||||||
|
(
|
||||||
|
new uniformDimensionedVectorField(angularVelocityHeader)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
IOobject angularAccelerationHeader
|
||||||
|
(
|
||||||
|
"angularAcceleration",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh,
|
||||||
|
IOobject::MUST_READ,
|
||||||
|
IOobject::AUTO_WRITE
|
||||||
|
);
|
||||||
|
|
||||||
|
autoPtr<uniformDimensionedVectorField> angularAccelerationPtr;
|
||||||
|
|
||||||
|
if (angularAccelerationHeader.headerOk())
|
||||||
|
{
|
||||||
|
Info<< " Reading " << angularAccelerationHeader.name() << endl;
|
||||||
|
|
||||||
|
angularAccelerationPtr.reset
|
||||||
|
(
|
||||||
|
new uniformDimensionedVectorField(angularAccelerationHeader)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
IOobject centreOfRotationHeader
|
||||||
|
(
|
||||||
|
"centreOfRotation",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh,
|
||||||
|
IOobject::MUST_READ,
|
||||||
|
IOobject::AUTO_WRITE
|
||||||
|
);
|
||||||
|
|
||||||
|
autoPtr<uniformDimensionedVectorField> centreOfRotationPtr;
|
||||||
|
|
||||||
|
if (centreOfRotationHeader.headerOk())
|
||||||
|
{
|
||||||
|
Info<< " Reading " << centreOfRotationHeader.name() << endl;
|
||||||
|
|
||||||
|
centreOfRotationPtr.reset
|
||||||
|
(
|
||||||
|
new uniformDimensionedVectorField(centreOfRotationHeader)
|
||||||
|
);
|
||||||
|
}
|
||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2008-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2008-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -35,7 +35,7 @@ Description
|
|||||||
#include "fvCFD.H"
|
#include "fvCFD.H"
|
||||||
#include "singlePhaseTransportModel.H"
|
#include "singlePhaseTransportModel.H"
|
||||||
#include "turbulenceModel.H"
|
#include "turbulenceModel.H"
|
||||||
#include "basicKinematicCloud.H"
|
#include "basicKinematicCollidingCloud.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
incompressibleUncoupledKinematicParcelDyMFoam.C
|
|
||||||
|
|
||||||
EXE = $(FOAM_APPBIN)/incompressibleUncoupledKinematicParcelDyMFoam
|
|
||||||
@ -1,147 +0,0 @@
|
|||||||
Info<< "\nReading transportProperties\n" << endl;
|
|
||||||
|
|
||||||
IOdictionary transportProperties
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"transportProperties",
|
|
||||||
runTime.constant(),
|
|
||||||
mesh,
|
|
||||||
IOobject::MUST_READ_IF_MODIFIED,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
dimensionedScalar rhoInfValue
|
|
||||||
(
|
|
||||||
transportProperties.lookup("rhoInf")
|
|
||||||
);
|
|
||||||
|
|
||||||
volScalarField rhoInf
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"rho",
|
|
||||||
runTime.timeName(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::AUTO_WRITE
|
|
||||||
),
|
|
||||||
mesh,
|
|
||||||
rhoInfValue
|
|
||||||
);
|
|
||||||
|
|
||||||
Info<< "Reading field U\n" << endl;
|
|
||||||
volVectorField U
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"U",
|
|
||||||
runTime.timeName(),
|
|
||||||
mesh,
|
|
||||||
IOobject::MUST_READ,
|
|
||||||
IOobject::AUTO_WRITE
|
|
||||||
),
|
|
||||||
mesh
|
|
||||||
);
|
|
||||||
|
|
||||||
#include "createPhi.H"
|
|
||||||
|
|
||||||
Info<< "Creating turbulence model\n" << endl;
|
|
||||||
|
|
||||||
singlePhaseTransportModel laminarTransport(U, phi);
|
|
||||||
|
|
||||||
const volScalarField nu(laminarTransport.nu());
|
|
||||||
|
|
||||||
autoPtr<incompressible::turbulenceModel> turbulence
|
|
||||||
(
|
|
||||||
incompressible::turbulenceModel::New(U, phi, laminarTransport)
|
|
||||||
);
|
|
||||||
|
|
||||||
volScalarField mu
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"mu",
|
|
||||||
runTime.timeName(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::AUTO_WRITE
|
|
||||||
),
|
|
||||||
nu*rhoInfValue
|
|
||||||
);
|
|
||||||
|
|
||||||
word kinematicCloudName("kinematicCloud");
|
|
||||||
args.optionReadIfPresent("cloudName", kinematicCloudName);
|
|
||||||
|
|
||||||
Info<< "Constructing kinematicCloud " << kinematicCloudName << endl;
|
|
||||||
basicKinematicCloud kinematicCloud
|
|
||||||
(
|
|
||||||
kinematicCloudName,
|
|
||||||
rhoInf,
|
|
||||||
U,
|
|
||||||
mu,
|
|
||||||
g
|
|
||||||
);
|
|
||||||
|
|
||||||
IOobject Hheader
|
|
||||||
(
|
|
||||||
"H",
|
|
||||||
runTime.timeName(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ
|
|
||||||
);
|
|
||||||
|
|
||||||
autoPtr<volVectorField> HPtr_;
|
|
||||||
|
|
||||||
if (Hheader.headerOk())
|
|
||||||
{
|
|
||||||
Info<< "\nReading field H\n" << endl;
|
|
||||||
|
|
||||||
HPtr_.reset
|
|
||||||
(
|
|
||||||
new volVectorField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"H",
|
|
||||||
runTime.timeName(),
|
|
||||||
mesh,
|
|
||||||
IOobject::MUST_READ,
|
|
||||||
IOobject::AUTO_WRITE
|
|
||||||
),
|
|
||||||
mesh
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
IOobject HdotGradHheader
|
|
||||||
(
|
|
||||||
"HdotGradH",
|
|
||||||
runTime.timeName(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ
|
|
||||||
);
|
|
||||||
|
|
||||||
autoPtr<volVectorField> HdotGradHPtr_;
|
|
||||||
|
|
||||||
if (HdotGradHheader.headerOk())
|
|
||||||
{
|
|
||||||
Info<< "Reading field HdotGradH" << endl;
|
|
||||||
|
|
||||||
HdotGradHPtr_.reset
|
|
||||||
(
|
|
||||||
new volVectorField
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"HdotGradH",
|
|
||||||
runTime.timeName(),
|
|
||||||
mesh,
|
|
||||||
IOobject::MUST_READ,
|
|
||||||
IOobject::AUTO_WRITE
|
|
||||||
),
|
|
||||||
mesh
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
incompressibleUncoupledKinematicParcelFoam.C
|
|
||||||
|
|
||||||
EXE = $(FOAM_APPBIN)/incompressibleUncoupledKinematicParcelFoam
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Build optional components (eg, may depend on third-party libraries)
|
|
||||||
# -----------------------------------------------------------------------------
|
|
||||||
cd ${0%/*} || exit 1 # run from this directory
|
|
||||||
set -x
|
|
||||||
|
|
||||||
# build tecio
|
|
||||||
wmake libso tecio/tecsrc
|
|
||||||
|
|
||||||
# build converter
|
|
||||||
wmake
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------- end-of-file
|
|
||||||
@ -1,5 +1,5 @@
|
|||||||
EXE_INC = \
|
EXE_INC = \
|
||||||
-Itecio/tecsrc/lnInclude \
|
-I$(WM_THIRD_PARTY_DIR)/tecio/tecsrc/lnInclude \
|
||||||
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
-I$(LIB_SRC)/lagrangian/basic/lnInclude \
|
||||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||||
-I$(LIB_SRC)/meshTools/lnInclude
|
-I$(LIB_SRC)/meshTools/lnInclude
|
||||||
@ -10,4 +10,4 @@ EXE_LIBS = \
|
|||||||
-lfiniteVolume \
|
-lfiniteVolume \
|
||||||
-lgenericPatchFields \
|
-lgenericPatchFields \
|
||||||
-lmeshTools \
|
-lmeshTools \
|
||||||
-ltecio
|
-L$(FOAM_EXT_LIBBIN) -ltecio
|
||||||
|
|||||||
@ -1,277 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
MAKEWHAT=
|
|
||||||
EXTRAFLAGS=
|
|
||||||
STRIPFLAG=-s
|
|
||||||
isrelease=n
|
|
||||||
skipcompile=n
|
|
||||||
if test $# -ge 1 ; then
|
|
||||||
Platname=$1
|
|
||||||
shift
|
|
||||||
while test $# -ge 1
|
|
||||||
do
|
|
||||||
if test "$1" = "-release" ; then
|
|
||||||
isrelease=y
|
|
||||||
elif test "$1" = "-skipcompile" ; then
|
|
||||||
skipcompile=y
|
|
||||||
elif test "$1" = "-tecio" ; then
|
|
||||||
MAKEWHAT=tecio.a
|
|
||||||
else
|
|
||||||
EXTRAFLAGS="$EXTRAFLAGS $1"
|
|
||||||
fi
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
else
|
|
||||||
echo "Choose platform:"
|
|
||||||
echo " "
|
|
||||||
echo " macux.104"
|
|
||||||
echo " macix64.105"
|
|
||||||
echo " sgix.62"
|
|
||||||
echo " sgix3.62"
|
|
||||||
echo " sgix.65"
|
|
||||||
echo " sgix64.65"
|
|
||||||
echo " sgix2.65"
|
|
||||||
echo " sun4.57"
|
|
||||||
echo " sun464.57"
|
|
||||||
echo " sun86.54"
|
|
||||||
echo " ibmx.43"
|
|
||||||
echo " ibmx64.43"
|
|
||||||
echo " ibmx.51"
|
|
||||||
echo " ibmx64.51"
|
|
||||||
echo " ibmx64.53"
|
|
||||||
echo " decalpha.32"
|
|
||||||
echo " compaq.51"
|
|
||||||
echo " hp7xx.11"
|
|
||||||
echo " hp7xx64.11"
|
|
||||||
echo " hpi64.11"
|
|
||||||
echo " linux.24"
|
|
||||||
echo " linuxi64.24"
|
|
||||||
echo " linux.22"
|
|
||||||
echo " linuxa.22"
|
|
||||||
echo " linuxg248x64.26"
|
|
||||||
echo " linuxg27x64.26"
|
|
||||||
echo " crayc90"
|
|
||||||
echo "->\c"
|
|
||||||
read Platname
|
|
||||||
|
|
||||||
echo "Choose:"
|
|
||||||
echo " 1. Make tecio.a only"
|
|
||||||
echo " 2. Make tecio.a and pltview"
|
|
||||||
|
|
||||||
read choice
|
|
||||||
|
|
||||||
if test $choice -eq 1 ;then
|
|
||||||
MAKEWHAT=tecio.a
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
MAKECMD=make
|
|
||||||
LINKFLAGS=
|
|
||||||
LINKLIBS=
|
|
||||||
AR=ar
|
|
||||||
ARFLAGS=qv
|
|
||||||
DISTSUBDIR2=
|
|
||||||
|
|
||||||
case $Platname in
|
|
||||||
mac*) CCOMP=g++
|
|
||||||
FINALCFLAGS="-arch ppc -arch i386 -arch ppc64 -arch x86_64 -DDARWIN -DLONGIS64 -I/usr/X11R6/include"
|
|
||||||
STRIPFLAG=-Wl,-x
|
|
||||||
LINKFLAGS="-arch ppc -arch i386 -arch ppc64 -arch x86_64"
|
|
||||||
;;
|
|
||||||
sgix.65-64) CCOMP=CC
|
|
||||||
FINALCFLAGS="-DIRISX -DLONGIS64 -mips4 -64"
|
|
||||||
LINKFLAGS="-mips4 -64"
|
|
||||||
;;
|
|
||||||
sgix64.65) CCOMP=CC
|
|
||||||
FINALCFLAGS="-DIRISX -DLONGIS64 -mips4 -64"
|
|
||||||
LINKFLAGS="-mips4 -64"
|
|
||||||
;;
|
|
||||||
sgix.65) CCOMP=CC
|
|
||||||
FINALCFLAGS="-DIRISX -mips4 -n32"
|
|
||||||
LINKFLAGS="-mips4 -n32"
|
|
||||||
;;
|
|
||||||
sgix2.65) CCOMP=CC
|
|
||||||
FINALCFLAGS="-DIRISX -o32"
|
|
||||||
LINKFLAGS="-o32"
|
|
||||||
;;
|
|
||||||
sgix.62-64) CCOMP=CC
|
|
||||||
FINALCFLAGS="-DIRISX -DIRIX62 -DLONGIS64 -mips4 -64"
|
|
||||||
LINKFLAGS="-mips4 -64"
|
|
||||||
;;
|
|
||||||
sgix.62) CCOMP=CC
|
|
||||||
FINALCFLAGS="-DIRISX -DIRIX62 -mips4 -n32"
|
|
||||||
LINKFLAGS="-mips4 -n32"
|
|
||||||
;;
|
|
||||||
sgix1.62) CCOMP=CC
|
|
||||||
FINALCFLAGS="-DIRISX -DIRIX62 -mips1 -32"
|
|
||||||
LINKFLAGS="-mips1 -32"
|
|
||||||
;;
|
|
||||||
sgix3.62) CCOMP=CC
|
|
||||||
FINALCFLAGS="-DIRISX -DIRIX62 -mips3 -n32"
|
|
||||||
LINKFLAGS="-mips3 -n32"
|
|
||||||
;;
|
|
||||||
ibmx.*) CCOMP=xlC
|
|
||||||
FINALCFLAGS=-DIBMRS6000X
|
|
||||||
;;
|
|
||||||
ibmx64.*) CCOMP=xlC
|
|
||||||
FINALCFLAGS="-DIBMRS6000X -DLONGIS64 -q64"
|
|
||||||
ARFLAGS="-X64 qv"
|
|
||||||
;;
|
|
||||||
compaq.51) CCOMP=cxx
|
|
||||||
FINALCFLAGS="-DCOMPAQX -I/usr/include -ieee_with_inexact"
|
|
||||||
;;
|
|
||||||
decalpha.32)CCOMP=cc
|
|
||||||
FINALCFLAGS="-DDECALPHAX -I/usr/include -ieee_with_inexact"
|
|
||||||
;;
|
|
||||||
hp7xx.*-64) CCOMP=aCC
|
|
||||||
FINALCFLAGS="+DD64 +DS2.0 -AA -DHPX -DLONGIS64 -I/usr/include/X11R6 -I/usr/include/Motif2.1"
|
|
||||||
LINKFLAGS="+DA2.0W +DD64 +DS2.0W"
|
|
||||||
;;
|
|
||||||
hp7xx64.11) CCOMP=aCC
|
|
||||||
FINALCFLAGS="+DA2.0W +DD64 +DS2.0W -AA -DHPX -DLONGIS64 -I/usr/include/X11R6 -I/usr/include/Motif2.1"
|
|
||||||
LINKFLAGS="+DA2.0W +DD64 +DS2.0W"
|
|
||||||
;;
|
|
||||||
hpi64.11) CCOMP=aCC
|
|
||||||
FINALCFLAGS="+DD64 -AA -DHPX -DLONGIS64 -I/usr/include/X11R6 -I/usr/include/Motif2.1"
|
|
||||||
LINKFLAGS="+DD64"
|
|
||||||
;;
|
|
||||||
hp7xx.11) CCOMP=aCC
|
|
||||||
FINALCFLAGS="+DAportable -AA -DHPX -I/usr/include/X11R6 -I/usr/include/Motif2.1"
|
|
||||||
LINKFLAGS="+DAportable"
|
|
||||||
;;
|
|
||||||
crayc90) CCOMP=cc
|
|
||||||
FINALCFLAGS="-DCRAY -DUNIXX"
|
|
||||||
;;
|
|
||||||
linux*i64.*)CCOMP=g++
|
|
||||||
FINALCFLAGS="-fPIC -DLINUX -DLINUXI64"
|
|
||||||
;;
|
|
||||||
linux*64.*) CCOMP=g++
|
|
||||||
FINALCFLAGS="-fPIC -DLINUX -DLINUX64"
|
|
||||||
;;
|
|
||||||
linux*) CCOMP=g++
|
|
||||||
FINALCFLAGS="-fPIC -DLINUX"
|
|
||||||
;;
|
|
||||||
sun4.54) CCOMP=/opt/SUNWspro/bin/CC
|
|
||||||
FINALCFLAGS="-DSUN -DSUNSOLARISX -I/usr/openwin/include -I/usr/dt/include -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg -xO1"
|
|
||||||
LINKFLAGS="-library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg"
|
|
||||||
MAKECMD=/usr/ccs/bin/make
|
|
||||||
AR=/opt/SUNWspro/bin/CC
|
|
||||||
ARFLAGS="-xar -o"
|
|
||||||
;;
|
|
||||||
sun4.55) CCOMP=/opt/SUNWspro/bin/CC
|
|
||||||
FINALCFLAGS="-DSUN -DSUNSOLARISX -I/usr/openwin/include -I/usr/dt/include -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg -xO1"
|
|
||||||
LINKFLAGS="-library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg"
|
|
||||||
MAKECMD=/usr/ccs/bin/make
|
|
||||||
AR=/opt/SUNWspro/bin/CC
|
|
||||||
ARFLAGS="-xar -o"
|
|
||||||
;;
|
|
||||||
sun4.57) CCOMP=/opt/SUNWspro/bin/CC
|
|
||||||
FINALCFLAGS="-DSUNSOLARISX -I/usr/openwin/include -I/usr/dt/include -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg -xO1"
|
|
||||||
LINKFLAGS="-library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg"
|
|
||||||
MAKECMD=/usr/ccs/bin/make
|
|
||||||
AR=/opt/SUNWspro/bin/CC
|
|
||||||
ARFLAGS="-xar -o"
|
|
||||||
;;
|
|
||||||
sun4.57-64) CCOMP=/opt/SUNWspro/bin/CC
|
|
||||||
FINALCFLAGS="-DSUNSOLARISX -DLONGIS64 -KPIC -xarch=v9 -I/usr/openwin/include -I/usr/dt/include -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg -xO1"
|
|
||||||
LINKFLAGS="-KPIC -xarch=v9 -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg"
|
|
||||||
MAKECMD=/usr/ccs/bin/make
|
|
||||||
AR=/opt/SUNWspro/bin/CC
|
|
||||||
ARFLAGS="-xar -o"
|
|
||||||
;;
|
|
||||||
sun464.57) CCOMP=/opt/SUNWspro/bin/CC
|
|
||||||
FINALCFLAGS="-DSUNSOLARISX -DLONGIS64 -KPIC -xarch=v9 -I/usr/openwin/include -I/usr/dt/include -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg -xO1"
|
|
||||||
LINKFLAGS="-KPIC -xarch=v9 -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg"
|
|
||||||
MAKECMD=/usr/ccs/bin/make
|
|
||||||
AR=/opt/SUNWspro/bin/CC
|
|
||||||
ARFLAGS="-xar -o"
|
|
||||||
;;
|
|
||||||
sun464.59) CCOMP=/opt/SUNWspro/bin/CC
|
|
||||||
FINALCFLAGS="-DSUNSOLARISX -DLONGIS64 -KPIC -m64 -xarch=generic -I/usr/openwin/include -I/usr/dt/include -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg -xO1"
|
|
||||||
LINKFLAGS="-KPIC -m64 -xarch=generic -library=libC -library=Cstd -library=no%rwtools7 -library=no%rwtools7_dbg"
|
|
||||||
MAKECMD=/usr/ccs/bin/make
|
|
||||||
AR=/opt/SUNWspro/bin/CC
|
|
||||||
ARFLAGS="-xar -o"
|
|
||||||
;;
|
|
||||||
sun86.54) CCOMP=/opt/SUNWspro/bin/CC
|
|
||||||
FINALCFLAGS="-DSUN -DSUNSOLARISX -I/usr/openwin/include -I/usr/dt/include"
|
|
||||||
MAKECMD=/usr/ccs/bin/make
|
|
||||||
AR=/opt/SUNWspro/bin/CC
|
|
||||||
ARFLAGS="-xar -o"
|
|
||||||
;;
|
|
||||||
*) echo "Err: Invalid platform"
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if test "$isrelease" = "y" ; then
|
|
||||||
EXTRAFLAGS="$EXTRAFLAGS -DNO_ASSERTS"
|
|
||||||
else
|
|
||||||
STRIPFLAG=
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$skipcompile" = "n" ; then
|
|
||||||
rm -f *.o */*.o *.a > /dev/null 2>&1
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -f *.a > /dev/null 2>&1
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
FINALCFLAGS="$FINALCFLAGS $EXTRAFLAGS -DUSEENUM -DTHREED"
|
|
||||||
#
|
|
||||||
# NOTE: Used to use make here but had problems with using remsh to run
|
|
||||||
# make multiple times to get 64 bit and 32 bit versions of libraries....
|
|
||||||
#
|
|
||||||
# $MAKECMD $MAKEWHAT AR=$AR CC=$CCOMP LINKFLAGS="$LINKFLAGS" STRIPFLAG=$STRIPFLAG CFLAGS="$EXTRAFLAGS -DUSEENUM -DTHREED $FINALCFLAGS"
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#
|
|
||||||
|
|
||||||
cd tecsrc
|
|
||||||
|
|
||||||
BASELIST=`/bin/ls -1 *.cpp`
|
|
||||||
|
|
||||||
OBJLIST=
|
|
||||||
for file in $BASELIST
|
|
||||||
do
|
|
||||||
OBJNAME=`echo $file | sed 's/\.cpp/.o/'`
|
|
||||||
OBJLIST="$OBJLIST tecsrc/$OBJNAME"
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if test "$skipcompile" = "n" ; then
|
|
||||||
for file in $BASELIST
|
|
||||||
do
|
|
||||||
case $file in
|
|
||||||
tecxxx.cpp) ARCHIVEFLAG=-DMAKEARCHIVE;;
|
|
||||||
arrlist.cpp) ARCHIVEFLAG=-DMAKEARCHIVE;;
|
|
||||||
datautil.cpp) ARCHIVEFLAG=-DMAKEARCHIVE;;
|
|
||||||
*) ARCHIVEFLAG= ;;
|
|
||||||
esac
|
|
||||||
echo "$CCOMP $FINALCFLAGS $ARCHIVEFLAG -c $file"
|
|
||||||
$CCOMP $FINALCFLAGS $ARCHIVEFLAG -c $file
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
pwd
|
|
||||||
|
|
||||||
|
|
||||||
echo "$AR $ARFLAGS tecio.a $OBJLIST"
|
|
||||||
$AR $ARFLAGS tecio.a $OBJLIST
|
|
||||||
if test -f /bin/ranlib ; then
|
|
||||||
/bin/ranlib tecio.a;
|
|
||||||
elif test -f /usr/bin/ranlib ; then
|
|
||||||
/usr/bin/ranlib tecio.a;
|
|
||||||
elif test -f /usr/ucb/ranlib ; then
|
|
||||||
/usr/ucb/ranlib tecio.a;
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "$CCOMP -I./tecsrc -DMAKEARCHIVE $FINALCFLAGS -c pltview.cpp"
|
|
||||||
$CCOMP -I./tecsrc -DMAKEARCHIVE $FINALCFLAGS -c pltview.cpp
|
|
||||||
|
|
||||||
echo "$CCOMP $FINALCFLAGS pltview.o tecio.a $LINKFLAGS $LINKLIBS $STRIPFLAG -lm -o pltview"
|
|
||||||
$CCOMP $FINALCFLAGS pltview.o tecio.a $LINKFLAGS $LINKLIBS $STRIPFLAG -lm -o pltview
|
|
||||||
Binary file not shown.
@ -1,11 +0,0 @@
|
|||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=arrow
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
||||||
@ -1,530 +0,0 @@
|
|||||||
/* This example creates two simple polyhedral zones in the shape
|
|
||||||
* of a three-dimensional arrow. Obscured boundary faces are used.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "TECIO.h"
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
/* DOCSTART:arrow_tecini.txt*/
|
|
||||||
INTEGER4 Debug = 1;
|
|
||||||
INTEGER4 VIsDouble = 1;
|
|
||||||
INTEGER4 FileType = 0;
|
|
||||||
INTEGER4 I;
|
|
||||||
|
|
||||||
/* Open the file and write the Tecplot datafile
|
|
||||||
* header information
|
|
||||||
*/
|
|
||||||
I = TECINI112((char*)"Multiple polyhedral zones", /* Name of the entire
|
|
||||||
* dataset.
|
|
||||||
*/
|
|
||||||
(char*)"X Y Z P", /* Defines the variables for the data
|
|
||||||
* file. Each zone must contain each of
|
|
||||||
* the variables listed here. The order
|
|
||||||
* of the variables in the list is used
|
|
||||||
* to define the variable number (e.g.
|
|
||||||
* X is Var 1).
|
|
||||||
*/
|
|
||||||
(char*)"Arrow.plt",
|
|
||||||
(char*)".", /* Scratch Directory */
|
|
||||||
&FileType,
|
|
||||||
&Debug,
|
|
||||||
&VIsDouble);
|
|
||||||
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
|
|
||||||
/* After TECINI is called, call TECZNE to create one or more
|
|
||||||
* zones for your data file. In this example, Zone 1 contains a
|
|
||||||
* single rectangular solid created as a face-based finite-element
|
|
||||||
* (i.e. polyhedral zone). The zone has eight points (or nodes),
|
|
||||||
* six faces and one element.
|
|
||||||
*/
|
|
||||||
/* DOCSTART:arrow_teczne_rect.txt*/
|
|
||||||
/* TECZNE Parameters */
|
|
||||||
INTEGER4 ZoneType = 7; /* sets the zone type
|
|
||||||
* to polyhedral */
|
|
||||||
INTEGER4 NumPts_Rect = 8;
|
|
||||||
INTEGER4 NumElems_Rect = 1;
|
|
||||||
INTEGER4 NumFaces_Rect = 6;
|
|
||||||
INTEGER4 ICellMax = 0; /* not used */
|
|
||||||
INTEGER4 JCellMax = 0; /* not used */
|
|
||||||
INTEGER4 KCellMax = 0; /* not used */
|
|
||||||
double SolutionTime = 0.0;
|
|
||||||
INTEGER4 StrandID = 0;
|
|
||||||
INTEGER4 ParentZone = 0;
|
|
||||||
INTEGER4 IsBlock = 1;
|
|
||||||
INTEGER4 NumFaceConnections = 0; /* not used */
|
|
||||||
INTEGER4 FaceNeighborMode = 1; /* not used */
|
|
||||||
INTEGER4 SharConn = 0;
|
|
||||||
|
|
||||||
/* In a rectangular solid, each face is composed of four nodes.
|
|
||||||
* As such, the total number of face nodes is twenty-four (four
|
|
||||||
* nodes for each of the six faces).
|
|
||||||
*/
|
|
||||||
INTEGER4 TotalNumFaceNodes_Rect = 24;
|
|
||||||
|
|
||||||
/* There is one connected boundary face in this zone (the face on
|
|
||||||
* the rectangle adjacent to the arrowhead). Refer to the Data
|
|
||||||
* Format Guide for additional information. */
|
|
||||||
INTEGER4 NumConnBndryFaces_Rect = 1;
|
|
||||||
|
|
||||||
/* The connected boundary face has one connection, the face on
|
|
||||||
* the bottom of the arrowhead. A connection is an element-zone
|
|
||||||
* tuple that indicates a neighboring element (and its zone) when
|
|
||||||
* the neighboring element is in a different zone. Generally,
|
|
||||||
* there will be one boundary connection for each boundary face.
|
|
||||||
*/
|
|
||||||
INTEGER4 TotalNumBndryConns_Rect = 1;
|
|
||||||
|
|
||||||
/* For illustrative purposes, the grid variables (X, Y, and Z)
|
|
||||||
* are nodal variables (i.e. ValueLocation = 1), and the pressure
|
|
||||||
* variable (P) is a cell-centered variable (i.e.
|
|
||||||
* ValueLocation = 0).
|
|
||||||
*/
|
|
||||||
INTEGER4 ValueLocation[4] = { 1, 1, 1, 0 };
|
|
||||||
|
|
||||||
I = TECZNE112((char*)"Zone 1: Rectangular Solid",
|
|
||||||
&ZoneType,
|
|
||||||
&NumPts_Rect,
|
|
||||||
&NumElems_Rect,
|
|
||||||
&NumFaces_Rect,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolutionTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZone,
|
|
||||||
&IsBlock,
|
|
||||||
&NumFaceConnections,
|
|
||||||
&FaceNeighborMode,
|
|
||||||
&TotalNumFaceNodes_Rect,
|
|
||||||
&NumConnBndryFaces_Rect,
|
|
||||||
&TotalNumBndryConns_Rect,
|
|
||||||
NULL,
|
|
||||||
ValueLocation,
|
|
||||||
NULL,
|
|
||||||
&SharConn);
|
|
||||||
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:arrow_tecdat_rect.txt*/
|
|
||||||
//set variable values (X_Rect, Y_Rect, Z_Rect & P_Rect)
|
|
||||||
double *X_Rect = new double[NumPts_Rect];
|
|
||||||
double *Y_Rect = new double[NumPts_Rect];
|
|
||||||
double *Z_Rect = new double[NumPts_Rect];
|
|
||||||
double *P_Rect = new double[NumElems_Rect];
|
|
||||||
|
|
||||||
for (INTEGER4 ii = 0; ii <= NumPts_Rect / 2; ii += 4)
|
|
||||||
{
|
|
||||||
X_Rect[ii] = 0;
|
|
||||||
X_Rect[ii+1] = 3;
|
|
||||||
X_Rect[ii+2] = 3;
|
|
||||||
X_Rect[ii+3] = 0;
|
|
||||||
|
|
||||||
Y_Rect[ii] = 3;
|
|
||||||
Y_Rect[ii+1] = 3;
|
|
||||||
Y_Rect[ii+2] = 1;
|
|
||||||
Y_Rect[ii+3] = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (INTEGER4 ii = 0; ii < 4; ii++)
|
|
||||||
Z_Rect[ii] = 0;
|
|
||||||
|
|
||||||
for (INTEGER4 ii = 4; ii < NumPts_Rect; ii++)
|
|
||||||
Z_Rect[ii] = -2;
|
|
||||||
|
|
||||||
P_Rect[0] = 10;
|
|
||||||
|
|
||||||
|
|
||||||
INTEGER4 IsDouble = 1;
|
|
||||||
I = TECDAT112(&NumPts_Rect, X_Rect, &IsDouble);
|
|
||||||
I = TECDAT112(&NumPts_Rect, Y_Rect, &IsDouble);
|
|
||||||
I = TECDAT112(&NumPts_Rect, Z_Rect, &IsDouble);
|
|
||||||
I = TECDAT112(&NumElems_Rect, P_Rect, &IsDouble);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:arrow_facenodes_rect.txt*/
|
|
||||||
|
|
||||||
/* The FaceNodeCounts array is used to describe the number of
|
|
||||||
* nodes in each face of the zone. The first value in the array
|
|
||||||
* is the number of nodes in Face 1, the second value is the
|
|
||||||
* number of nodes in Face 2 and so forth. In this example, each
|
|
||||||
* face of the zone has four nodes.
|
|
||||||
*/
|
|
||||||
|
|
||||||
INTEGER4 *FaceNodeCounts_Rect = new INTEGER4[NumFaces_Rect];
|
|
||||||
//For this particular zone, each face has the 4 nodes
|
|
||||||
for (INTEGER4 ii = 0; ii < NumFaces_Rect; ii++)
|
|
||||||
FaceNodeCounts_Rect[ii] = 4;
|
|
||||||
|
|
||||||
/* The FaceNodes array is used to specify the nodes that compose
|
|
||||||
* each face. For each face (n of N), the number of nodes used
|
|
||||||
* to define the face is specified by the nth value in the
|
|
||||||
* FaceNodeCounts array. For example, if the first value in the
|
|
||||||
* FaceNodeCounts array is 4 (indicating Face 1 is composed of
|
|
||||||
* four nodes), the first four values in the FaceNodes array are
|
|
||||||
* the node numbers of the nodes in Face 1.
|
|
||||||
*
|
|
||||||
* ------------
|
|
||||||
* WARNING
|
|
||||||
* When providing the node numbers for each face, you must
|
|
||||||
* provide the node numbers in a consistent order (either
|
|
||||||
* clockwise or counter-clockwise. Providing the node numbers
|
|
||||||
* out of order results in contorted faces.
|
|
||||||
* ------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
INTEGER4 *FaceNodes_Rect = new INTEGER4[TotalNumFaceNodes_Rect];
|
|
||||||
|
|
||||||
//Nodes for Face 1
|
|
||||||
FaceNodes_Rect[0] = 1;
|
|
||||||
FaceNodes_Rect[1] = 2;
|
|
||||||
FaceNodes_Rect[2] = 3;
|
|
||||||
FaceNodes_Rect[3] = 4;
|
|
||||||
|
|
||||||
//Nodes for Face 2
|
|
||||||
FaceNodes_Rect[4] = 1;
|
|
||||||
FaceNodes_Rect[5] = 4;
|
|
||||||
FaceNodes_Rect[6] = 8;
|
|
||||||
FaceNodes_Rect[7] = 5;
|
|
||||||
|
|
||||||
//Nodes for Face 3
|
|
||||||
FaceNodes_Rect[8] = 5;
|
|
||||||
FaceNodes_Rect[9] = 8;
|
|
||||||
FaceNodes_Rect[10] = 7;
|
|
||||||
FaceNodes_Rect[11] = 6;
|
|
||||||
|
|
||||||
//Nodes for Face 4
|
|
||||||
FaceNodes_Rect[12] = 2;
|
|
||||||
FaceNodes_Rect[13] = 6;
|
|
||||||
FaceNodes_Rect[14] = 7;
|
|
||||||
FaceNodes_Rect[15] = 3;
|
|
||||||
|
|
||||||
//Nodes for Face 5
|
|
||||||
FaceNodes_Rect[16] = 6;
|
|
||||||
FaceNodes_Rect[17] = 2;
|
|
||||||
FaceNodes_Rect[18] = 1;
|
|
||||||
FaceNodes_Rect[19] = 5;
|
|
||||||
|
|
||||||
//Nodes for Face 6
|
|
||||||
FaceNodes_Rect[20] = 3;
|
|
||||||
FaceNodes_Rect[21] = 7;
|
|
||||||
FaceNodes_Rect[22] = 8;
|
|
||||||
FaceNodes_Rect[23] = 4;
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:arrow_neighbors_rect.txt*/
|
|
||||||
INTEGER4 *FaceLeftElems_Rect = new INTEGER4[NumFaces_Rect];
|
|
||||||
INTEGER4 *FaceRightElems_Rect = new INTEGER4[NumFaces_Rect];
|
|
||||||
|
|
||||||
/* Since this zone has just one element, all leftelems are
|
|
||||||
* NoNeighboring Element and all right elems are itself
|
|
||||||
*/
|
|
||||||
for (INTEGER4 ii = 0; ii < NumFaces_Rect; ii++)
|
|
||||||
{
|
|
||||||
FaceRightElems_Rect[ii] = 1;
|
|
||||||
FaceLeftElems_Rect[ii] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The negative value in the FaceLeftElems array indicates that
|
|
||||||
* the face is connected to an element in another zone. In this
|
|
||||||
* case, Face 4 is connected to a face in Zone 2 (to be defined
|
|
||||||
* later in the example). The FaceBoundaryConnectionElems array
|
|
||||||
* lists all of the element numbers in other zones that the
|
|
||||||
* current zone shares boundary connections with. Similarly, the
|
|
||||||
* FaceBoundaryConnectionZones array lists all of the zone numbers
|
|
||||||
* with which the current zone shares boundaries. A negative
|
|
||||||
* value in the FaceLeftElems or FaceRightElems array indicates
|
|
||||||
* the position within these arrays that defines the neighboring
|
|
||||||
* element and zone for a face.
|
|
||||||
*
|
|
||||||
* For example, if the FaceBoundaryConnectionElems array is:
|
|
||||||
* [1 8 2] and the FaceBoundaryConnectionZones array is: [2 5 3],
|
|
||||||
* a FaceLeftElems or FaceRightElems value of -2 indicates that
|
|
||||||
* the face in question has a boundary connection with Element 8
|
|
||||||
* in Zone 5.
|
|
||||||
*/
|
|
||||||
FaceLeftElems_Rect[3] = -1;
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:arrow_tecpoly_rect.txt*/
|
|
||||||
/* The FaceBndryConnectionCounts array is used to define the
|
|
||||||
* number of boundary connections for each face that has a
|
|
||||||
* boundary connection. For example, if a zone has three boundary
|
|
||||||
* connections in total (NumConnectedBoundaryFaces), two of those
|
|
||||||
* boundary connections are in one face, and the remaining
|
|
||||||
* boundary connection is in a second face, the
|
|
||||||
* FaceBndryConnectionCounts array would be: [2 1].
|
|
||||||
* In this example, the total number of connected boundary faces
|
|
||||||
* (specified via TECZNE) is equal to one, so the
|
|
||||||
* FaceBoundaryConnectionCounts array contains a single value (1).
|
|
||||||
*/
|
|
||||||
INTEGER4 *FaceBndryConnCounts_Rect = new INTEGER4[NumConnBndryFaces_Rect];
|
|
||||||
FaceBndryConnCounts_Rect[0] = 1;
|
|
||||||
|
|
||||||
/* The value(s) in the FaceBndryConnectionElems and
|
|
||||||
* FaceBndryConnectionZones arrays specify the element number and
|
|
||||||
* zone number, respectively, that a given boundary connection is
|
|
||||||
* connected to. In this case, the boundary connection face is
|
|
||||||
* connected to Element 1 in Zone 2.
|
|
||||||
*/
|
|
||||||
INTEGER4 *FaceBndryConnElems_Rect = new INTEGER4[TotalNumBndryConns_Rect];
|
|
||||||
INTEGER4 *FaceBndryConnZones_Rect = new INTEGER4[TotalNumBndryConns_Rect];
|
|
||||||
|
|
||||||
FaceBndryConnElems_Rect[0] = 1;
|
|
||||||
FaceBndryConnZones_Rect[0] = 2;
|
|
||||||
|
|
||||||
I = TECPOLY112(FaceNodeCounts_Rect,
|
|
||||||
FaceNodes_Rect,
|
|
||||||
FaceLeftElems_Rect,
|
|
||||||
FaceRightElems_Rect,
|
|
||||||
FaceBndryConnCounts_Rect,
|
|
||||||
FaceBndryConnElems_Rect,
|
|
||||||
FaceBndryConnZones_Rect);
|
|
||||||
|
|
||||||
/* cleanup */
|
|
||||||
delete X_Rect;
|
|
||||||
delete Y_Rect;
|
|
||||||
delete Z_Rect;
|
|
||||||
delete P_Rect;
|
|
||||||
delete FaceNodeCounts_Rect;
|
|
||||||
delete FaceNodes_Rect;
|
|
||||||
delete FaceLeftElems_Rect;
|
|
||||||
delete FaceRightElems_Rect;
|
|
||||||
delete FaceBndryConnCounts_Rect;
|
|
||||||
delete FaceBndryConnElems_Rect;
|
|
||||||
delete FaceBndryConnZones_Rect;
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* The data for Zone 1 has been written to the data file, so we
|
|
||||||
* are ready to create Zone 2. For simplicity, we will reuse many
|
|
||||||
* of the variables created for the rectangular zone that are not
|
|
||||||
* relevant to this tutorial. */
|
|
||||||
|
|
||||||
/* Zone 2 (the arrowhead or prism) has a single element composed
|
|
||||||
* of six nodes and five faces.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* DOCSTART:arrow_teczne_prism.txt*/
|
|
||||||
//TECZNE Parameters
|
|
||||||
INTEGER4 NumPts_Prism = 6;
|
|
||||||
INTEGER4 NumElems_Prism = 1;
|
|
||||||
INTEGER4 NumFaces_Prism = 5;
|
|
||||||
|
|
||||||
/* The prism is composed of two triangular faces and three
|
|
||||||
* rectangular faces. The total number of face nodes is the sum
|
|
||||||
* of the nodes in each triangular face (2 times 3) and the nodes
|
|
||||||
* in each rectangular face (3 times 4).
|
|
||||||
*/
|
|
||||||
INTEGER4 TotalNumFaceNodes_Prism = 18;
|
|
||||||
|
|
||||||
/* As with Zone 1, Zone 2 has one connected boundary face, the
|
|
||||||
* face that is connected to Zone 1.
|
|
||||||
*/
|
|
||||||
INTEGER4 NumConnBndryFaces_Prism = 1;
|
|
||||||
|
|
||||||
/* In this case, we have set the total number of boundary
|
|
||||||
* connections for the connected face to two. The first boundary
|
|
||||||
* connection is the connection to Zone 1. The second boundary
|
|
||||||
* connection is used to indicate that the face is only partially
|
|
||||||
* obscured by the face from Zone 1. If we omitted the second
|
|
||||||
* boundary connection, the connected face of the prism would
|
|
||||||
* disappear if the rectangular zone was deactivated.
|
|
||||||
*/
|
|
||||||
INTEGER4 TotalNumBndryConns_Prism = 2;
|
|
||||||
|
|
||||||
I = TECZNE112((char*)"Zone 2: Prism",
|
|
||||||
&ZoneType,
|
|
||||||
&NumPts_Prism,
|
|
||||||
&NumElems_Prism,
|
|
||||||
&NumFaces_Prism,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolutionTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZone,
|
|
||||||
&IsBlock,
|
|
||||||
&NumFaceConnections,
|
|
||||||
&FaceNeighborMode,
|
|
||||||
&TotalNumFaceNodes_Prism,
|
|
||||||
&NumConnBndryFaces_Prism,
|
|
||||||
&TotalNumBndryConns_Prism,
|
|
||||||
NULL,
|
|
||||||
ValueLocation,
|
|
||||||
NULL,
|
|
||||||
&SharConn);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:arrow_tecdat_prism.txt*/
|
|
||||||
|
|
||||||
|
|
||||||
double *X_Prism = new double[NumPts_Prism];
|
|
||||||
double *Y_Prism = new double[NumPts_Prism];
|
|
||||||
double *Z_Prism = new double[NumPts_Prism];
|
|
||||||
|
|
||||||
|
|
||||||
/* Set the X and Y variable values, one z-plane at a time */
|
|
||||||
double ZVal = 0;
|
|
||||||
for (INTEGER4 ii = 0; ii < 2; ii++)
|
|
||||||
{
|
|
||||||
// triangle in Z=ZVal plane
|
|
||||||
X_Prism[3*ii] = 3;
|
|
||||||
Y_Prism[3*ii] = 4;
|
|
||||||
Z_Prism[3*ii] = ZVal;
|
|
||||||
|
|
||||||
X_Prism[3*ii+1] = 7;
|
|
||||||
Y_Prism[3*ii+1] = 2;
|
|
||||||
Z_Prism[3*ii+1] = ZVal;
|
|
||||||
|
|
||||||
X_Prism[3*ii+2] = 3;
|
|
||||||
Y_Prism[3*ii+2] = 0;
|
|
||||||
Z_Prism[3*ii+2] = ZVal;
|
|
||||||
|
|
||||||
ZVal = ZVal - 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* When we called TecZne, we specified that the variable 4
|
|
||||||
* (pressure) is cell-centered. As such, only NumElements number
|
|
||||||
* of values needs to be written to the data file for the pressure
|
|
||||||
* variable.
|
|
||||||
*/
|
|
||||||
double *P_Prism = new double[NumElems_Prism];
|
|
||||||
P_Prism[0] = 20;
|
|
||||||
|
|
||||||
I = TECDAT112(&NumPts_Prism, X_Prism, &IsDouble);
|
|
||||||
I = TECDAT112(&NumPts_Prism, Y_Prism, &IsDouble);
|
|
||||||
I = TECDAT112(&NumPts_Prism, Z_Prism, &IsDouble);
|
|
||||||
I = TECDAT112(&NumElems_Prism, P_Prism, &IsDouble);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:arrow_facemap_prism.txt*/
|
|
||||||
INTEGER4 *FaceNodeCounts_Prism = new INTEGER4[NumFaces_Prism];
|
|
||||||
INTEGER4 *FaceNodes_Prism = new INTEGER4[TotalNumFaceNodes_Prism];
|
|
||||||
|
|
||||||
/* Because of the way we chose to number our faces, the first
|
|
||||||
* three faces are rectangular and the last two are triangular.
|
|
||||||
* The numbering of the faces is arbitrary, but the faces must
|
|
||||||
* be referred to consistently.
|
|
||||||
*/
|
|
||||||
for (INTEGER4 ii = 0; ii < 3; ii++)
|
|
||||||
FaceNodeCounts_Prism[ii] = 4;
|
|
||||||
|
|
||||||
for (INTEGER4 ii = 3; ii < NumFaces_Prism; ii++)
|
|
||||||
FaceNodeCounts_Prism[ii] = 3;
|
|
||||||
|
|
||||||
//Nodes for Face 1
|
|
||||||
FaceNodes_Prism[0] = 1;
|
|
||||||
FaceNodes_Prism[1] = 3;
|
|
||||||
FaceNodes_Prism[2] = 6;
|
|
||||||
FaceNodes_Prism[3] = 4;
|
|
||||||
|
|
||||||
//Nodes for Face 2
|
|
||||||
FaceNodes_Prism[4] = 1;
|
|
||||||
FaceNodes_Prism[5] = 4;
|
|
||||||
FaceNodes_Prism[6] = 5;
|
|
||||||
FaceNodes_Prism[7] = 2;
|
|
||||||
|
|
||||||
//Nodes for Face 3
|
|
||||||
FaceNodes_Prism[8] = 3;
|
|
||||||
FaceNodes_Prism[9] = 2;
|
|
||||||
FaceNodes_Prism[10] = 5;
|
|
||||||
FaceNodes_Prism[11] = 6;
|
|
||||||
|
|
||||||
//Nodes for Face 4
|
|
||||||
FaceNodes_Prism[12] = 5;
|
|
||||||
FaceNodes_Prism[13] = 4;
|
|
||||||
FaceNodes_Prism[14] = 6;
|
|
||||||
|
|
||||||
//Nodes for Face 5
|
|
||||||
FaceNodes_Prism[15] = 1;
|
|
||||||
FaceNodes_Prism[16] = 2;
|
|
||||||
FaceNodes_Prism[17] = 3;
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:arrow_neighbors_prism.txt*/
|
|
||||||
/* Since this zone has just one element, all leftelems are
|
|
||||||
* NoNeighboring Element and all right elems are itself.
|
|
||||||
*/
|
|
||||||
INTEGER4 *FaceLeftElems_Prism = new INTEGER4[NumFaces_Prism];
|
|
||||||
INTEGER4 *FaceRightElems_Prism = new INTEGER4[NumFaces_Prism];
|
|
||||||
|
|
||||||
for (INTEGER4 ii = 0; ii < NumFaces_Prism; ii++)
|
|
||||||
{
|
|
||||||
FaceRightElems_Prism[ii] = 1;
|
|
||||||
FaceLeftElems_Prism[ii] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The negative value in the FaceLeftElems array indicates that
|
|
||||||
* the face is connected to an element in another zone. In this
|
|
||||||
* case, Face 1 is connected to a face in Zone 1 (as indicated in
|
|
||||||
* Line 6). The FaceBoundaryConnectionElems array lists all of
|
|
||||||
* the element numbers in other zones that the current zone shares
|
|
||||||
* boundary connections with. Similarly, the
|
|
||||||
* FaceBoundaryConnectionZones array lists all of the zone numbers
|
|
||||||
* with which the current zone shares boundaries. A negative
|
|
||||||
* value in the FaceLeftElems or FaceRightElems array indicates
|
|
||||||
* the position within these arrays that defines the neighboring
|
|
||||||
* element and zone for a face.
|
|
||||||
*/
|
|
||||||
FaceLeftElems_Prism[0] = -1;
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:arrow_tecpoly_prism.txt*/
|
|
||||||
|
|
||||||
INTEGER4 *FaceBndryConnCounts_Prism = new INTEGER4[NumConnBndryFaces_Prism];
|
|
||||||
FaceBndryConnCounts_Prism[0] = 2;
|
|
||||||
|
|
||||||
INTEGER4 *FaceBndryConnElems_Prism = new INTEGER4[TotalNumBndryConns_Prism];
|
|
||||||
INTEGER4 *FaceBndryConnZones_Prism = new INTEGER4[TotalNumBndryConns_Prism];
|
|
||||||
|
|
||||||
/* As previously mentioned, a connected boundary face is a face
|
|
||||||
* that has either multiple neighboring faces or neighbor(s) that
|
|
||||||
* belong to another zone. Those cases are sufficient when the
|
|
||||||
* combination of all of the face<63>s neighbors completely cover the
|
|
||||||
* face. However, there are some cases (such as the bottom of the
|
|
||||||
* arrowhead) where the face is not completely covered by its
|
|
||||||
* neighbors. In those cases the face is referred to as <20>partially
|
|
||||||
* obscured<65>. A partially obscured face is indicated by
|
|
||||||
* incrementing the value in TotalNumConnectedBoundaryFaces and
|
|
||||||
* entering a value of 0 in both the FaceBndryConnectionElems and
|
|
||||||
* FaceBoundaryConnectionZones arrays for the boundary connection
|
|
||||||
* for the partially obscured face.
|
|
||||||
*/
|
|
||||||
FaceBndryConnElems_Prism[0] = 0;
|
|
||||||
FaceBndryConnZones_Prism[0] = 0;
|
|
||||||
|
|
||||||
/* Indicates that Face 1 is connected to Element 1 in Zone 1. */
|
|
||||||
FaceBndryConnElems_Prism[1] = 1;
|
|
||||||
FaceBndryConnZones_Prism[1] = 1;
|
|
||||||
|
|
||||||
I = TECPOLY112(FaceNodeCounts_Prism,
|
|
||||||
FaceNodes_Prism,
|
|
||||||
FaceLeftElems_Prism,
|
|
||||||
FaceRightElems_Prism,
|
|
||||||
FaceBndryConnCounts_Prism,
|
|
||||||
FaceBndryConnElems_Prism,
|
|
||||||
FaceBndryConnZones_Prism);
|
|
||||||
|
|
||||||
/* cleanup */
|
|
||||||
delete X_Prism;
|
|
||||||
delete Y_Prism;
|
|
||||||
delete Z_Prism;
|
|
||||||
delete P_Prism;
|
|
||||||
delete FaceNodeCounts_Prism;
|
|
||||||
delete FaceNodes_Prism;
|
|
||||||
delete FaceLeftElems_Prism;
|
|
||||||
delete FaceRightElems_Prism;
|
|
||||||
delete FaceBndryConnCounts_Prism;
|
|
||||||
delete FaceBndryConnElems_Prism;
|
|
||||||
delete FaceBndryConnZones_Prism;
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:arrow_tecend.txt*/
|
|
||||||
I = TECEND112();
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@ -1,172 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="arrow"
|
|
||||||
ProjectGUID="{3C1105D7-5690-48E0-9402-111CBDC84B42}"
|
|
||||||
RootNamespace="arrow"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath=".\arrow.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
||||||
@ -1,11 +0,0 @@
|
|||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=comtest
|
|
||||||
FILES=$(EXECUTABLE).c
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
||||||
@ -1,492 +0,0 @@
|
|||||||
/*
|
|
||||||
* Complex example C program to write a
|
|
||||||
* binary data file for Tecplot. This example
|
|
||||||
* does the following:
|
|
||||||
*
|
|
||||||
* 1. Open a data file called "field.plt."
|
|
||||||
* 2. Open a data file called "line.plt."
|
|
||||||
* 3. Assign values for X, Y and P. These will be used
|
|
||||||
* in both the ordered and finite-element data files.
|
|
||||||
* 4. Write out an ordered zone dimensioned 4 x 5 to "field.plt."
|
|
||||||
* 5. Assign values for XL and YL arrays.
|
|
||||||
* 6. Write out data for line plot to "line.plt." Make the data
|
|
||||||
* use double precision.
|
|
||||||
* 7. Write out a finite-element zone to "field.plt."
|
|
||||||
* 8. Write out a text record to "field.plt."
|
|
||||||
* 9. Write out a geometry (circle) record to "field.plt."
|
|
||||||
* 10. Close file 1.
|
|
||||||
* 11. Close file 2.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <math.h>
|
|
||||||
#include "TECIO.h"
|
|
||||||
|
|
||||||
int main(void)
|
|
||||||
{
|
|
||||||
float X[5][4], Y[5][4], P[5][4];
|
|
||||||
double XL[50], YL[50];
|
|
||||||
double SolTime;
|
|
||||||
INTEGER4 Debug, I, J, K, L, III, NPts, NElm, DIsDouble, VIsDouble, IMax, JMax, KMax;
|
|
||||||
INTEGER4 ICellMax, JCellMax, KCellMax, ZoneType, Clipping;
|
|
||||||
INTEGER4 StrandID, ParentZn, FieldFileType, LineFileType;
|
|
||||||
INTEGER4 SharingZone[3] = {0, 0, 0};
|
|
||||||
INTEGER4 IsBlock, NumFaceConnections, FaceNeighborMode, ShareConnectivityFromZone;
|
|
||||||
INTEGER4 NM[12][4];
|
|
||||||
double XP, YP, ZP, FH, LineSpacing, PatternLength;
|
|
||||||
double BoxMargin, BoxLineThickness, TextAngle;
|
|
||||||
INTEGER4 AttachToZone, Zone, Scope, PositionCoordSys, FontType, HeightUnits;
|
|
||||||
INTEGER4 IsFilled, GeomType, LinePattern, NumEllipsePts;
|
|
||||||
INTEGER4 Anchor, BoxType, BoxColor, BoxFillColor, TextColor, Color, FillColor;
|
|
||||||
INTEGER4 ArrowheadStyle, ArrowheadAttachment, NumSegments, NumSegPts[1];
|
|
||||||
double LineThickness, ArrowheadSize, ArrowheadAngle;
|
|
||||||
float XGeomData[1], YGeomData[1], ZGeomData[1];
|
|
||||||
enum FileType { FULL = 0, GRID = 1, SOLUTION = 2 };
|
|
||||||
|
|
||||||
Debug = 2;
|
|
||||||
VIsDouble = 0;
|
|
||||||
DIsDouble = 0;
|
|
||||||
FieldFileType = FULL;
|
|
||||||
LineFileType = FULL;
|
|
||||||
/*
|
|
||||||
* Open order.plt and write the header information.
|
|
||||||
*/
|
|
||||||
I = TECINI112((char*)"DATASET WITH ONE ORDERED ZONE AND ONE FE-QUAD ZONE OVER 2 TIME STEPS",
|
|
||||||
(char*)"X Y P",
|
|
||||||
(char*)"field.plt",
|
|
||||||
(char*)".",
|
|
||||||
&FieldFileType,
|
|
||||||
&Debug,
|
|
||||||
&VIsDouble);
|
|
||||||
/*
|
|
||||||
* Open line.plt and write the header information.
|
|
||||||
*/
|
|
||||||
VIsDouble = 1;
|
|
||||||
I = TECINI112((char*)"DATASET WITH ONE I-ORDERED ZONE",
|
|
||||||
(char*)"X Y",
|
|
||||||
(char*)"line.plt",
|
|
||||||
(char*)".",
|
|
||||||
&LineFileType,
|
|
||||||
&Debug,
|
|
||||||
&VIsDouble);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Calculate values for the field variables.
|
|
||||||
*/
|
|
||||||
for (J = 0; J < 5; J++)
|
|
||||||
for (I = 0; I < 4; I++)
|
|
||||||
{
|
|
||||||
X[J][I] = (float)(I + 1);
|
|
||||||
Y[J][I] = (float)(J + 1);
|
|
||||||
P[J][I] = (float)((I + 1) * (J + 1));
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Make sure writing to file #1.
|
|
||||||
*/
|
|
||||||
III = 1;
|
|
||||||
I = TECFIL112(&III);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Write the zone header information for the ordered zone.
|
|
||||||
*/
|
|
||||||
IMax = 4;
|
|
||||||
JMax = 5;
|
|
||||||
KMax = 1;
|
|
||||||
ICellMax = 0;
|
|
||||||
JCellMax = 0;
|
|
||||||
KCellMax = 0;
|
|
||||||
ZoneType = 0;
|
|
||||||
SolTime = 10.0;
|
|
||||||
StrandID = 1;
|
|
||||||
ParentZn = 0;
|
|
||||||
IsBlock = 1;
|
|
||||||
NumFaceConnections = 0;
|
|
||||||
FaceNeighborMode = 0;
|
|
||||||
ShareConnectivityFromZone = 0;
|
|
||||||
I = TECZNE112((char*)"Ordered Zone 1",
|
|
||||||
&ZoneType,
|
|
||||||
&IMax,
|
|
||||||
&JMax,
|
|
||||||
&KMax,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZn,
|
|
||||||
&IsBlock,
|
|
||||||
&NumFaceConnections,
|
|
||||||
&FaceNeighborMode,
|
|
||||||
NULL, /* PassiveVarList */
|
|
||||||
NULL, /* ValueLocation */
|
|
||||||
NULL, /* ShareVarFromZone */
|
|
||||||
0, /* TotalNumFaceNodes */
|
|
||||||
0, /* NumConnectedBoundaryFaces */
|
|
||||||
0, /* TotalNumBoundaryConnections */
|
|
||||||
&ShareConnectivityFromZone);
|
|
||||||
/*
|
|
||||||
* Write out the field data for the ordered zone.
|
|
||||||
*/
|
|
||||||
III = IMax * JMax;
|
|
||||||
I = TECDAT112(&III, &X[0][0], &DIsDouble);
|
|
||||||
I = TECDAT112(&III, &Y[0][0], &DIsDouble);
|
|
||||||
I = TECDAT112(&III, &P[0][0], &DIsDouble);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Calculate values for the I-ordered zone.
|
|
||||||
*/
|
|
||||||
|
|
||||||
for (I = 0; I < 50; I++)
|
|
||||||
{
|
|
||||||
XL[I] = I + 1;
|
|
||||||
YL[I] = sin((double)(I + 1) / 20.0);
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* Switch to the "line.plt" file (file number 2)
|
|
||||||
* and write out the line plot data.
|
|
||||||
*/
|
|
||||||
|
|
||||||
III = 2;
|
|
||||||
I = TECFIL112(&III);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Write the zone header information for the XY-data.
|
|
||||||
*/
|
|
||||||
IMax = 50;
|
|
||||||
JMax = 1;
|
|
||||||
KMax = 1;
|
|
||||||
SolTime = 0.0;
|
|
||||||
StrandID = 0; /* StaticZone */
|
|
||||||
I = TECZNE112((char*)"XY Line plot",
|
|
||||||
&ZoneType,
|
|
||||||
&IMax,
|
|
||||||
&JMax,
|
|
||||||
&KMax,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZn,
|
|
||||||
&IsBlock,
|
|
||||||
&NumFaceConnections,
|
|
||||||
&FaceNeighborMode,
|
|
||||||
0, /* TotalNumFaceNodes */
|
|
||||||
0, /* NumConnectedBoundaryFaces */
|
|
||||||
0, /* TotalNumBoundaryConnections */
|
|
||||||
NULL, /* PassiveVarList */
|
|
||||||
NULL, /* ValueLocation */
|
|
||||||
NULL, /* ShareVarFromZone */
|
|
||||||
&ShareConnectivityFromZone);
|
|
||||||
/*
|
|
||||||
* Write out the line plot.
|
|
||||||
*/
|
|
||||||
DIsDouble = 1;
|
|
||||||
III = IMax;
|
|
||||||
I = TECDAT112(&III, (float *) & XL[0], &DIsDouble);
|
|
||||||
I = TECDAT112(&III, (float *) & YL[0], &DIsDouble);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Switch back to the field plot file and write out
|
|
||||||
* the finite-element zone.
|
|
||||||
*/
|
|
||||||
III = 1;
|
|
||||||
I = TECFIL112(&III);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Move the coordinates so this zone's not on top of the other
|
|
||||||
*/
|
|
||||||
for (J = 0; J < 5; J++)
|
|
||||||
for (I = 0; I < 4; I++)
|
|
||||||
{
|
|
||||||
X[J][I] = (float)(I + 6);
|
|
||||||
Y[J][I] = (float)(J + 1);
|
|
||||||
P[J][I] = (float)((I + 1) * (J + 1));
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Write the zone header information for the finite-element zone.
|
|
||||||
*/
|
|
||||||
ZoneType = 3; /* FEQuad */
|
|
||||||
NPts = 20; /* Number of points */
|
|
||||||
NElm = 12; /* Number of elements */
|
|
||||||
KMax = 0; /* Unused */
|
|
||||||
SolTime = 10.0;
|
|
||||||
StrandID = 2;
|
|
||||||
I = TECZNE112((char*)"Finite Zone 1",
|
|
||||||
&ZoneType,
|
|
||||||
&NPts,
|
|
||||||
&NElm,
|
|
||||||
&KMax,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZn,
|
|
||||||
&IsBlock,
|
|
||||||
&NumFaceConnections,
|
|
||||||
&FaceNeighborMode,
|
|
||||||
0, /* TotalNumFaceNodes */
|
|
||||||
0, /* NumConnectedBoundaryFaces */
|
|
||||||
0, /* TotalNumBoundaryConnections */
|
|
||||||
NULL, /* PassiveVarList */
|
|
||||||
NULL, /* ValueLocation */
|
|
||||||
NULL, /* ShareVarFromZone */
|
|
||||||
&ShareConnectivityFromZone);
|
|
||||||
/*
|
|
||||||
* Write out the field data for the finite-element zone.
|
|
||||||
*/
|
|
||||||
IMax = 4;
|
|
||||||
JMax = 5;
|
|
||||||
III = IMax * JMax;
|
|
||||||
DIsDouble = 0;
|
|
||||||
I = TECDAT112(&III, &X[0][0], &DIsDouble);
|
|
||||||
I = TECDAT112(&III, &Y[0][0], &DIsDouble);
|
|
||||||
I = TECDAT112(&III, &P[0][0], &DIsDouble);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Calculate and then write out the connectivity list.
|
|
||||||
* Note: The NM array references cells starting with
|
|
||||||
* offset of 1.
|
|
||||||
*/
|
|
||||||
|
|
||||||
for (I = 1; I < IMax; I++)
|
|
||||||
for (J = 1; J < JMax; J++)
|
|
||||||
{
|
|
||||||
K = I + (J - 1) * (IMax - 1);
|
|
||||||
L = I + (J - 1) * IMax;
|
|
||||||
NM[K-1][0] = L;
|
|
||||||
NM[K-1][1] = L + 1;
|
|
||||||
NM[K-1][2] = L + IMax + 1;
|
|
||||||
NM[K-1][3] = L + IMax;
|
|
||||||
}
|
|
||||||
|
|
||||||
I = TECNOD112((INTEGER4 *)NM);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Calculate values for the new solution variable.
|
|
||||||
*/
|
|
||||||
for (J = 0; J < 5; J++)
|
|
||||||
for (I = 0; I < 4; I++)
|
|
||||||
{
|
|
||||||
P[J][I] = (float)(2.0 * (I + 1) * (J + 1));
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Write the zone header information for time step 2
|
|
||||||
*/
|
|
||||||
ZoneType = 0;
|
|
||||||
IMax = 4;
|
|
||||||
JMax = 5;
|
|
||||||
KMax = 1;
|
|
||||||
SolTime = 20.0;
|
|
||||||
StrandID = 1;
|
|
||||||
SharingZone[0] = 1;
|
|
||||||
SharingZone[1] = 1;
|
|
||||||
SharingZone[2] = 0; /* solution variable is not shared */
|
|
||||||
ShareConnectivityFromZone = 0;
|
|
||||||
|
|
||||||
I = TECZNE112((char*)"Ordered Zone 2",
|
|
||||||
&ZoneType,
|
|
||||||
&IMax,
|
|
||||||
&JMax,
|
|
||||||
&KMax,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZn,
|
|
||||||
&IsBlock,
|
|
||||||
&NumFaceConnections,
|
|
||||||
&FaceNeighborMode,
|
|
||||||
0, /* TotalNumFaceNodes */
|
|
||||||
0, /* NumConnectedBoundaryFaces */
|
|
||||||
0, /* TotalNumBoundaryConnections */
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
SharingZone,
|
|
||||||
&ShareConnectivityFromZone);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Write out the solution variable the grid variables are shared.
|
|
||||||
*/
|
|
||||||
IMax = 4;
|
|
||||||
JMax = 5;
|
|
||||||
III = IMax * JMax;
|
|
||||||
DIsDouble = 0;
|
|
||||||
I = TECDAT112(&III, &P[0][0], &DIsDouble);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Calculate values for the new solution variable.
|
|
||||||
*/
|
|
||||||
for (J = 0; J < 5; J++)
|
|
||||||
for (I = 0; I < 4; I++)
|
|
||||||
{
|
|
||||||
P[J][I] = (float)(3.0 * (I + 1) * (J + 1));
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Write another time step for the FEZone and share from the first
|
|
||||||
*/
|
|
||||||
ZoneType = 3;
|
|
||||||
SolTime = 20.0;
|
|
||||||
StrandID = 2;
|
|
||||||
KMax = 0;
|
|
||||||
SharingZone[0] = 2;
|
|
||||||
SharingZone[1] = 2;
|
|
||||||
SharingZone[2] = 0; /* solution variable is not shared */
|
|
||||||
ShareConnectivityFromZone = 2;
|
|
||||||
I = TECZNE112((char*)"Finite Zone 2",
|
|
||||||
&ZoneType,
|
|
||||||
&NPts,
|
|
||||||
&NElm,
|
|
||||||
&KMax,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZn,
|
|
||||||
&IsBlock,
|
|
||||||
&NumFaceConnections,
|
|
||||||
&FaceNeighborMode,
|
|
||||||
0, /* TotalNumFaceNodes */
|
|
||||||
0, /* NumConnectedBoundaryFaces */
|
|
||||||
0, /* TotalNumBoundaryConnections */
|
|
||||||
NULL, /* PassiveVarList */
|
|
||||||
NULL, /* ValueLocation */
|
|
||||||
SharingZone,
|
|
||||||
&ShareConnectivityFromZone);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Write out the solution variable the grid variables are shared.
|
|
||||||
*/
|
|
||||||
IMax = 4;
|
|
||||||
JMax = 5;
|
|
||||||
III = IMax * JMax;
|
|
||||||
DIsDouble = 0;
|
|
||||||
I = TECDAT112(&III, &P[0][0], &DIsDouble);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Prepare to write out text record. Text is positioned
|
|
||||||
* at 0.5, 0.5 in frame units and has a height
|
|
||||||
* of 0.05 frame units.
|
|
||||||
*/
|
|
||||||
XP = 50.0;
|
|
||||||
YP = 50.0;
|
|
||||||
ZP = 0.0;
|
|
||||||
FH = 5.0;
|
|
||||||
Scope = 1; /* Local */
|
|
||||||
Clipping = 1; /* Clip to frame */
|
|
||||||
PositionCoordSys = 1; /* Frame */
|
|
||||||
FontType = 1; /* Helv Bold */
|
|
||||||
HeightUnits = 1; /* Frame */
|
|
||||||
AttachToZone = 0;
|
|
||||||
Zone = 0;
|
|
||||||
BoxType = 0; /* None */
|
|
||||||
BoxMargin = 5.0;
|
|
||||||
BoxLineThickness = 0.5;
|
|
||||||
BoxColor = 3;
|
|
||||||
BoxFillColor = 7;
|
|
||||||
TextAngle = 0.0;
|
|
||||||
Anchor = 0; /* Left */
|
|
||||||
LineSpacing = 1.0;
|
|
||||||
TextColor = 0; /* Black */
|
|
||||||
|
|
||||||
III = TECTXT112(&XP,
|
|
||||||
&YP,
|
|
||||||
&ZP,
|
|
||||||
&PositionCoordSys,
|
|
||||||
&AttachToZone,
|
|
||||||
&Zone,
|
|
||||||
&FontType,
|
|
||||||
&HeightUnits,
|
|
||||||
&FH,
|
|
||||||
&BoxType,
|
|
||||||
&BoxMargin,
|
|
||||||
&BoxLineThickness,
|
|
||||||
&BoxColor,
|
|
||||||
&BoxFillColor,
|
|
||||||
&TextAngle,
|
|
||||||
&Anchor,
|
|
||||||
&LineSpacing,
|
|
||||||
&TextColor,
|
|
||||||
&Scope,
|
|
||||||
&Clipping,
|
|
||||||
(char*)"Hi Mom",
|
|
||||||
(char*)"");
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Prepare to write out geometry record (circle). Circle is
|
|
||||||
* positioned at 25, 25 (in frame units) and has a radius of
|
|
||||||
* 20 percent. Circle is drawn using a dashed line.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
XP = 25.0;
|
|
||||||
YP = 25.0;
|
|
||||||
ZP = 0.0;
|
|
||||||
IsFilled = 0;
|
|
||||||
Color = 0;
|
|
||||||
FillColor = 7;
|
|
||||||
GeomType = 3; /* Circle */
|
|
||||||
LinePattern = 1; /* Dashed */
|
|
||||||
LineThickness = 0.3;
|
|
||||||
PatternLength = 1.5;
|
|
||||||
NumEllipsePts = 72;
|
|
||||||
ArrowheadStyle = 0;
|
|
||||||
ArrowheadAttachment = 0;
|
|
||||||
ArrowheadSize = 0.1;
|
|
||||||
ArrowheadAngle = 15.0;
|
|
||||||
NumSegments = 1;
|
|
||||||
NumSegPts[0] = 1;
|
|
||||||
|
|
||||||
XGeomData[0] = 20.0;
|
|
||||||
YGeomData[0] = 0.0;
|
|
||||||
ZGeomData[0] = 0.0;
|
|
||||||
|
|
||||||
|
|
||||||
III = TECGEO112(&XP,
|
|
||||||
&YP,
|
|
||||||
&ZP,
|
|
||||||
&PositionCoordSys,
|
|
||||||
&AttachToZone,
|
|
||||||
&Zone,
|
|
||||||
&Color,
|
|
||||||
&FillColor,
|
|
||||||
&IsFilled,
|
|
||||||
&GeomType,
|
|
||||||
&LinePattern,
|
|
||||||
&PatternLength,
|
|
||||||
&LineThickness,
|
|
||||||
&NumEllipsePts,
|
|
||||||
&ArrowheadStyle,
|
|
||||||
&ArrowheadAttachment,
|
|
||||||
&ArrowheadSize,
|
|
||||||
&ArrowheadAngle,
|
|
||||||
&Scope,
|
|
||||||
&Clipping,
|
|
||||||
&NumSegments,
|
|
||||||
NumSegPts,
|
|
||||||
&XGeomData[0],
|
|
||||||
&YGeomData[0],
|
|
||||||
&ZGeomData[0],
|
|
||||||
(char*)"");
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Close out file 1.
|
|
||||||
*/
|
|
||||||
I = TECEND112();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Close out file 2.
|
|
||||||
*/
|
|
||||||
III = 2;
|
|
||||||
I = TECFIL112(&III);
|
|
||||||
I = TECEND112();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@ -1,467 +0,0 @@
|
|||||||
C
|
|
||||||
C Complex example FORTRAN program to write a
|
|
||||||
C binary data file for Tecplot. This example
|
|
||||||
C does the following:
|
|
||||||
C
|
|
||||||
C 1. Open a data file called "field.plt."
|
|
||||||
C 2. Open a data file called "line.plt."
|
|
||||||
C 3. Assign values for X, Y and P. These will be used
|
|
||||||
C in both the ordered and FE data files.
|
|
||||||
C 4. Write out an ordered zone dimensioned 4 x 5 to "field.plt."
|
|
||||||
C 5. Assign values for XL and YL arrays.
|
|
||||||
C 6. Write out data for line plot to "line.plt." Make the data
|
|
||||||
C use double precision.
|
|
||||||
C 7. Write out a finite element zone to "field.plt."
|
|
||||||
C 8. Write out a text record to "field.plt."
|
|
||||||
C 9. Write out a geometry (circle) record to "field.plt."
|
|
||||||
C 10. Close file 1.
|
|
||||||
C 11. Close file 2.
|
|
||||||
C
|
|
||||||
Program ComplexTest
|
|
||||||
|
|
||||||
Include "tecio.inc"
|
|
||||||
|
|
||||||
REAL*4 X(4,5), Y(4,5), P(4,5)
|
|
||||||
REAL*8 XL(50), YL(50)
|
|
||||||
REAL*4 XLDummy(1), YLDummy(1)
|
|
||||||
EQUIVALENCE (XLDummy(1), XL(1))
|
|
||||||
EQUIVALENCE (YLDummy(1), YL(1))
|
|
||||||
REAL*8 SolTime
|
|
||||||
INTEGER*4 Debug,I,J,K,L,III,NPts,NElm,DIsDouble,VIsDouble
|
|
||||||
INTEGER*4 IMax,JMax,KMax,NM(4,12),FileType
|
|
||||||
INTEGER*4 StrandID,ParentZn
|
|
||||||
INTEGER*4 SharingZone(3)
|
|
||||||
REAL*8 XP, YP, ZP, FH, LineSpacing, PatternLength
|
|
||||||
REAL*8 BoxMargin, BoxLineThickness, TextAngle
|
|
||||||
INTEGER*4 AttachToZone, Zone, Scope, PositionCoordSys
|
|
||||||
INTEGER*4 Clipping
|
|
||||||
INTEGER*4 FontType, HeightUnits, Anchor, BoxType
|
|
||||||
INTEGER*4 IsFilled, GeomType, LinePattern, NumEllipsePts
|
|
||||||
INTEGER*4 BoxColor, BoxFillColor, TextColor, Color, FillColor
|
|
||||||
INTEGER*4 ArrowheadStyle, ArrowheadAttachment, NumSegments
|
|
||||||
INTEGER*4 NumSegPts(1)
|
|
||||||
REAL*8 LineThickness, ArrowheadSize, ArrowheadAngle
|
|
||||||
REAL*4 XGeomData(1), YGeomData(1), ZGeomData(1)
|
|
||||||
CHARACTER*1 NULCHAR
|
|
||||||
INTEGER*4 Zero
|
|
||||||
POINTER (NullPtr,Null)
|
|
||||||
INTEGER*4 Null(*)
|
|
||||||
|
|
||||||
Debug = 2
|
|
||||||
VIsDouble = 0
|
|
||||||
FileType = 0
|
|
||||||
DIsDouble = 0
|
|
||||||
NULCHAR = CHAR(0)
|
|
||||||
Zero = 0
|
|
||||||
NullPtr = 0
|
|
||||||
C
|
|
||||||
C Open field.plt and write the header information.
|
|
||||||
C
|
|
||||||
I = TECINI112('DATASET WITH 1 ORDERED ZONE, '//
|
|
||||||
& '1 QUAD ZONE OVER 2 TIME STEPS'//NULCHAR,
|
|
||||||
& 'X Y P'//NULCHAR,
|
|
||||||
& 'field.plt'//NULCHAR,
|
|
||||||
& '.'//NULCHAR,
|
|
||||||
& FileType,
|
|
||||||
& Debug,
|
|
||||||
& VIsDouble)
|
|
||||||
C
|
|
||||||
C Open line.plt and write the header information.
|
|
||||||
C
|
|
||||||
VIsDouble = 1
|
|
||||||
I = TECINI112('DATASET WITH ONE I-ORDERED ZONE'//NULCHAR,
|
|
||||||
& 'X Y'//NULCHAR,
|
|
||||||
& 'line.plt'//NULCHAR,
|
|
||||||
& '.'//NULCHAR,
|
|
||||||
& FileType,
|
|
||||||
& Debug,
|
|
||||||
& VIsDouble)
|
|
||||||
|
|
||||||
C
|
|
||||||
C Calculate values for the field variables.
|
|
||||||
C
|
|
||||||
Do 10 J = 1,5
|
|
||||||
Do 10 I = 1,4
|
|
||||||
X(I,J) = I
|
|
||||||
Y(I,J) = J
|
|
||||||
P(I,J) = I*J
|
|
||||||
10 Continue
|
|
||||||
|
|
||||||
C
|
|
||||||
C Make sure writing to file #1.
|
|
||||||
C
|
|
||||||
III = 1
|
|
||||||
I = TECFIL112(III)
|
|
||||||
|
|
||||||
C
|
|
||||||
C Write the zone header information for the ordered zone.
|
|
||||||
C
|
|
||||||
IMax = 4
|
|
||||||
JMax = 5
|
|
||||||
KMax = 1
|
|
||||||
SolTime = 10.0
|
|
||||||
StrandID = 1
|
|
||||||
ParentZn = 0
|
|
||||||
I = TECZNE112('Ordered Zone 1'//NULCHAR,
|
|
||||||
& 0, ! ZONETYPE
|
|
||||||
& IMax,
|
|
||||||
& JMax,
|
|
||||||
& KMax,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& SolTime,
|
|
||||||
& StrandID,
|
|
||||||
& ParentZn,
|
|
||||||
& 1, ! ISBLOCK
|
|
||||||
& 0, ! NumFaceConnections
|
|
||||||
& 0, ! FaceNeighborMode
|
|
||||||
& 0, ! TotalNumFaceNodes
|
|
||||||
& 0, ! NumConnectedBoundaryFaces
|
|
||||||
& 0, ! TotalNumBoundaryConnections
|
|
||||||
& Null, ! PassiveVarList
|
|
||||||
& Null, ! ValueLocation
|
|
||||||
& Null, ! ShareVarFromZone
|
|
||||||
& 0) ! ShareConnectivityFromZone)
|
|
||||||
|
|
||||||
C
|
|
||||||
C Write out the field data for the ordered zone.
|
|
||||||
C
|
|
||||||
III = IMax*JMax
|
|
||||||
I = TECDAT112(III,X,DIsDouble)
|
|
||||||
I = TECDAT112(III,Y,DIsDouble)
|
|
||||||
I = TECDAT112(III,P,DIsDouble)
|
|
||||||
|
|
||||||
C
|
|
||||||
C Calculate values for the I-ordered zone.
|
|
||||||
C
|
|
||||||
|
|
||||||
Do 20 I = 1,50
|
|
||||||
XL(I) = I
|
|
||||||
YL(I) = sin(I/20.0)
|
|
||||||
20 Continue
|
|
||||||
C
|
|
||||||
C Switch to the 'line.plt' file (file number 2)
|
|
||||||
C and write out the line plot data.
|
|
||||||
C
|
|
||||||
III = 2
|
|
||||||
I = TECFIL112(III)
|
|
||||||
C
|
|
||||||
C Write the zone header information for the XY-data.
|
|
||||||
C
|
|
||||||
IMax = 50
|
|
||||||
JMax = 1
|
|
||||||
KMax = 1
|
|
||||||
SolTime = 0.0
|
|
||||||
StrandID = 0
|
|
||||||
I = TECZNE112('XY Line plot'//NULCHAR,
|
|
||||||
& 0,
|
|
||||||
& IMax,
|
|
||||||
& JMax,
|
|
||||||
& KMax,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& SolTime,
|
|
||||||
& StrandID,
|
|
||||||
& ParentZn,
|
|
||||||
& 1,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& Null,
|
|
||||||
& Null,
|
|
||||||
& Null,
|
|
||||||
& 0)
|
|
||||||
C
|
|
||||||
C Write out the line plot.
|
|
||||||
C
|
|
||||||
DIsDouble = 1
|
|
||||||
III = IMax
|
|
||||||
I = TECDAT112(III,XLDummy,DIsDouble)
|
|
||||||
I = TECDAT112(III,YLDummy,DIsDouble)
|
|
||||||
|
|
||||||
C
|
|
||||||
C Switch back to the field plot file and write out
|
|
||||||
C the finite-element zone.
|
|
||||||
C
|
|
||||||
III = 1
|
|
||||||
I = TECFIL112(III)
|
|
||||||
C
|
|
||||||
C Move the coordinates so this zone's not on top of the other
|
|
||||||
C
|
|
||||||
Do 30 J = 1,5
|
|
||||||
Do 30 I = 1,4
|
|
||||||
X(I,J) = I+5
|
|
||||||
Y(I,J) = J
|
|
||||||
P(I,J) = I*J
|
|
||||||
30 Continue
|
|
||||||
C
|
|
||||||
C Write the zone header information for the finite-element zone.
|
|
||||||
C
|
|
||||||
NPts = 20
|
|
||||||
NElm = 12
|
|
||||||
KMax = 1
|
|
||||||
SolTime = 10.0
|
|
||||||
StrandID = 2
|
|
||||||
I = TECZNE112('Finite Zone 1'//NULCHAR,
|
|
||||||
& 3, ! FEQUADRILATERAL
|
|
||||||
& NPts,
|
|
||||||
& NElm,
|
|
||||||
& KMax,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& SolTime,
|
|
||||||
& StrandID,
|
|
||||||
& ParentZn,
|
|
||||||
& 1,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& Null,
|
|
||||||
& Null,
|
|
||||||
& Null,
|
|
||||||
& 0)
|
|
||||||
C
|
|
||||||
C Write out the field data for the finite-element zone.
|
|
||||||
C
|
|
||||||
IMax = 4
|
|
||||||
JMax = 5
|
|
||||||
III = IMax*JMax
|
|
||||||
DIsDouble = 0
|
|
||||||
I = TECDAT112(III,X,DIsDouble)
|
|
||||||
I = TECDAT112(III,Y,DIsDouble)
|
|
||||||
I = TECDAT112(III,P,DIsDouble)
|
|
||||||
|
|
||||||
C
|
|
||||||
C Calculate and then write out the connectivity list.
|
|
||||||
C Note: The NM array references cells starting with
|
|
||||||
C offset of 1.
|
|
||||||
C
|
|
||||||
|
|
||||||
Do 40 I = 1,IMax-1
|
|
||||||
Do 40 J = 1,JMax-1
|
|
||||||
K = I+(J-1)*(IMax-1)
|
|
||||||
L = I+(J-1)*IMax
|
|
||||||
NM(1,K) = L
|
|
||||||
NM(2,K) = L+1
|
|
||||||
NM(3,K) = L+IMax+1
|
|
||||||
NM(4,K) = L+IMax
|
|
||||||
40 Continue
|
|
||||||
|
|
||||||
I = TECNOD112(NM)
|
|
||||||
C
|
|
||||||
C Calculate vlues for the new solution variable.
|
|
||||||
C
|
|
||||||
Do 50 J = 1,5
|
|
||||||
Do 50 I = 1,4
|
|
||||||
P(I,J) = 2*I*J
|
|
||||||
50 Continue
|
|
||||||
C
|
|
||||||
C Write the zone header information for time step 2
|
|
||||||
C
|
|
||||||
IMax = 4
|
|
||||||
JMax = 5
|
|
||||||
KMax = 1
|
|
||||||
SolTime = 20.0
|
|
||||||
StrandID = 1
|
|
||||||
SharingZone(1) = 1
|
|
||||||
SharingZone(2) = 1
|
|
||||||
SharingZone(3) = 0
|
|
||||||
I = TECZNE112('Ordered Zone 2'//NULCHAR,
|
|
||||||
& 0, ! ORDERED
|
|
||||||
& IMax,
|
|
||||||
& JMax,
|
|
||||||
& KMax,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& SolTime,
|
|
||||||
& StrandID,
|
|
||||||
& ParentZn,
|
|
||||||
& 1,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& Null,
|
|
||||||
& Null,
|
|
||||||
& SharingZone,
|
|
||||||
& 0)
|
|
||||||
C
|
|
||||||
C Write out the solution variable the grid variables are shared.
|
|
||||||
C
|
|
||||||
IMax = 4
|
|
||||||
JMax = 5
|
|
||||||
III = IMax*JMax
|
|
||||||
DIsDouble = 0
|
|
||||||
I = TECDAT112(III,P,DIsDouble)
|
|
||||||
C
|
|
||||||
C Calculate values for the new solution variable.
|
|
||||||
C
|
|
||||||
Do 60 J = 1,5
|
|
||||||
Do 60 I = 1,4
|
|
||||||
P(I,J) = 3*I*J
|
|
||||||
60 Continue
|
|
||||||
C
|
|
||||||
C Write another time step for the FEZone and share from the first
|
|
||||||
C
|
|
||||||
SolTime = 20.0
|
|
||||||
StrandID = 2
|
|
||||||
KMax = 0
|
|
||||||
SharingZone(1) = 2
|
|
||||||
SharingZone(2) = 2
|
|
||||||
SharingZone(3) = 0
|
|
||||||
I = TECZNE112('Finite Zone 2'//NULCHAR,
|
|
||||||
& 3, ! FEQUADRILATERAL
|
|
||||||
& NPts,
|
|
||||||
& NElm,
|
|
||||||
& KMax,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& SolTime,
|
|
||||||
& StrandID,
|
|
||||||
& ParentZn,
|
|
||||||
& 1,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& Null,
|
|
||||||
& Null,
|
|
||||||
& SharingZone,
|
|
||||||
& 2)
|
|
||||||
C
|
|
||||||
C Write out the solution variable the grid variables are shared.
|
|
||||||
C
|
|
||||||
IMax = 4
|
|
||||||
JMax = 5
|
|
||||||
III = IMax*JMax
|
|
||||||
DIsDouble = 0
|
|
||||||
I = TECDAT112(III,P,DIsDouble)
|
|
||||||
|
|
||||||
C
|
|
||||||
C Prepare to write out text record. Text is positioned
|
|
||||||
C at 50, 50 in frame units and has a height 5 frame units.
|
|
||||||
C
|
|
||||||
XP = 50
|
|
||||||
YP = 50
|
|
||||||
FH = 5
|
|
||||||
Scope = 1
|
|
||||||
Clipping = 0
|
|
||||||
PositionCoordSys = 1
|
|
||||||
FontType = 1
|
|
||||||
HeightUnits = 1
|
|
||||||
AttachToZone = 0
|
|
||||||
Zone = 0
|
|
||||||
BoxType = 0
|
|
||||||
BoxMargin = 5.0
|
|
||||||
BoxLineThickness = 0.5
|
|
||||||
BoxColor = 3
|
|
||||||
BoxFillColor = 7
|
|
||||||
TextAngle = 0.0
|
|
||||||
Anchor = 0
|
|
||||||
LineSpacing = 1.5
|
|
||||||
TextColor = 0
|
|
||||||
|
|
||||||
III = TECTXT112(XP,
|
|
||||||
& YP,
|
|
||||||
& 0.0d0,
|
|
||||||
& PositionCoordSys,
|
|
||||||
& AttachToZone,
|
|
||||||
& Zone,
|
|
||||||
& FontType,
|
|
||||||
& HeightUnits,
|
|
||||||
& FH,
|
|
||||||
& BoxType,
|
|
||||||
& BoxMargin,
|
|
||||||
& BoxLineThickness,
|
|
||||||
& BoxColor,
|
|
||||||
& BoxFillColor,
|
|
||||||
& TextAngle,
|
|
||||||
& Anchor,
|
|
||||||
& LineSpacing,
|
|
||||||
& TextColor,
|
|
||||||
& Scope,
|
|
||||||
& Clipping,
|
|
||||||
& 'Hi Mom'//NULCHAR,
|
|
||||||
& NULCHAR)
|
|
||||||
|
|
||||||
C
|
|
||||||
C Prepare to write out geometry record (circle). Circle is
|
|
||||||
C positioned at 25, 25 in frame units and has a radius of 30.
|
|
||||||
C Circle is drawn using a dashed line pattern.
|
|
||||||
C
|
|
||||||
|
|
||||||
|
|
||||||
XP = 25
|
|
||||||
YP = 25
|
|
||||||
ZP = 0.0
|
|
||||||
IsFilled = 0
|
|
||||||
Color = 0
|
|
||||||
FillColor = 7
|
|
||||||
GeomType = 2
|
|
||||||
LinePattern = 1
|
|
||||||
LineThickness = 0.3
|
|
||||||
PatternLength = 1
|
|
||||||
NumEllipsePts = 72
|
|
||||||
ArrowheadStyle = 0
|
|
||||||
ArrowheadAttachment = 0
|
|
||||||
ArrowheadSize = 0.0
|
|
||||||
ArrowheadAngle = 15.0
|
|
||||||
NumSegments = 1
|
|
||||||
NumSegPts(1) = 1
|
|
||||||
|
|
||||||
XGeomData(1) = 30
|
|
||||||
YGeomData(1) = 0.0
|
|
||||||
ZGeomData(1) = 0.0
|
|
||||||
|
|
||||||
|
|
||||||
III = TECGEO112(XP,
|
|
||||||
& YP,
|
|
||||||
& ZP,
|
|
||||||
& PositionCoordSys,
|
|
||||||
& AttachToZone,
|
|
||||||
& Zone,
|
|
||||||
& Color,
|
|
||||||
& FillColor,
|
|
||||||
& IsFilled,
|
|
||||||
& GeomType,
|
|
||||||
& LinePattern,
|
|
||||||
& PatternLength,
|
|
||||||
& LineThickness,
|
|
||||||
& NumEllipsePts,
|
|
||||||
& ArrowheadStyle,
|
|
||||||
& ArrowheadAttachment,
|
|
||||||
& ArrowheadSize,
|
|
||||||
& ArrowheadAngle,
|
|
||||||
& Scope,
|
|
||||||
& Clipping,
|
|
||||||
& NumSegments,
|
|
||||||
& NumSegPts,
|
|
||||||
& XGeomData,
|
|
||||||
& YGeomData,
|
|
||||||
& ZGeomData,
|
|
||||||
& NULCHAR)
|
|
||||||
|
|
||||||
C
|
|
||||||
C Close out file 1.
|
|
||||||
C
|
|
||||||
I = TECEND112()
|
|
||||||
|
|
||||||
C
|
|
||||||
C Close out file 2.
|
|
||||||
C
|
|
||||||
III = 2
|
|
||||||
I = TECFIL112(III)
|
|
||||||
I = TECEND112()
|
|
||||||
STOP
|
|
||||||
END
|
|
||||||
@ -1,467 +0,0 @@
|
|||||||
!
|
|
||||||
! Complex example FORTRAN program to write a
|
|
||||||
! binary data file for Tecplot. This example
|
|
||||||
! does the following:
|
|
||||||
!
|
|
||||||
! 1. Open a data file called "field.plt."
|
|
||||||
! 2. Open a data file called "line.plt."
|
|
||||||
! 3. Assign values for X, Y and P. These will be used
|
|
||||||
! in both the ordered and FE data files.
|
|
||||||
! 4. Write out an ordered zone dimensioned 4 x 5 to "field.plt."
|
|
||||||
! 5. Assign values for XL and YL arrays.
|
|
||||||
! 6. Write out data for line plot to "line.plt." Make the data
|
|
||||||
! use double precision.
|
|
||||||
! 7. Write out a finite element zone to "field.plt."
|
|
||||||
! 8. Write out a text record to "field.plt."
|
|
||||||
! 9. Write out a geometry (circle) record to "field.plt."
|
|
||||||
! 10. Close file 1.
|
|
||||||
! 11. Close file 2.
|
|
||||||
!
|
|
||||||
Program ComplexTest
|
|
||||||
|
|
||||||
Include "tecio.f90"
|
|
||||||
|
|
||||||
REAL*4 X(4,5), Y(4,5), P(4,5)
|
|
||||||
REAL*8 XL(50), YL(50)
|
|
||||||
REAL*4 XLDummy(1), YLDummy(1)
|
|
||||||
EQUIVALENCE (XLDummy(1), XL(1))
|
|
||||||
EQUIVALENCE (YLDummy(1), YL(1))
|
|
||||||
REAL*8 SolTime
|
|
||||||
INTEGER*4 Debug,I,J,K,L,III,NPts,NElm,DIsDouble,VIsDouble,FileType
|
|
||||||
INTEGER*4 IMax,JMax,KMax,NM(4,12)
|
|
||||||
INTEGER*4 StrandID,ParentZn
|
|
||||||
INTEGER*4 SharingZone(3)
|
|
||||||
REAL*8 XP, YP, ZP, FH, LineSpacing, PatternLength
|
|
||||||
REAL*8 BoxMargin, BoxLineThickness, TextAngle
|
|
||||||
INTEGER*4 AttachToZone, Zone, Scope, PositionCoordSys
|
|
||||||
INTEGER*4 Clipping
|
|
||||||
INTEGER*4 FontType, HeightUnits, Anchor, BoxType
|
|
||||||
INTEGER*4 IsFilled, GeomType, LinePattern, NumEllipsePts
|
|
||||||
INTEGER*4 BoxColor, BoxFillColor, TextColor, Color, FillColor
|
|
||||||
INTEGER*4 ArrowheadStyle, ArrowheadAttachment, NumSegments
|
|
||||||
INTEGER*4 NumSegPts(1)
|
|
||||||
REAL*8 LineThickness, ArrowheadSize, ArrowheadAngle
|
|
||||||
REAL*4 XGeomData(1), YGeomData(1), ZGeomData(1)
|
|
||||||
CHARACTER*1 NULCHAR
|
|
||||||
INTEGER*4 Zero
|
|
||||||
POINTER (NullPtr,Null)
|
|
||||||
INTEGER*4 Null(*)
|
|
||||||
|
|
||||||
Debug = 2
|
|
||||||
VIsDouble = 0
|
|
||||||
FileType = 0
|
|
||||||
DIsDouble = 0
|
|
||||||
NULCHAR = CHAR(0)
|
|
||||||
Zero = 0
|
|
||||||
NullPtr = 0
|
|
||||||
!
|
|
||||||
! Open field.plt and write the header information.
|
|
||||||
!
|
|
||||||
I = TECINI112('DATASET WITH 1 ORDERED ZONE, '// &
|
|
||||||
'1 QUAD ZONE OVER 2 TIME STEPS'//NULCHAR, &
|
|
||||||
'X Y P'//NULCHAR, &
|
|
||||||
'field.plt'//NULCHAR, &
|
|
||||||
'.'//NULCHAR, &
|
|
||||||
FileType, &
|
|
||||||
Debug, &
|
|
||||||
VIsDouble)
|
|
||||||
!
|
|
||||||
! Open line.plt and write the header information.
|
|
||||||
!
|
|
||||||
VIsDouble = 1
|
|
||||||
I = TECINI112('DATASET WITH ONE I-ORDERED ZONE'//NULCHAR, &
|
|
||||||
'X Y'//NULCHAR, &
|
|
||||||
'line.plt'//NULCHAR, &
|
|
||||||
'.'//NULCHAR, &
|
|
||||||
FileType, &
|
|
||||||
Debug, &
|
|
||||||
VIsDouble)
|
|
||||||
|
|
||||||
!
|
|
||||||
! Calculate values for the field variables.
|
|
||||||
!
|
|
||||||
Do 10 J = 1,5
|
|
||||||
Do 10 I = 1,4
|
|
||||||
X(I,J) = I
|
|
||||||
Y(I,J) = J
|
|
||||||
P(I,J) = I*J
|
|
||||||
10 Continue
|
|
||||||
|
|
||||||
!
|
|
||||||
! Make sure writing to file #1.
|
|
||||||
!
|
|
||||||
III = 1
|
|
||||||
I = TECFIL112(III)
|
|
||||||
|
|
||||||
!
|
|
||||||
! Write the zone header information for the ordered zone.
|
|
||||||
!
|
|
||||||
IMax = 4
|
|
||||||
JMax = 5
|
|
||||||
KMax = 1
|
|
||||||
SolTime = 10.0
|
|
||||||
StrandID = 1
|
|
||||||
ParentZn = 0
|
|
||||||
I = TECZNE112('Ordered Zone 1'//NULCHAR, &
|
|
||||||
0, & ! ZONETYPE
|
|
||||||
IMax, &
|
|
||||||
JMax, &
|
|
||||||
KMax, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
SolTime, &
|
|
||||||
StrandID, &
|
|
||||||
ParentZn, &
|
|
||||||
1, & ! ISBLOCK
|
|
||||||
0, & ! NumFaceConnections
|
|
||||||
0, & ! FaceNeighborMode
|
|
||||||
0, & ! TotalNumFaceNodes
|
|
||||||
0, & ! NumConnectedBoundaryFaces
|
|
||||||
0, & ! TotalNumBoundaryConnections
|
|
||||||
Null, & ! PassiveVarList
|
|
||||||
Null, & ! ValueLocation
|
|
||||||
Null, & ! ShareVarFromZone
|
|
||||||
0) ! ShareConnectivityFromZone)
|
|
||||||
|
|
||||||
!
|
|
||||||
! Write out the field data for the ordered zone.
|
|
||||||
!
|
|
||||||
III = IMax*JMax
|
|
||||||
I = TECDAT112(III,X,DIsDouble)
|
|
||||||
I = TECDAT112(III,Y,DIsDouble)
|
|
||||||
I = TECDAT112(III,P,DIsDouble)
|
|
||||||
|
|
||||||
!
|
|
||||||
! Calculate values for the I-ordered zone.
|
|
||||||
!
|
|
||||||
|
|
||||||
Do 20 I = 1,50
|
|
||||||
XL(I) = I
|
|
||||||
YL(I) = sin(I/20.0)
|
|
||||||
20 Continue
|
|
||||||
!
|
|
||||||
! Switch to the 'line.plt' file (file number 2)
|
|
||||||
! and write out the line plot data.
|
|
||||||
!
|
|
||||||
III = 2
|
|
||||||
I = TECFIL112(III)
|
|
||||||
!
|
|
||||||
! Write the zone header information for the XY-data.
|
|
||||||
!
|
|
||||||
IMax = 50
|
|
||||||
JMax = 1
|
|
||||||
KMax = 1
|
|
||||||
SolTime = 0.0
|
|
||||||
StrandID = 0
|
|
||||||
I = TECZNE112('XY Line plot'//NULCHAR, &
|
|
||||||
0, &
|
|
||||||
IMax, &
|
|
||||||
JMax, &
|
|
||||||
KMax, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
SolTime, &
|
|
||||||
StrandID, &
|
|
||||||
ParentZn, &
|
|
||||||
1, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
Null, &
|
|
||||||
Null, &
|
|
||||||
Null, &
|
|
||||||
0)
|
|
||||||
!
|
|
||||||
! Write out the line plot.
|
|
||||||
!
|
|
||||||
DIsDouble = 1
|
|
||||||
III = IMax
|
|
||||||
I = TECDAT112(III,XLDummy,DIsDouble)
|
|
||||||
I = TECDAT112(III,YLDummy,DIsDouble)
|
|
||||||
|
|
||||||
!
|
|
||||||
! Switch back to the field plot file and write out
|
|
||||||
! the finite-element zone.
|
|
||||||
!
|
|
||||||
III = 1
|
|
||||||
I = TECFIL112(III)
|
|
||||||
!
|
|
||||||
! Move the coordinates so this zone's not on top of the other
|
|
||||||
!
|
|
||||||
Do 30 J = 1,5
|
|
||||||
Do 30 I = 1,4
|
|
||||||
X(I,J) = I+5
|
|
||||||
Y(I,J) = J
|
|
||||||
P(I,J) = I*J
|
|
||||||
30 Continue
|
|
||||||
!
|
|
||||||
! Write the zone header information for the finite-element zone.
|
|
||||||
!
|
|
||||||
NPts = 20
|
|
||||||
NElm = 12
|
|
||||||
KMax = 1
|
|
||||||
SolTime = 10.0
|
|
||||||
StrandID = 2
|
|
||||||
I = TECZNE112('Finite Zone 1'//NULCHAR, &
|
|
||||||
3, & ! FEQUADRILATERAL
|
|
||||||
NPts, &
|
|
||||||
NElm, &
|
|
||||||
KMax, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
SolTime, &
|
|
||||||
StrandID, &
|
|
||||||
ParentZn, &
|
|
||||||
1, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
Null, &
|
|
||||||
Null, &
|
|
||||||
Null, &
|
|
||||||
0)
|
|
||||||
!
|
|
||||||
! Write out the field data for the finite-element zone.
|
|
||||||
!
|
|
||||||
IMax = 4
|
|
||||||
JMax = 5
|
|
||||||
III = IMax*JMax
|
|
||||||
DIsDouble = 0
|
|
||||||
I = TECDAT112(III,X,DIsDouble)
|
|
||||||
I = TECDAT112(III,Y,DIsDouble)
|
|
||||||
I = TECDAT112(III,P,DIsDouble)
|
|
||||||
|
|
||||||
!
|
|
||||||
! Calculate and then write out the connectivity list.
|
|
||||||
! Note: The NM array references cells starting with
|
|
||||||
! offset of 1.
|
|
||||||
!
|
|
||||||
|
|
||||||
Do 40 I = 1,IMax-1
|
|
||||||
Do 40 J = 1,JMax-1
|
|
||||||
K = I+(J-1)*(IMax-1)
|
|
||||||
L = I+(J-1)*IMax
|
|
||||||
NM(1,K) = L
|
|
||||||
NM(2,K) = L+1
|
|
||||||
NM(3,K) = L+IMax+1
|
|
||||||
NM(4,K) = L+IMax
|
|
||||||
40 Continue
|
|
||||||
|
|
||||||
I = TECNOD112(NM)
|
|
||||||
!
|
|
||||||
! Calculate vlues for the new solution variable.
|
|
||||||
!
|
|
||||||
Do 50 J = 1,5
|
|
||||||
Do 50 I = 1,4
|
|
||||||
P(I,J) = 2*I*J
|
|
||||||
50 Continue
|
|
||||||
!
|
|
||||||
! Write the zone header information for time step 2
|
|
||||||
!
|
|
||||||
IMax = 4
|
|
||||||
JMax = 5
|
|
||||||
KMax = 1
|
|
||||||
SolTime = 20.0
|
|
||||||
StrandID = 1
|
|
||||||
SharingZone(1) = 1
|
|
||||||
SharingZone(2) = 1
|
|
||||||
SharingZone(3) = 0
|
|
||||||
I = TECZNE112('Ordered Zone 2'//NULCHAR, &
|
|
||||||
0, & ! ORDERED
|
|
||||||
IMax, &
|
|
||||||
JMax, &
|
|
||||||
KMax, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
SolTime, &
|
|
||||||
StrandID, &
|
|
||||||
ParentZn, &
|
|
||||||
1, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
Null, &
|
|
||||||
Null, &
|
|
||||||
SharingZone, &
|
|
||||||
0)
|
|
||||||
!
|
|
||||||
! Write out the solution variable the grid variables are shared.
|
|
||||||
!
|
|
||||||
IMax = 4
|
|
||||||
JMax = 5
|
|
||||||
III = IMax*JMax
|
|
||||||
DIsDouble = 0
|
|
||||||
I = TECDAT112(III,P,DIsDouble)
|
|
||||||
!
|
|
||||||
! Calculate values for the new solution variable.
|
|
||||||
!
|
|
||||||
Do 60 J = 1,5
|
|
||||||
Do 60 I = 1,4
|
|
||||||
P(I,J) = 3*I*J
|
|
||||||
60 Continue
|
|
||||||
!
|
|
||||||
! Write another time step for the FEZone and share from the first
|
|
||||||
!
|
|
||||||
SolTime = 20.0
|
|
||||||
StrandID = 2
|
|
||||||
KMax = 0
|
|
||||||
SharingZone(1) = 2
|
|
||||||
SharingZone(2) = 2
|
|
||||||
SharingZone(3) = 0
|
|
||||||
I = TECZNE112('Finite Zone 2'//NULCHAR, &
|
|
||||||
3, & ! FEQUADRILATERAL
|
|
||||||
NPts, &
|
|
||||||
NElm, &
|
|
||||||
KMax, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
SolTime, &
|
|
||||||
StrandID, &
|
|
||||||
ParentZn, &
|
|
||||||
1, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
Null, &
|
|
||||||
Null, &
|
|
||||||
SharingZone, &
|
|
||||||
2)
|
|
||||||
!
|
|
||||||
! Write out the solution variable the grid variables are shared.
|
|
||||||
!
|
|
||||||
IMax = 4
|
|
||||||
JMax = 5
|
|
||||||
III = IMax*JMax
|
|
||||||
DIsDouble = 0
|
|
||||||
I = TECDAT112(III,P,DIsDouble)
|
|
||||||
|
|
||||||
!
|
|
||||||
! Prepare to write out text record. Text is positioned
|
|
||||||
! at 50, 50 in frame units and has a height 5 frame units.
|
|
||||||
!
|
|
||||||
XP = 50
|
|
||||||
YP = 50
|
|
||||||
FH = 5
|
|
||||||
Scope = 1
|
|
||||||
Clipping = 0
|
|
||||||
PositionCoordSys = 1
|
|
||||||
FontType = 1
|
|
||||||
HeightUnits = 1
|
|
||||||
AttachToZone = 0
|
|
||||||
Zone = 0
|
|
||||||
BoxType = 0
|
|
||||||
BoxMargin = 5.0
|
|
||||||
BoxLineThickness = 0.5
|
|
||||||
BoxColor = 3
|
|
||||||
BoxFillColor = 7
|
|
||||||
TextAngle = 0.0
|
|
||||||
Anchor = 0
|
|
||||||
LineSpacing = 1.5
|
|
||||||
TextColor = 0
|
|
||||||
|
|
||||||
III = TECTXT112(XP, &
|
|
||||||
YP, &
|
|
||||||
0.0d0, &
|
|
||||||
PositionCoordSys, &
|
|
||||||
AttachToZone, &
|
|
||||||
Zone, &
|
|
||||||
FontType, &
|
|
||||||
HeightUnits, &
|
|
||||||
FH, &
|
|
||||||
BoxType, &
|
|
||||||
BoxMargin, &
|
|
||||||
BoxLineThickness, &
|
|
||||||
BoxColor, &
|
|
||||||
BoxFillColor, &
|
|
||||||
TextAngle, &
|
|
||||||
Anchor, &
|
|
||||||
LineSpacing, &
|
|
||||||
TextColor, &
|
|
||||||
Scope, &
|
|
||||||
Clipping, &
|
|
||||||
'Hi Mom'//NULCHAR, &
|
|
||||||
NULCHAR)
|
|
||||||
|
|
||||||
!
|
|
||||||
! Prepare to write out geometry record (circle). Circle is
|
|
||||||
! positioned at 25, 25 in frame units and has a radius of 30.
|
|
||||||
! Circle is drawn using a dashed line pattern.
|
|
||||||
!
|
|
||||||
|
|
||||||
|
|
||||||
XP = 25
|
|
||||||
YP = 25
|
|
||||||
ZP = 0.0
|
|
||||||
IsFilled = 0
|
|
||||||
Color = 0
|
|
||||||
FillColor = 7
|
|
||||||
GeomType = 2
|
|
||||||
LinePattern = 1
|
|
||||||
LineThickness = 0.3
|
|
||||||
PatternLength = 1
|
|
||||||
NumEllipsePts = 72
|
|
||||||
ArrowheadStyle = 0
|
|
||||||
ArrowheadAttachment = 0
|
|
||||||
ArrowheadSize = 0.0
|
|
||||||
ArrowheadAngle = 15.0
|
|
||||||
NumSegments = 1
|
|
||||||
NumSegPts(1) = 1
|
|
||||||
|
|
||||||
XGeomData(1) = 30
|
|
||||||
YGeomData(1) = 0.0
|
|
||||||
ZGeomData(1) = 0.0
|
|
||||||
|
|
||||||
|
|
||||||
III = TECGEO112(XP, &
|
|
||||||
YP, &
|
|
||||||
ZP, &
|
|
||||||
PositionCoordSys, &
|
|
||||||
AttachToZone, &
|
|
||||||
Zone, &
|
|
||||||
Color, &
|
|
||||||
FillColor, &
|
|
||||||
IsFilled, &
|
|
||||||
GeomType, &
|
|
||||||
LinePattern, &
|
|
||||||
PatternLength, &
|
|
||||||
LineThickness, &
|
|
||||||
NumEllipsePts, &
|
|
||||||
ArrowheadStyle, &
|
|
||||||
ArrowheadAttachment, &
|
|
||||||
ArrowheadSize, &
|
|
||||||
ArrowheadAngle, &
|
|
||||||
Scope, &
|
|
||||||
Clipping, &
|
|
||||||
NumSegments, &
|
|
||||||
NumSegPts, &
|
|
||||||
XGeomData, &
|
|
||||||
YGeomData, &
|
|
||||||
ZGeomData, &
|
|
||||||
NULCHAR)
|
|
||||||
|
|
||||||
!
|
|
||||||
! Close out file 1.
|
|
||||||
!
|
|
||||||
I = TECEND112()
|
|
||||||
|
|
||||||
!
|
|
||||||
! Close out file 2.
|
|
||||||
!
|
|
||||||
III = 2
|
|
||||||
I = TECFIL112(III)
|
|
||||||
I = TECEND112()
|
|
||||||
STOP
|
|
||||||
END
|
|
||||||
@ -1,346 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="comtestc"
|
|
||||||
ProjectGUID="{723FBFD1-5AF2-4154-B77A-CE3849EAFCA2}"
|
|
||||||
RootNamespace="comtestc"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="2"
|
|
||||||
AdditionalLibraryDirectories=""
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="2"
|
|
||||||
AdditionalLibraryDirectories=""
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="1"
|
|
||||||
AdditionalLibraryDirectories=""
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="1"
|
|
||||||
AdditionalLibraryDirectories=""
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath=".\comtest.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<VisualStudioProject ProjectCreator="Intel Fortran" Keyword="Console Application" Version="9.10" ProjectIdGuid="{861BC05F-1E95-401A-A80E-7589ADD1C79E}">
|
|
||||||
<Platforms>
|
|
||||||
<Platform Name="Win32"/></Platforms>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.exe;$(TargetPath)">
|
|
||||||
<Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
|
|
||||||
<Tool Name="VFPreBuildEventTool"/>
|
|
||||||
<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" AdditionalIncludeDirectories="$(TEC_360_2009)/Include" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" Traceback="true" BoundsCheck="true" RuntimeLibrary="rtMultiThreadedDebug" CompileOnly="true"/>
|
|
||||||
<Tool Name="VFPostBuildEventTool"/>
|
|
||||||
<Tool Name="VFCustomBuildTool"/>
|
|
||||||
<Tool Name="VFLinkerTool" OutputFile="$(OUTDIR)/comtestf.exe" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(TEC_360_2009)/Bin" GenerateDebugInformation="true" ProgramDatabaseFile="$(OUTDIR)/comtestf.pdb" SubSystem="subSystemConsole" AdditionalDependencies="tecio.lib"/>
|
|
||||||
<Tool Name="VFResourceCompilerTool" ResourceOutputFileName="$(IntDir)/$(InputName).res"/>
|
|
||||||
<Tool Name="VFPreLinkEventTool"/></Configuration>
|
|
||||||
<Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.exe;$(TargetPath)" MustRebuild="true">
|
|
||||||
<Tool Name="VFMidlTool" SwitchesHaveChanged="true" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
|
|
||||||
<Tool Name="VFPreBuildEventTool"/>
|
|
||||||
<Tool Name="VFFortranCompilerTool" SwitchesHaveChanged="true" SuppressStartupBanner="true" AdditionalIncludeDirectories="$(TEC_360_2009)/Include" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreaded" CompileOnly="true"/>
|
|
||||||
<Tool Name="VFPostBuildEventTool"/>
|
|
||||||
<Tool Name="VFCustomBuildTool"/>
|
|
||||||
<Tool Name="VFLinkerTool" SwitchesHaveChanged="true" MustRebuild="true" OutputFile="$(OUTDIR)/comtestf.exe" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(TEC_360_2009)/Bin" SubSystem="subSystemConsole" AdditionalDependencies="tecio.lib"/>
|
|
||||||
<Tool Name="VFResourceCompilerTool" SwitchesHaveChanged="true" ResourceOutputFileName="$(IntDir)/$(InputName).res"/>
|
|
||||||
<Tool Name="VFPreLinkEventTool"/></Configuration></Configurations>
|
|
||||||
<Files>
|
|
||||||
<File RelativePath="comtest.f90"/></Files>
|
|
||||||
<Globals/></VisualStudioProject>
|
|
||||||
Binary file not shown.
@ -1,11 +0,0 @@
|
|||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=faceneighbors
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
||||||
@ -1,354 +0,0 @@
|
|||||||
/* This example illustrates how to create two simple
|
|
||||||
* FE-quadilateral zones and create a face neighbor
|
|
||||||
* connection between the two zones. In order to keep the
|
|
||||||
* example as simple as possible, error checking is not included.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "TECIO.h"
|
|
||||||
#include "MASTER.h"
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
/* Initialize the Data File using TECINI. TECINI is required
|
|
||||||
* for all data files. It is used to: open the data file and
|
|
||||||
* initialize the file header information (name the data file,
|
|
||||||
* the variables for the data file, and the file type).
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* DOCSTART:faceneighbors_tecini.txt*/
|
|
||||||
|
|
||||||
INTEGER4 Debug = 1;
|
|
||||||
INTEGER4 VIsDouble = 0;
|
|
||||||
INTEGER4 FileType = 0;
|
|
||||||
INTEGER4 I = 0; /* Used to track return codes */
|
|
||||||
|
|
||||||
I = TECINI112((char*)"Face Neighbors Example", /* Specifies the name
|
|
||||||
* of the entire
|
|
||||||
* dataset
|
|
||||||
*/
|
|
||||||
(char*)"X Y P", /* Defines the
|
|
||||||
* variables for the
|
|
||||||
* data file. Each
|
|
||||||
* zone must contain
|
|
||||||
* each of the vars
|
|
||||||
* listed. The order
|
|
||||||
* of the variables in
|
|
||||||
* the list is used to
|
|
||||||
* define the variable
|
|
||||||
* number (e.g. X is
|
|
||||||
* Var 1.)
|
|
||||||
*/
|
|
||||||
|
|
||||||
(char*)"FaceNeighbors.plt", /* Specifies the
|
|
||||||
* file name.
|
|
||||||
*/
|
|
||||||
(char*)".",
|
|
||||||
&FileType, /* The FileType is set to
|
|
||||||
* zero, indicating it is
|
|
||||||
* a full file (containing
|
|
||||||
* both grid and solution
|
|
||||||
* data).
|
|
||||||
*/
|
|
||||||
&Debug,
|
|
||||||
&VIsDouble);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* After TECINI is called, call TECZNE to create one or
|
|
||||||
* more zones for your data file.
|
|
||||||
*/
|
|
||||||
/* DOCSTART:faceneighbors_teczne1.txt*/
|
|
||||||
INTEGER4 ZoneType = 3; /* set the zone type to
|
|
||||||
* FEQuadrilateral
|
|
||||||
*/
|
|
||||||
INTEGER4 NumPts = 6;
|
|
||||||
INTEGER4 NumElems = 2;
|
|
||||||
INTEGER4 NumFaces = 8;
|
|
||||||
INTEGER4 ICellMax = 0; /* not used */
|
|
||||||
INTEGER4 JCellMax = 0; /* not used */
|
|
||||||
INTEGER4 KCellMax = 0; /* not used */
|
|
||||||
double SolTime = 360.0;
|
|
||||||
INTEGER4 StrandID = 0; /* StaticZone */
|
|
||||||
INTEGER4 ParentZn = 0;
|
|
||||||
INTEGER4 IsBlock = 1; /* Block */
|
|
||||||
INTEGER4 NFConns = 1; /* Specify the number of Face
|
|
||||||
* Neighbor Connections in the
|
|
||||||
* Zone. When this value is
|
|
||||||
* greater than zero, TECFACE must
|
|
||||||
* be called prior to creating the
|
|
||||||
* next zone or ending the file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Specify the Face Neighbor Mode.
|
|
||||||
* A value of 2 indicated that the face neighbor mode is global
|
|
||||||
* one-to-one. The scope of the face neighbors (local or
|
|
||||||
* global) is with respect to the zones. A value of global
|
|
||||||
* indicates that the face neighbor(s) is/are shared aross zones;
|
|
||||||
* a value of local indicates that the face neighbor(s) are
|
|
||||||
* shared within the current zone. The terms one-to-one and
|
|
||||||
* one-to-many are used to indicate whether the face in question
|
|
||||||
* is shared with one cell or several cells.
|
|
||||||
* For example, if your data is arranged as follows:
|
|
||||||
|
|
||||||
-----------------------
|
|
||||||
| | | |
|
|
||||||
| 1 | 2 | 3 |
|
|
||||||
| | | |
|
|
||||||
-----------------------
|
|
||||||
| | |
|
|
||||||
| 4 | 5 |
|
|
||||||
| | |
|
|
||||||
-----------------------
|
|
||||||
* The face between 1 & 4 is local-one-to-one. The face between
|
|
||||||
* 5 and (2 & 3) is local one-to-many.
|
|
||||||
*/
|
|
||||||
|
|
||||||
INTEGER4 FNMode = 2;
|
|
||||||
|
|
||||||
INTEGER4 TotalNumFaceNodes = 1; /* Not used for
|
|
||||||
* FEQuad zones*/
|
|
||||||
INTEGER4 NumConnectedBoundaryFaces = 1; /* Not used for
|
|
||||||
* FEQuad zones*/
|
|
||||||
INTEGER4 TotalNumBoundaryConnections = 1; /* Not used for
|
|
||||||
* FEQuad zones*/
|
|
||||||
INTEGER4 ShrConn = 0;
|
|
||||||
|
|
||||||
INTEGER4 ValueLocation[3] = {1, 1, 1}; /* Specify the variable
|
|
||||||
* values at the nodes.
|
|
||||||
* NOTE: Because all of
|
|
||||||
* the variables are
|
|
||||||
* defined at the nodes,
|
|
||||||
* we can just pass
|
|
||||||
* NULL for this array.
|
|
||||||
* We are providing the
|
|
||||||
* array for illustration
|
|
||||||
* purposes.
|
|
||||||
*/
|
|
||||||
|
|
||||||
I = TECZNE112((char*)"Zone 1",
|
|
||||||
&ZoneType,
|
|
||||||
&NumPts,
|
|
||||||
&NumElems,
|
|
||||||
&NumFaces,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZn,
|
|
||||||
&IsBlock,
|
|
||||||
&NFConns,
|
|
||||||
&FNMode,
|
|
||||||
&TotalNumFaceNodes,
|
|
||||||
&NumConnectedBoundaryFaces,
|
|
||||||
&TotalNumBoundaryConnections,
|
|
||||||
NULL,
|
|
||||||
ValueLocation,
|
|
||||||
NULL,
|
|
||||||
&ShrConn);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* Set up the variable values. The variable values will be
|
|
||||||
* written to the file using TECDAT. Because we are specifying
|
|
||||||
* nodal variables (as specified via the ValueLocation
|
|
||||||
* parameter in TECZNE, each variable is dimensioned by the
|
|
||||||
* number of points (NumPts) in the Zone. You have the option
|
|
||||||
* to specify some variables with nodal values and some with
|
|
||||||
* cell-centered values. Refer to the Binary Function
|
|
||||||
* Reference for details.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* DOCSTART:faceneighbors_tecdat1.txt*/
|
|
||||||
float *X = new float[NumPts];
|
|
||||||
float *Y = new float[NumPts];
|
|
||||||
float *P = new float[NumPts];
|
|
||||||
|
|
||||||
/* For this example, we will create 2 rectangular cells in Zone
|
|
||||||
* 1. Before defining your variables, you must establish a
|
|
||||||
* consistent node numbering scheme for your data. Once the
|
|
||||||
* node numbers are defined, supply the variable values in the
|
|
||||||
* node numbering order. In this example, node 1 is defined at
|
|
||||||
* X = 0 and Y = 0. As such, the first value supplied for X
|
|
||||||
* (i.e. X[0]) is 0. Similarly, the first value supplied for Y
|
|
||||||
* is 0.
|
|
||||||
*
|
|
||||||
* It is important that you refer to node numbers consistently.
|
|
||||||
* The node numbers will be used later to define the
|
|
||||||
* connectivity for each element.
|
|
||||||
*/
|
|
||||||
|
|
||||||
X[0] = 0;
|
|
||||||
X[1] = 0;
|
|
||||||
X[2] = 1;
|
|
||||||
X[3] = 1;
|
|
||||||
X[4] = 2;
|
|
||||||
X[5] = 2;
|
|
||||||
|
|
||||||
Y[0] = 0;
|
|
||||||
Y[1] = 1;
|
|
||||||
Y[2] = 0;
|
|
||||||
Y[3] = 1;
|
|
||||||
Y[4] = 0;
|
|
||||||
Y[5] = 1;
|
|
||||||
|
|
||||||
for (INTEGER4 ii = 0; ii < NumPts; ii++)
|
|
||||||
P[ii] = (float)(NumPts - ii);
|
|
||||||
|
|
||||||
INTEGER4 DIsDouble = 0; /* Set DIsDouble to zero to use
|
|
||||||
* variables in float format.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Call TECDAT once for each variable */
|
|
||||||
I = TECDAT112(&NumPts, &X[0], &DIsDouble);
|
|
||||||
I = TECDAT112(&NumPts, &Y[0], &DIsDouble);
|
|
||||||
I = TECDAT112(&NumPts, &P[0], &DIsDouble);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* Define the face neighbors connections.
|
|
||||||
* The Connectivity List is used to specify the nodes that
|
|
||||||
* compose each element. When working with nodal variables, the
|
|
||||||
* numbering of the nodes is implicitly defined when the
|
|
||||||
* variables are declared. The first value of each variable is
|
|
||||||
* for node one, the second value for node two, and so on.
|
|
||||||
*
|
|
||||||
* Because this zone contains two quadilateral elements, we must
|
|
||||||
* supply 8 values in the connectivity list. The first four
|
|
||||||
* values define the nodes that form element 1. Similarly, the
|
|
||||||
* second four values define the nodes that form element 2.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* DOCSTART:faceneighbors_tecnod1.txt*/
|
|
||||||
INTEGER4 ConnList[8] = {1, 3, 4, 2,
|
|
||||||
3, 5, 6, 4
|
|
||||||
};
|
|
||||||
I = TECNOD112(ConnList);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* TIP! It is important to provide the node list in either a
|
|
||||||
* clockwise or counter-clockwise order. Otherwise, your
|
|
||||||
* elements will be misformed. For example, if the first two
|
|
||||||
* numbers in the above connectivity list, the zone would
|
|
||||||
* appear as follows:
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Now that TECNOD has been called, the creation of Zone 1
|
|
||||||
* is complete. However, in this example, we will define a
|
|
||||||
* face neighbor between Zone 1 and Zone 2 (to be created
|
|
||||||
* later in the example). Face Neighbor connections are used
|
|
||||||
* to define connections that are not created via the
|
|
||||||
* connectivity list. For example, local face neighbors may
|
|
||||||
* need to be defined when a zone wraps itself and global face
|
|
||||||
* neighbors may need to be defined to smooth edges across
|
|
||||||
* zones. Face Neighbors are used when deriving variables and
|
|
||||||
* drawing contours.
|
|
||||||
*
|
|
||||||
* In this example, we are creating a face neighbor connection
|
|
||||||
* between cell 2 in Zone 1 and cell 1 in Zone 2. The
|
|
||||||
* information required when specifying face neighbors
|
|
||||||
* depends upon the type of connection.
|
|
||||||
*
|
|
||||||
* In this case, we must supply (in this order):
|
|
||||||
* - the cell number in the current zone that contains the
|
|
||||||
* - the number of the face in that cell that contains the
|
|
||||||
* face neighbor
|
|
||||||
* - the number of the other zone to which the face is
|
|
||||||
* connected
|
|
||||||
* - the number of the cell in the other zone to which the
|
|
||||||
* face is connected
|
|
||||||
* The face numbering for cell-based finite elements is
|
|
||||||
* defined using the picture displayed in the Data Format
|
|
||||||
* Guide. In this example, face 2 in cell 2 in the current
|
|
||||||
* zone is connected to cell 1 in zone 2.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* DOCSTART:faceneighbors_tecface1.txt*/
|
|
||||||
INTEGER4 FaceConn[4] = {2, 2, 2, 1};
|
|
||||||
I = TECFACE112(FaceConn);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* The creation of Zone 1 is complete. We are ready to create
|
|
||||||
* Zone 2. For simplicity, Zone 2 is a copy of Zone 1 shifted
|
|
||||||
* along the X-axis. As such, many of the variables used to
|
|
||||||
* create Zone 1 are re-used here.
|
|
||||||
*/
|
|
||||||
/* DOCSTART:faceneighbors_teczne2.txt*/
|
|
||||||
/* Call TECZNE to create Zone 2 */
|
|
||||||
I = TECZNE112((char*)"Zone 2",
|
|
||||||
&ZoneType,
|
|
||||||
&NumPts,
|
|
||||||
&NumElems,
|
|
||||||
&NumFaces,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZn,
|
|
||||||
&IsBlock,
|
|
||||||
&NFConns,
|
|
||||||
&FNMode,
|
|
||||||
&TotalNumFaceNodes,
|
|
||||||
&NumConnectedBoundaryFaces,
|
|
||||||
&TotalNumBoundaryConnections,
|
|
||||||
NULL,
|
|
||||||
ValueLocation,
|
|
||||||
NULL,
|
|
||||||
&ShrConn);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* Define the variables for Zone 2. Because Zone 2 is a copy
|
|
||||||
* of Zone 1, shifted along the X-axis, we can share the Y
|
|
||||||
* variable definition used to Zone. We will also create a
|
|
||||||
* second pressure variable for Zone 2 (P2).
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* DOCSTART:faceneighbors_tecdat2.txt*/
|
|
||||||
float *X2 = new float[NumPts];
|
|
||||||
float *P2 = new float[NumPts];
|
|
||||||
|
|
||||||
for (INTEGER4 ii = 0; ii < NumPts; ii++)
|
|
||||||
{
|
|
||||||
X2[ii] = X[ii] + 2;
|
|
||||||
P2[ii] = 2 * (float)ii;
|
|
||||||
}
|
|
||||||
|
|
||||||
I = TECDAT112(&NumPts, &X2[0], &DIsDouble);
|
|
||||||
I = TECDAT112(&NumPts, &Y[0], &DIsDouble);
|
|
||||||
I = TECDAT112(&NumPts, &P2[0], &DIsDouble);
|
|
||||||
|
|
||||||
delete X;
|
|
||||||
delete Y;
|
|
||||||
delete P;
|
|
||||||
delete X2;
|
|
||||||
delete P2;
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* As with Zone 1, we must define the connectivity list for
|
|
||||||
* Zone 2. Because, the node numbering restarts at one for each
|
|
||||||
* new zone and the nodal arrangement is identical between the
|
|
||||||
* two zones, we may reuse the connectivity list from Zone 1.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* DOCSTART:faceneighbors_tecnod2.txt*/
|
|
||||||
I = TECNOD112(ConnList);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* We will now specify the face neighbor connection with
|
|
||||||
* respect to our new current zone of Zone 2.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* DOCSTART:faceneighbors_tecface2.txt*/
|
|
||||||
INTEGER4 FaceConn2[4] = {1, 4, 1, 2}; /* cell 1, face 4 in
|
|
||||||
* current zone is a
|
|
||||||
* neighbor to cell 2 in
|
|
||||||
* zone 1.
|
|
||||||
*/
|
|
||||||
I = TECFACE112(FaceConn2);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* Call TECEND to close the file */
|
|
||||||
/* DOCSTART:faceneighbors_tecend.txt*/
|
|
||||||
I = TECEND112();
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@ -1,172 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="faceneighbors"
|
|
||||||
ProjectGUID="{1074FD63-4831-4D1B-8A27-94A3AC33A509}"
|
|
||||||
RootNamespace="faceneighbors"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath=".\faceneighbors.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
||||||
@ -1,11 +0,0 @@
|
|||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=gridsolution
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
||||||
@ -1,376 +0,0 @@
|
|||||||
/* This example illustrates using separate grid
|
|
||||||
* and solution files.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "TECIO.h"
|
|
||||||
#include "MASTER.h" /* for defintion of NULL */
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
/* DOCSTART:gridsolution_grid_tecini.txt*/
|
|
||||||
INTEGER4 I; /* use to check return values */
|
|
||||||
|
|
||||||
INTEGER4 Debug = 1;
|
|
||||||
INTEGER4 VIsDouble = 0;
|
|
||||||
INTEGER4 FileType = 1; /* 1 = grid file. */
|
|
||||||
|
|
||||||
I = TECINI112((char*)"Example: Separate grid and solution files",
|
|
||||||
(char*)"X Y Z", /* Defines the variables for the data file.
|
|
||||||
* Each zone must contain each of the vars
|
|
||||||
* listed here. The order of the variables
|
|
||||||
* in the list is used to define the
|
|
||||||
* variable number (e.g. X is Variable 1).
|
|
||||||
* When referring to variables in other
|
|
||||||
* TecIO functions, you will refer to the
|
|
||||||
* variable by its number.
|
|
||||||
*/
|
|
||||||
(char*)"grid.plt",
|
|
||||||
(char*)".", /* scratch directory */
|
|
||||||
&FileType,
|
|
||||||
&Debug,
|
|
||||||
&VIsDouble);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:gridsolution_grid_teczne.txt*/
|
|
||||||
/* TECZNE Parameters */
|
|
||||||
INTEGER4 ZoneType = 7; /* FE Polyhedron */
|
|
||||||
INTEGER4 NumPts = 20; /* the number of unique
|
|
||||||
* nodes in the zone.
|
|
||||||
*/
|
|
||||||
INTEGER4 NumElems = 1;
|
|
||||||
INTEGER4 NumFaces = 12; /* the number of unique
|
|
||||||
* faces in the zone.
|
|
||||||
*/
|
|
||||||
INTEGER4 ICellMax = 0; /* not used */
|
|
||||||
INTEGER4 JCellMax = 0; /* not used */
|
|
||||||
INTEGER4 KCellMax = 0; /* not used */
|
|
||||||
double SolutionTime = 0.0;
|
|
||||||
INTEGER4 StrandID = 1; /* time strand for
|
|
||||||
* unsteady solution.
|
|
||||||
*/
|
|
||||||
INTEGER4 ParentZone = 0;
|
|
||||||
INTEGER4 IsBlock = 1;
|
|
||||||
INTEGER4 NumFaceConnections = 0;
|
|
||||||
INTEGER4 FaceNeighborMode = 1;
|
|
||||||
INTEGER4 SharConn = 0;
|
|
||||||
|
|
||||||
/* For this zone, the total number of face nodes is
|
|
||||||
* five times number of faces, because each face
|
|
||||||
* is a pentagon.
|
|
||||||
*/
|
|
||||||
INTEGER4 TotalNumFaceNodes = 5 * NumFaces;
|
|
||||||
|
|
||||||
/* This zone has no connected boundary faces.
|
|
||||||
*/
|
|
||||||
INTEGER4 TotalNumBndryFaces = 0;
|
|
||||||
INTEGER4 TotalNumBndryConns = 0;
|
|
||||||
|
|
||||||
I = TECZNE112((char*)"Dodecahedron", /* Name of the zone. */
|
|
||||||
&ZoneType,
|
|
||||||
&NumPts,
|
|
||||||
&NumElems,
|
|
||||||
&NumFaces,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolutionTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZone,
|
|
||||||
&IsBlock,
|
|
||||||
&NumFaceConnections,
|
|
||||||
&FaceNeighborMode,
|
|
||||||
&TotalNumFaceNodes,
|
|
||||||
&TotalNumBndryFaces,
|
|
||||||
&TotalNumBndryConns,
|
|
||||||
NULL,
|
|
||||||
NULL, /* All nodal variables */
|
|
||||||
NULL,
|
|
||||||
&SharConn);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:gridsolution_grid_tecdat.txt*/
|
|
||||||
|
|
||||||
/* TECDAT Parameters */
|
|
||||||
double Phi = 0.5 * (1.0 + sqrt(5.0));
|
|
||||||
double Pi = 3.141592653578;
|
|
||||||
double *X = new double[NumPts];
|
|
||||||
double *Y = new double[NumPts];
|
|
||||||
double *Z = new double[NumPts];
|
|
||||||
int Count = 0;
|
|
||||||
|
|
||||||
for(int J = 0; J <= 4; J++)
|
|
||||||
{
|
|
||||||
X[Count] = 2.0 * cos(2.0 / 5.0 * Pi * J);
|
|
||||||
Y[Count] = 2.0 * sin(2.0 / 5.0 * Pi * J);
|
|
||||||
Z[Count] = Phi + 1.0;
|
|
||||||
Count++;
|
|
||||||
|
|
||||||
X[Count] = -X[Count - 1];
|
|
||||||
Y[Count] = -Y[Count - 1];
|
|
||||||
Z[Count] = -Z[Count - 1];
|
|
||||||
Count++;
|
|
||||||
|
|
||||||
X[Count] = 2.0 * Phi * cos(2.0 / 5.0 * Pi * J);
|
|
||||||
Y[Count] = 2.0 * Phi * sin(2.0 / 5.0 * Pi * J);
|
|
||||||
Z[Count] = Phi - 1.0;
|
|
||||||
Count++;
|
|
||||||
|
|
||||||
X[Count] = -X[Count - 1];
|
|
||||||
Y[Count] = -Y[Count - 1];
|
|
||||||
Z[Count] = -Z[Count - 1];
|
|
||||||
Count++;
|
|
||||||
}
|
|
||||||
|
|
||||||
INTEGER4 IsDouble = 1;
|
|
||||||
|
|
||||||
I = TECDAT112(&NumPts, X, &IsDouble);
|
|
||||||
I = TECDAT112(&NumPts, Y, &IsDouble);
|
|
||||||
I = TECDAT112(&NumPts, Z, &IsDouble);
|
|
||||||
|
|
||||||
delete X;
|
|
||||||
delete Y;
|
|
||||||
delete Z;
|
|
||||||
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:gridsolution_grid_facenodes.txt*/
|
|
||||||
/* TecPoly Parameters */
|
|
||||||
|
|
||||||
/* Create a FaceNodes array, dimensioned by the total number
|
|
||||||
* of face nodes in the zone.
|
|
||||||
*/
|
|
||||||
INTEGER4 *FaceNodes = new INTEGER4[TotalNumFaceNodes];
|
|
||||||
int n = 0;
|
|
||||||
|
|
||||||
/* Face Nodes for face 1 of the dodecahedron */
|
|
||||||
FaceNodes[n++] = 2;
|
|
||||||
FaceNodes[n++] = 6;
|
|
||||||
FaceNodes[n++] = 10;
|
|
||||||
FaceNodes[n++] = 14;
|
|
||||||
FaceNodes[n++] = 18;
|
|
||||||
|
|
||||||
/* Face Nodes for face 2 */
|
|
||||||
FaceNodes[n++] = 6;
|
|
||||||
FaceNodes[n++] = 8;
|
|
||||||
FaceNodes[n++] = 19;
|
|
||||||
FaceNodes[n++] = 12;
|
|
||||||
FaceNodes[n++] = 10;
|
|
||||||
|
|
||||||
/* Face Nodes for face 3 */
|
|
||||||
FaceNodes[n++] = 3;
|
|
||||||
FaceNodes[n++] = 12;
|
|
||||||
FaceNodes[n++] = 10;
|
|
||||||
FaceNodes[n++] = 14;
|
|
||||||
FaceNodes[n++] = 16;
|
|
||||||
|
|
||||||
/* Face Nodes for face 4 */
|
|
||||||
FaceNodes[n++] = 7;
|
|
||||||
FaceNodes[n++] = 16;
|
|
||||||
FaceNodes[n++] = 14;
|
|
||||||
FaceNodes[n++] = 18;
|
|
||||||
FaceNodes[n++] = 20;
|
|
||||||
|
|
||||||
/* Face Nodes for face 5 */
|
|
||||||
FaceNodes[n++] = 2;
|
|
||||||
FaceNodes[n++] = 4;
|
|
||||||
FaceNodes[n++] = 11;
|
|
||||||
FaceNodes[n++] = 20;
|
|
||||||
FaceNodes[n++] = 18;
|
|
||||||
|
|
||||||
/* Face Nodes for face 6 */
|
|
||||||
FaceNodes[n++] = 2;
|
|
||||||
FaceNodes[n++] = 4;
|
|
||||||
FaceNodes[n++] = 15;
|
|
||||||
FaceNodes[n++] = 8;
|
|
||||||
FaceNodes[n++] = 6;
|
|
||||||
|
|
||||||
/* Face Nodes for face 7 */
|
|
||||||
FaceNodes[n++] = 1;
|
|
||||||
FaceNodes[n++] = 3;
|
|
||||||
FaceNodes[n++] = 12;
|
|
||||||
FaceNodes[n++] = 19;
|
|
||||||
FaceNodes[n++] = 17;
|
|
||||||
|
|
||||||
/* Face Nodes for face 8 */
|
|
||||||
FaceNodes[n++] = 1;
|
|
||||||
FaceNodes[n++] = 3;
|
|
||||||
FaceNodes[n++] = 16;
|
|
||||||
FaceNodes[n++] = 7;
|
|
||||||
FaceNodes[n++] = 5;
|
|
||||||
|
|
||||||
/* Face Nodes for face 9 */
|
|
||||||
FaceNodes[n++] = 5;
|
|
||||||
FaceNodes[n++] = 7;
|
|
||||||
FaceNodes[n++] = 20;
|
|
||||||
FaceNodes[n++] = 11;
|
|
||||||
FaceNodes[n++] = 9;
|
|
||||||
|
|
||||||
/* Face Nodes for face 10 */
|
|
||||||
FaceNodes[n++] = 4;
|
|
||||||
FaceNodes[n++] = 11;
|
|
||||||
FaceNodes[n++] = 9;
|
|
||||||
FaceNodes[n++] = 13;
|
|
||||||
FaceNodes[n++] = 15;
|
|
||||||
|
|
||||||
/* Face Nodes for face 11 */
|
|
||||||
FaceNodes[n++] = 8;
|
|
||||||
FaceNodes[n++] = 15;
|
|
||||||
FaceNodes[n++] = 13;
|
|
||||||
FaceNodes[n++] = 17;
|
|
||||||
FaceNodes[n++] = 19;
|
|
||||||
|
|
||||||
/* Face Nodes for face 12 */
|
|
||||||
FaceNodes[n++] = 1;
|
|
||||||
FaceNodes[n++] = 5;
|
|
||||||
FaceNodes[n++] = 9;
|
|
||||||
FaceNodes[n++] = 13;
|
|
||||||
FaceNodes[n++] = 17;
|
|
||||||
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* Specify the number of nodes for each face, and the right and
|
|
||||||
* left neighboring elements. The neighboring elements can be
|
|
||||||
* determined using the right-hand rule. For each face, curl
|
|
||||||
* the fingers of your right hand in the direction of
|
|
||||||
* incrementing node numbers (i.e. from Node 1 to Node 2 and
|
|
||||||
* so on). Your thumb will point toward the right element.
|
|
||||||
* A value of zero indicates that there is no
|
|
||||||
* neighboring element on that side. A negative value
|
|
||||||
* indicates that the neighboring element is in another zone.
|
|
||||||
* In that case, the number is a pointer into the
|
|
||||||
* FaceBndryConnectionElems and FaceBndryConnectionZones arrays.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* DOCSTART:gridsolution_grid_tecpoly.txt*/
|
|
||||||
INTEGER4 *FaceNodeCounts = new INTEGER4[NumFaces];
|
|
||||||
INTEGER4 *FaceLeftElems = new INTEGER4[NumFaces];
|
|
||||||
INTEGER4 *FaceRightElems = new INTEGER4[NumFaces];
|
|
||||||
|
|
||||||
/* For this particular zone, each face has the 5 nodes. */
|
|
||||||
for(int J = 0; J < NumFaces; J++)
|
|
||||||
FaceNodeCounts[J] = 5;
|
|
||||||
|
|
||||||
/* Set the right and left elements for each face. */
|
|
||||||
FaceRightElems[0] = 1;
|
|
||||||
FaceRightElems[1] = 1;
|
|
||||||
FaceRightElems[2] = 0;
|
|
||||||
FaceRightElems[3] = 0;
|
|
||||||
FaceRightElems[4] = 0;
|
|
||||||
FaceRightElems[5] = 1;
|
|
||||||
FaceRightElems[6] = 1;
|
|
||||||
FaceRightElems[7] = 0;
|
|
||||||
FaceRightElems[8] = 0;
|
|
||||||
FaceRightElems[9] = 1;
|
|
||||||
FaceRightElems[10] = 1;
|
|
||||||
FaceRightElems[11] = 0;
|
|
||||||
|
|
||||||
FaceLeftElems[0] = 0;
|
|
||||||
FaceLeftElems[1] = 0;
|
|
||||||
FaceLeftElems[2] = 1;
|
|
||||||
FaceLeftElems[3] = 1;
|
|
||||||
FaceLeftElems[4] = 1;
|
|
||||||
FaceLeftElems[5] = 0;
|
|
||||||
FaceLeftElems[6] = 0;
|
|
||||||
FaceLeftElems[7] = 1;
|
|
||||||
FaceLeftElems[8] = 1;
|
|
||||||
FaceLeftElems[9] = 0;
|
|
||||||
FaceLeftElems[10] = 0;
|
|
||||||
FaceLeftElems[11] = 1;
|
|
||||||
|
|
||||||
I = TECPOLY112(FaceNodeCounts,
|
|
||||||
FaceNodes,
|
|
||||||
FaceLeftElems,
|
|
||||||
FaceRightElems,
|
|
||||||
NULL, /* No boundary connections. */
|
|
||||||
NULL,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
delete FaceNodes;
|
|
||||||
delete FaceLeftElems;
|
|
||||||
delete FaceRightElems;
|
|
||||||
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
|
|
||||||
/* DOCSTART:gridsolution_grid_tecend.txt*/
|
|
||||||
I = TECEND112();
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:gridsolution_solution_tecini.txt*/
|
|
||||||
for(int J = 0; J < 5; J++)
|
|
||||||
{
|
|
||||||
char SolutionFileName[128];
|
|
||||||
sprintf(SolutionFileName, "solution%d.plt", J);
|
|
||||||
|
|
||||||
/* DOCSTART:gridsolution_solution_tecini.txt*/
|
|
||||||
FileType = 2; /* 1 = solution file. */
|
|
||||||
|
|
||||||
I = TECINI112((char*)"Example: Separate grid and solution files",
|
|
||||||
(char*)"P T", /* Defines the variables for the solution file.
|
|
||||||
* Note that these are different variables from
|
|
||||||
* the grid file.
|
|
||||||
*/
|
|
||||||
SolutionFileName,
|
|
||||||
(char*)".", /* scratch directory */
|
|
||||||
&FileType,
|
|
||||||
&Debug,
|
|
||||||
&VIsDouble);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:gridsolution_solution_teczne.txt*/
|
|
||||||
/* TECZNE Parameters are mostly unchanged from creation of the grid file. */
|
|
||||||
TotalNumFaceNodes = 0;
|
|
||||||
SolutionTime = J;
|
|
||||||
|
|
||||||
char ZoneName[128];
|
|
||||||
sprintf(ZoneName, "Dodecahedron Time=%g", SolutionTime);
|
|
||||||
I = TECZNE112(ZoneName,
|
|
||||||
&ZoneType,
|
|
||||||
&NumPts,
|
|
||||||
&NumElems,
|
|
||||||
&NumFaces,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolutionTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZone,
|
|
||||||
&IsBlock,
|
|
||||||
&NumFaceConnections,
|
|
||||||
&FaceNeighborMode,
|
|
||||||
&TotalNumFaceNodes,
|
|
||||||
&TotalNumBndryFaces,
|
|
||||||
&TotalNumBndryConns,
|
|
||||||
NULL,
|
|
||||||
NULL, /* All nodal variables */
|
|
||||||
NULL,
|
|
||||||
&SharConn);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:gridsolution_solution_tecdat.txt*/
|
|
||||||
|
|
||||||
/* TECDAT Parameters */
|
|
||||||
double *P = new double[NumPts];
|
|
||||||
double *T = new double[NumPts];
|
|
||||||
|
|
||||||
for(int K = 0; K < NumPts; K++)
|
|
||||||
{
|
|
||||||
P[K] = (double)(K + J);
|
|
||||||
T[K] = 1.0 + K + K;
|
|
||||||
}
|
|
||||||
|
|
||||||
I = TECDAT112(&NumPts, P, &IsDouble);
|
|
||||||
I = TECDAT112(&NumPts, T, &IsDouble);
|
|
||||||
|
|
||||||
delete P;
|
|
||||||
delete T;
|
|
||||||
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:gridsolution_solution_tecend.txt*/
|
|
||||||
I = TECEND112();
|
|
||||||
/* DOCEND */
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@ -1,321 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="gridsolution"
|
|
||||||
ProjectGUID="{D2747EA6-7807-42E1-984D-C946B3D97D95}"
|
|
||||||
RootNamespace="mulitplepolygons"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath=".\gridsolution.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
||||||
@ -1,11 +0,0 @@
|
|||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=ij_ordered
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
||||||
@ -1,149 +0,0 @@
|
|||||||
/* This example creates a simple set of IJ-ordered zones */
|
|
||||||
/* DOCSTART:ij_ordered.txt*/
|
|
||||||
#include "TECIO.h"
|
|
||||||
#include "MASTER.h" /* for defintion of NULL */
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
INTEGER4 Debug = 1;
|
|
||||||
INTEGER4 VIsDouble = 0;
|
|
||||||
INTEGER4 FileType = 0;
|
|
||||||
INTEGER4 I = 0; /* Used to track return codes */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Open the file and write the tecplot datafile
|
|
||||||
* header information
|
|
||||||
*/
|
|
||||||
I = TECINI112((char*)"IJ Ordered Zones", /* Name of the entire
|
|
||||||
* dataset.
|
|
||||||
*/
|
|
||||||
(char*)"X Y P", /* Defines the variables for the data
|
|
||||||
* file. Each zone must contain each of
|
|
||||||
* the variables listed here. The order
|
|
||||||
* of the variables in the list is used
|
|
||||||
* to define the variable number (e.g.
|
|
||||||
* X is Var 1).
|
|
||||||
*/
|
|
||||||
(char*)"ij_ordered.plt",
|
|
||||||
(char*)".", /* Scratch Directory */
|
|
||||||
&FileType,
|
|
||||||
&Debug,
|
|
||||||
&VIsDouble);
|
|
||||||
|
|
||||||
float X1[4];
|
|
||||||
float Y1[4];
|
|
||||||
float P1[4];
|
|
||||||
float X2[4];
|
|
||||||
float Y2[4];
|
|
||||||
float P2[4];
|
|
||||||
|
|
||||||
INTEGER4 ICellMax = 0;
|
|
||||||
INTEGER4 JCellMax = 0;
|
|
||||||
INTEGER4 KCellMax = 0;
|
|
||||||
INTEGER4 DIsDouble = 0;
|
|
||||||
double SolTime = 360.0;
|
|
||||||
INTEGER4 StrandID = 0; /* StaticZone */
|
|
||||||
INTEGER4 ParentZn = 0;
|
|
||||||
INTEGER4 IsBlock = 1; /* Block */
|
|
||||||
INTEGER4 NFConns = 0;
|
|
||||||
INTEGER4 FNMode = 0;
|
|
||||||
INTEGER4 TotalNumFaceNodes = 1;
|
|
||||||
INTEGER4 TotalNumBndryFaces = 1;
|
|
||||||
INTEGER4 TotalNumBndryConnections = 1;
|
|
||||||
INTEGER4 ShrConn = 0;
|
|
||||||
|
|
||||||
/*Ordered Zone Parameters*/
|
|
||||||
INTEGER4 IMax = 2;
|
|
||||||
INTEGER4 JMax = 2;
|
|
||||||
INTEGER4 KMax = 1;
|
|
||||||
|
|
||||||
X1[0] = .125;
|
|
||||||
Y1[0] = .5;
|
|
||||||
P1[0] = 5;
|
|
||||||
|
|
||||||
X1[1] = .625;
|
|
||||||
Y1[1] = .5;
|
|
||||||
P1[1] = 7.5;
|
|
||||||
|
|
||||||
X1[2] = .125;
|
|
||||||
Y1[2] = .875;
|
|
||||||
P1[2] = 10;
|
|
||||||
|
|
||||||
X1[3] = .625;
|
|
||||||
Y1[3] = .875;
|
|
||||||
P1[3] = 7.5;
|
|
||||||
|
|
||||||
X2[0] = .375;
|
|
||||||
Y2[0] = .125;
|
|
||||||
P2[0] = 5;
|
|
||||||
|
|
||||||
X2[1] = .875;
|
|
||||||
Y2[1] = .125;
|
|
||||||
P2[1] = 7.5;
|
|
||||||
|
|
||||||
X2[2] = .375;
|
|
||||||
Y2[2] = .5;
|
|
||||||
P2[2] = 10;
|
|
||||||
|
|
||||||
X2[3] = .875;
|
|
||||||
Y2[3] = .5;
|
|
||||||
P2[3] = 7.5;
|
|
||||||
|
|
||||||
/* Ordered Zone */
|
|
||||||
INTEGER4 ZoneType = 0;
|
|
||||||
I = TECZNE112((char*)"Ordered Zone",
|
|
||||||
&ZoneType,
|
|
||||||
&IMax,
|
|
||||||
&JMax,
|
|
||||||
&KMax,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZn,
|
|
||||||
&IsBlock,
|
|
||||||
&NFConns,
|
|
||||||
&FNMode,
|
|
||||||
&TotalNumFaceNodes,
|
|
||||||
&TotalNumBndryFaces,
|
|
||||||
&TotalNumBndryConnections,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
&ShrConn);
|
|
||||||
INTEGER4 III = IMax * JMax * KMax;
|
|
||||||
I = TECDAT112(&III, X1, &DIsDouble);
|
|
||||||
I = TECDAT112(&III, Y1, &DIsDouble);
|
|
||||||
I = TECDAT112(&III, P1, &DIsDouble);
|
|
||||||
|
|
||||||
I = TECZNE112((char*)"Ordered Zone2",
|
|
||||||
&ZoneType,
|
|
||||||
&IMax,
|
|
||||||
&JMax,
|
|
||||||
&KMax,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZn,
|
|
||||||
&IsBlock,
|
|
||||||
&NFConns,
|
|
||||||
&FNMode,
|
|
||||||
&TotalNumFaceNodes,
|
|
||||||
&TotalNumBndryFaces,
|
|
||||||
&TotalNumBndryConnections,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
&ShrConn);
|
|
||||||
|
|
||||||
I = TECDAT112(&III, X2, &DIsDouble);
|
|
||||||
I = TECDAT112(&III, Y2, &DIsDouble);
|
|
||||||
I = TECDAT112(&III, P2, &DIsDouble);
|
|
||||||
|
|
||||||
I = TECEND112();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
/* DOCEND */
|
|
||||||
Binary file not shown.
@ -1,172 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="ij_ordered"
|
|
||||||
ProjectGUID="{47556A00-C441-4B9A-8920-91CA63AC1595}"
|
|
||||||
RootNamespace="ij_ordered"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath=".\ij_ordered.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
||||||
@ -1,11 +0,0 @@
|
|||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=multiplefiles
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
||||||
Binary file not shown.
Binary file not shown.
@ -1,214 +0,0 @@
|
|||||||
/* This example illustrates working with TecFil to create multiple
|
|
||||||
* plt files simultaneously.
|
|
||||||
*/
|
|
||||||
#if defined _MSC_VER
|
|
||||||
#pragma warning (disable: 4996) /* Windows strcpy warning off */
|
|
||||||
#endif
|
|
||||||
/* DOCSTART:mulitplefiles.txt */
|
|
||||||
#include "TECIO.h"
|
|
||||||
#include "MASTER.h" /* for defintion of NULL */
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Open the file and write the tecplot datafile
|
|
||||||
* header information
|
|
||||||
*/
|
|
||||||
INTEGER4 Debug = 1;
|
|
||||||
INTEGER4 VIsDouble = 0;
|
|
||||||
INTEGER4 FileType = 0;
|
|
||||||
INTEGER4 I = 0; /* Used to check the return value */
|
|
||||||
|
|
||||||
I = TECINI112((char*)"SIMPLE DATASET", /* Name of the entire dataset.*/
|
|
||||||
|
|
||||||
(char*)"X1 Y1 P1", /* Defines the variables for the data
|
|
||||||
* file. Each zone must contain each of
|
|
||||||
* the variables listed here. The order
|
|
||||||
* of the variables in the list is used
|
|
||||||
* to define the variable number (e.g.
|
|
||||||
* X1 is Var 1).
|
|
||||||
*/
|
|
||||||
(char*)"file1.plt",
|
|
||||||
(char*)".", /* Scratch Directory */
|
|
||||||
&FileType,
|
|
||||||
&Debug,
|
|
||||||
&VIsDouble);
|
|
||||||
|
|
||||||
/* Set the parameters for TecZne */
|
|
||||||
INTEGER4 ZoneType = 0; /* sets the zone type to
|
|
||||||
* ordered
|
|
||||||
*/
|
|
||||||
INTEGER4 IMax = 2; /* Create an IJ-ordered zone,
|
|
||||||
* by using IMax and JMax
|
|
||||||
* values that are greater
|
|
||||||
* than one, and setting KMax
|
|
||||||
* to one.
|
|
||||||
*/
|
|
||||||
INTEGER4 JMax = 2;
|
|
||||||
INTEGER4 KMax = 1;
|
|
||||||
|
|
||||||
double SolTime = 0;
|
|
||||||
INTEGER4 StrandID = 0; /* StaticZone */
|
|
||||||
INTEGER4 ParentZn = 0; /* used for surface streams */
|
|
||||||
|
|
||||||
INTEGER4 ICellMax = 0; /* not used */
|
|
||||||
INTEGER4 JCellMax = 0; /* not used */
|
|
||||||
INTEGER4 KCellMax = 0; /* not used */
|
|
||||||
|
|
||||||
INTEGER4 IsBlock = 1; /* Block */
|
|
||||||
|
|
||||||
INTEGER4 NFConns = 0; /* this example does not use
|
|
||||||
* face neighbors */
|
|
||||||
INTEGER4 FNMode = 0;
|
|
||||||
INTEGER4 TotalNumFaceNodes = 1;
|
|
||||||
INTEGER4 TotalNumBndryFaces = 1;
|
|
||||||
INTEGER4 TotalNumBndryConn = 1;
|
|
||||||
INTEGER4 ShrConn = 0;
|
|
||||||
|
|
||||||
|
|
||||||
/* Create an Ordered Zone */
|
|
||||||
I = TECZNE112((char*)"Ordered Zone",
|
|
||||||
&ZoneType,
|
|
||||||
&IMax,
|
|
||||||
&JMax,
|
|
||||||
&KMax,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZn,
|
|
||||||
&IsBlock,
|
|
||||||
&NFConns,
|
|
||||||
&FNMode,
|
|
||||||
&TotalNumFaceNodes,
|
|
||||||
&TotalNumBndryFaces,
|
|
||||||
&TotalNumBndryConn,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
&ShrConn);
|
|
||||||
|
|
||||||
/* Set the variable values for the ordered zone. */
|
|
||||||
float X1[4];
|
|
||||||
float Y1[4];
|
|
||||||
float P1[4];
|
|
||||||
|
|
||||||
X1[0] = 0.125;
|
|
||||||
Y1[0] = 0.5;
|
|
||||||
P1[0] = 7.5;
|
|
||||||
|
|
||||||
X1[1] = 0.625;
|
|
||||||
Y1[1] = 0.5;
|
|
||||||
P1[1] = 10.0;
|
|
||||||
|
|
||||||
X1[2] = 0.125;
|
|
||||||
Y1[2] = 0.875;
|
|
||||||
P1[2] = 5.0;
|
|
||||||
|
|
||||||
X1[3] = 0.625;
|
|
||||||
Y1[3] = 0.875;
|
|
||||||
P1[3] = 7.5;
|
|
||||||
|
|
||||||
INTEGER4 DIsDouble = 0; /* set DIsDouble to 0, for float
|
|
||||||
* values.
|
|
||||||
*/
|
|
||||||
|
|
||||||
INTEGER4 III = IMax * JMax * KMax;
|
|
||||||
I = TECDAT112(&III, X1, &DIsDouble);
|
|
||||||
I = TECDAT112(&III, Y1, &DIsDouble);
|
|
||||||
I = TECDAT112(&III, P1, &DIsDouble);
|
|
||||||
|
|
||||||
/* Open a new data file. note: the first file is still open
|
|
||||||
* because TecEnd was not called.
|
|
||||||
*/
|
|
||||||
I = TECINI112((char*)"Auxiliary Data",
|
|
||||||
(char*)"X1 Y1 P1",
|
|
||||||
(char*)"file2.plt",
|
|
||||||
(char*)".",
|
|
||||||
&FileType,
|
|
||||||
&Debug,
|
|
||||||
&VIsDouble);
|
|
||||||
|
|
||||||
/* Switch the active file to the newly created data file
|
|
||||||
* (file2.plt) which is the second file opened with TECINI112
|
|
||||||
* so we use 2.
|
|
||||||
*/
|
|
||||||
INTEGER4 WhichFile = 2;
|
|
||||||
I = TECFIL112(&WhichFile);
|
|
||||||
|
|
||||||
/* Create a second zone, using many of the values from the first
|
|
||||||
* zone, and write it to the second data file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
I = TECZNE112((char*)"Ordered Zone2",
|
|
||||||
&ZoneType,
|
|
||||||
&IMax,
|
|
||||||
&JMax,
|
|
||||||
&KMax,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZn,
|
|
||||||
&IsBlock,
|
|
||||||
&NFConns,
|
|
||||||
&FNMode,
|
|
||||||
&TotalNumFaceNodes,
|
|
||||||
&TotalNumBndryFaces,
|
|
||||||
&TotalNumBndryConn,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
&ShrConn);
|
|
||||||
/* set the variable values for the second zone */
|
|
||||||
float X2[4];
|
|
||||||
float Y2[4];
|
|
||||||
float P2[4];
|
|
||||||
|
|
||||||
X2[0] = 0.375;
|
|
||||||
Y2[0] = 0.125;
|
|
||||||
P2[0] = 5;
|
|
||||||
|
|
||||||
X2[1] = 0.875;
|
|
||||||
Y2[1] = 0.125;
|
|
||||||
P2[1] = 7.5;
|
|
||||||
|
|
||||||
X2[2] = 0.375;
|
|
||||||
Y2[2] = 0.5;
|
|
||||||
P2[2] = 10;
|
|
||||||
|
|
||||||
Y2[3] = 0.5;
|
|
||||||
X2[3] = 0.875;
|
|
||||||
P2[3] = 7.5;
|
|
||||||
|
|
||||||
III = IMax * JMax * KMax;
|
|
||||||
I = TECDAT112(&III, X2, &DIsDouble);
|
|
||||||
I = TECDAT112(&III, Y2, &DIsDouble);
|
|
||||||
I = TECDAT112(&III, P2, &DIsDouble);
|
|
||||||
|
|
||||||
/* Switch to the first file. */
|
|
||||||
WhichFile = 1;
|
|
||||||
I = TECFIL112(&WhichFile);
|
|
||||||
|
|
||||||
/* Create an auxiliary data value and write it to the file */
|
|
||||||
char DeformationValue[128];
|
|
||||||
strcpy(DeformationValue, "0.98");
|
|
||||||
|
|
||||||
I = TECAUXSTR112((char*)"DeformationValue",
|
|
||||||
DeformationValue);
|
|
||||||
/* Close the first file */
|
|
||||||
I = TECEND112();
|
|
||||||
|
|
||||||
/* The remaining file will become the active file. As such,
|
|
||||||
* TecFil does not need to be called again to close the second
|
|
||||||
* file.
|
|
||||||
*/
|
|
||||||
I = TECEND112();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* DOCEND */
|
|
||||||
@ -1,172 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="multiplefiles"
|
|
||||||
ProjectGUID="{93CB23B2-530F-4D6F-900F-893815299C7F}"
|
|
||||||
RootNamespace="multiplefiles"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath=".\multiplefiles.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
||||||
Binary file not shown.
@ -1,11 +0,0 @@
|
|||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=multiplepolygons
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
||||||
@ -1,569 +0,0 @@
|
|||||||
/* This example illustrates using TecPoly to create two polygonal
|
|
||||||
* zones. The first zone contains six hexagons, and the second
|
|
||||||
* zone contains a hexagon and an octagon. Refer to the Data
|
|
||||||
* Format Guide for a picture of the configuration, including node
|
|
||||||
* and face numbers.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "TECIO.h"
|
|
||||||
#include "MASTER.h" /* for defintion of NULL */
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
/* DOCSTART:hexagons_tecini.txt*/
|
|
||||||
INTEGER4 I; /* use to check return values */
|
|
||||||
|
|
||||||
INTEGER4 Debug = 1;
|
|
||||||
INTEGER4 VIsDouble = 0;
|
|
||||||
INTEGER4 FileType = 0;
|
|
||||||
|
|
||||||
I = TECINI112((char*)"Example: Multiple polygonal zones",
|
|
||||||
(char*)"X Y P", /* Defines the variables for the data file.
|
|
||||||
* Each zone must contain each of the vars
|
|
||||||
* listed here. The order of the variables
|
|
||||||
* in the list is used to define the
|
|
||||||
* variable number (e.g. X is Variable 1).
|
|
||||||
* When referring to variables in other
|
|
||||||
* TecIO functions, you will refer to the
|
|
||||||
* variable by its number.
|
|
||||||
*/
|
|
||||||
(char*)"HexagonsAndOctagon.plt",
|
|
||||||
(char*)".", /* scratch directory */
|
|
||||||
&FileType,
|
|
||||||
&Debug,
|
|
||||||
&VIsDouble);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:hexagons_zone1_teczne.txt*/
|
|
||||||
/* TECZNE Parameters */
|
|
||||||
INTEGER4 ZoneType = 6; /* FE Polygon */
|
|
||||||
INTEGER4 NumPts_Z1 = 13; /* the number of unique
|
|
||||||
* nodes in the zone.
|
|
||||||
*/
|
|
||||||
INTEGER4 NumElems_Z1 = 3;
|
|
||||||
INTEGER4 NumFaces_Z1 = 15; /* the number of unique
|
|
||||||
* faces in the zone.
|
|
||||||
*/
|
|
||||||
INTEGER4 ICellMax = 0; /* not used */
|
|
||||||
INTEGER4 JCellMax = 0; /* not used */
|
|
||||||
INTEGER4 KCellMax = 0; /* not used */
|
|
||||||
double SolutionTime = 0.0;
|
|
||||||
INTEGER4 StrandID = 0;
|
|
||||||
INTEGER4 ParentZone = 0;
|
|
||||||
INTEGER4 IsBlock = 1;
|
|
||||||
INTEGER4 NumFaceConnections = 0;
|
|
||||||
INTEGER4 FaceNeighborMode = 1;
|
|
||||||
INTEGER4 SharConn = 0;
|
|
||||||
|
|
||||||
INTEGER4 ValueLocation[3] = { 1, 1, 0 };
|
|
||||||
|
|
||||||
/* For a polygonal zone, the total number of face nodes is
|
|
||||||
* twice the total number of faces. This is because each face
|
|
||||||
* is composed of exactly two nodes.
|
|
||||||
*/
|
|
||||||
INTEGER4 TotalNumFaceNodes_Z1 = 2 * NumFaces_Z1;
|
|
||||||
|
|
||||||
/* A boundary face is a face that is neighbored by an element
|
|
||||||
* or elements in another zone or zone(s). In Zone 1, Face 9,
|
|
||||||
* Face 10 and Face 12 have a neighbor in Zone 2. Therefore,
|
|
||||||
* the total number of boundary faces is <20>3<EFBFBD>.
|
|
||||||
*/
|
|
||||||
INTEGER4 TotalNumBndryFaces_Z1 = 3;
|
|
||||||
|
|
||||||
/* Each boundary face has one or more boundary connections. A
|
|
||||||
* boundary connection is defined as another element in another
|
|
||||||
* zone. Face 9 has a boundary connection with Element 1 in
|
|
||||||
* Zone 2. In this example, each boundary face is connected to
|
|
||||||
* one other element, so the total number of boundary
|
|
||||||
* connections is equivalent to the total number of boundary
|
|
||||||
* faces (3).
|
|
||||||
*/
|
|
||||||
INTEGER4 TotalNumBndryConns_Z1 = 3;
|
|
||||||
|
|
||||||
I = TECZNE112((char*)"Zone 1: 3 Hexagons", /* Specifies the name of
|
|
||||||
* the entire dataset. When
|
|
||||||
* the file is loaded into
|
|
||||||
* Tecplot, the value is
|
|
||||||
* available via the Data
|
|
||||||
* Set Info dialog.
|
|
||||||
*/
|
|
||||||
&ZoneType,
|
|
||||||
&NumPts_Z1,
|
|
||||||
&NumElems_Z1,
|
|
||||||
&NumFaces_Z1,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolutionTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZone,
|
|
||||||
&IsBlock,
|
|
||||||
&NumFaceConnections,
|
|
||||||
&FaceNeighborMode,
|
|
||||||
&TotalNumFaceNodes_Z1,
|
|
||||||
&TotalNumBndryFaces_Z1,
|
|
||||||
&TotalNumBndryConns_Z1,
|
|
||||||
NULL,
|
|
||||||
ValueLocation,
|
|
||||||
NULL,
|
|
||||||
&SharConn);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:hexagons_zone1_tecdat.txt*/
|
|
||||||
|
|
||||||
/* TECDAT Parameters */
|
|
||||||
double *X_Z1 = new double[NumPts_Z1];
|
|
||||||
double *Y_Z1 = new double[NumPts_Z1];
|
|
||||||
|
|
||||||
X_Z1[0] = 1;
|
|
||||||
Y_Z1[0] = 6;
|
|
||||||
|
|
||||||
X_Z1[1] = 2;
|
|
||||||
Y_Z1[1] = 6;
|
|
||||||
|
|
||||||
X_Z1[2] = 3;
|
|
||||||
Y_Z1[2] = 5;
|
|
||||||
|
|
||||||
X_Z1[3] = 2;
|
|
||||||
Y_Z1[3] = 4;
|
|
||||||
|
|
||||||
X_Z1[4] = 1;
|
|
||||||
Y_Z1[4] = 4;
|
|
||||||
|
|
||||||
X_Z1[5] = 0;
|
|
||||||
Y_Z1[5] = 5;
|
|
||||||
|
|
||||||
X_Z1[6] = 4;
|
|
||||||
Y_Z1[6] = 5;
|
|
||||||
|
|
||||||
X_Z1[7] = 5;
|
|
||||||
Y_Z1[7] = 4;
|
|
||||||
|
|
||||||
X_Z1[8] = 4;
|
|
||||||
Y_Z1[8] = 3;
|
|
||||||
|
|
||||||
X_Z1[9] = 3;
|
|
||||||
Y_Z1[9] = 3;
|
|
||||||
|
|
||||||
X_Z1[10] = 2;
|
|
||||||
Y_Z1[10] = 2;
|
|
||||||
|
|
||||||
X_Z1[11] = 1;
|
|
||||||
Y_Z1[11] = 2;
|
|
||||||
|
|
||||||
X_Z1[12] = 0;
|
|
||||||
Y_Z1[12] = 3;
|
|
||||||
|
|
||||||
|
|
||||||
double *P_Z1 = new double[NumElems_Z1];
|
|
||||||
P_Z1[0] = 2;
|
|
||||||
P_Z1[1] = 4;
|
|
||||||
P_Z1[2] = 5;
|
|
||||||
|
|
||||||
|
|
||||||
INTEGER4 IsDouble = 1;
|
|
||||||
I = TECDAT112(&NumPts_Z1, X_Z1, &IsDouble);
|
|
||||||
I = TECDAT112(&NumPts_Z1, Y_Z1, &IsDouble);
|
|
||||||
I = TECDAT112(&NumElems_Z1, P_Z1, &IsDouble);
|
|
||||||
delete X_Z1;
|
|
||||||
delete Y_Z1;
|
|
||||||
delete P_Z1;
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:hexagons_zone1_facenodes.txt*/
|
|
||||||
/* TecPoly Parameters */
|
|
||||||
|
|
||||||
/* Create a FaceNodes array, dimensioned by the total number
|
|
||||||
* of face nodes in the zone.
|
|
||||||
*/
|
|
||||||
INTEGER4 *FaceNodes_Z1 = new INTEGER4[TotalNumFaceNodes_Z1];
|
|
||||||
|
|
||||||
/* Face Nodes for Element 1 */
|
|
||||||
FaceNodes_Z1[0] = 1;
|
|
||||||
FaceNodes_Z1[1] = 2;
|
|
||||||
|
|
||||||
FaceNodes_Z1[2] = 2;
|
|
||||||
FaceNodes_Z1[3] = 3;
|
|
||||||
|
|
||||||
FaceNodes_Z1[4] = 3;
|
|
||||||
FaceNodes_Z1[5] = 4;
|
|
||||||
|
|
||||||
FaceNodes_Z1[6] = 4;
|
|
||||||
FaceNodes_Z1[7] = 5;
|
|
||||||
|
|
||||||
FaceNodes_Z1[8] = 5;
|
|
||||||
FaceNodes_Z1[9] = 6;
|
|
||||||
|
|
||||||
FaceNodes_Z1[10] = 6;
|
|
||||||
FaceNodes_Z1[11] = 1;
|
|
||||||
|
|
||||||
/* Face Nodes for Element 2 */
|
|
||||||
FaceNodes_Z1[12] = 3;
|
|
||||||
FaceNodes_Z1[13] = 7;
|
|
||||||
|
|
||||||
FaceNodes_Z1[14] = 7;
|
|
||||||
FaceNodes_Z1[15] = 8;
|
|
||||||
|
|
||||||
FaceNodes_Z1[16] = 8;
|
|
||||||
FaceNodes_Z1[17] = 9;
|
|
||||||
|
|
||||||
FaceNodes_Z1[18] = 9;
|
|
||||||
FaceNodes_Z1[19] = 10;
|
|
||||||
|
|
||||||
FaceNodes_Z1[20] = 10;
|
|
||||||
FaceNodes_Z1[21] = 4;
|
|
||||||
|
|
||||||
/* Face Nodes for Element 3 */
|
|
||||||
FaceNodes_Z1[22] = 10;
|
|
||||||
FaceNodes_Z1[23] = 11;
|
|
||||||
|
|
||||||
FaceNodes_Z1[24] = 11;
|
|
||||||
FaceNodes_Z1[25] = 12;
|
|
||||||
|
|
||||||
FaceNodes_Z1[26] = 12;
|
|
||||||
FaceNodes_Z1[27] = 13;
|
|
||||||
|
|
||||||
FaceNodes_Z1[28] = 13;
|
|
||||||
FaceNodes_Z1[29] = 5;
|
|
||||||
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* Specify the right and left neighboring elements.
|
|
||||||
* The neighboring elements can be determined using the
|
|
||||||
* right-hand rule. For each face, place your right-hand along
|
|
||||||
* the face with your fingers pointing the direction of
|
|
||||||
* incrementing node numbers (i.e. from Node 1 to Node 2). The
|
|
||||||
* right side of your hand will indicate the right element,
|
|
||||||
* and the left side of your hand will indicate the left
|
|
||||||
* element. A value of zero indicates that there is no
|
|
||||||
* neighboring element on that side. A negative value
|
|
||||||
* indicates that the neighboring element is in another zone.
|
|
||||||
* The number is a pointer into the FaceBndryConnectionElems
|
|
||||||
* and FaceBndryConnectionZones arrays.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* DOCSTART:hexagons_zone1_neighbors.txt*/
|
|
||||||
INTEGER4 *FaceLeftElems_Z1 = new INTEGER4[NumFaces_Z1];
|
|
||||||
INTEGER4 *FaceRightElems_Z1 = new INTEGER4[NumFaces_Z1];
|
|
||||||
|
|
||||||
/* Left Face Elems for Element 1 */
|
|
||||||
FaceLeftElems_Z1[0] = 0;
|
|
||||||
FaceLeftElems_Z1[1] = 0;
|
|
||||||
FaceLeftElems_Z1[2] = 2;
|
|
||||||
FaceLeftElems_Z1[3] = 3;
|
|
||||||
FaceLeftElems_Z1[4] = 0;
|
|
||||||
|
|
||||||
/* Left Face Elems for Element 2 */
|
|
||||||
FaceLeftElems_Z1[5] = 0;
|
|
||||||
FaceLeftElems_Z1[6] = 0;
|
|
||||||
FaceLeftElems_Z1[7] = 0;
|
|
||||||
FaceLeftElems_Z1[8] = -1;
|
|
||||||
FaceLeftElems_Z1[9] = -2;
|
|
||||||
FaceLeftElems_Z1[10] = 2;
|
|
||||||
|
|
||||||
/* Left Face Elems for Element 3 */
|
|
||||||
FaceLeftElems_Z1[11] = -3;
|
|
||||||
FaceLeftElems_Z1[12] = 0;
|
|
||||||
FaceLeftElems_Z1[13] = 0;
|
|
||||||
FaceLeftElems_Z1[14] = 0;
|
|
||||||
|
|
||||||
/* Set Right Face Elems. Because of the way we numbered the
|
|
||||||
* nodes and faces, the right element for every face is the
|
|
||||||
* element itself.
|
|
||||||
*/
|
|
||||||
for (INTEGER4 ii = 0; ii < 6; ii++)
|
|
||||||
FaceRightElems_Z1[ii] = 1;
|
|
||||||
|
|
||||||
for (INTEGER4 ii = 6; ii < 10; ii++)
|
|
||||||
FaceRightElems_Z1[ii] = 2;
|
|
||||||
|
|
||||||
for (INTEGER4 ii = 10; ii <= 14; ii++)
|
|
||||||
FaceRightElems_Z1[ii] = 3;
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:hexagons_zone1_tecpoly.txt */
|
|
||||||
|
|
||||||
/* The FaceBndryConnectionCounts array is used to define the
|
|
||||||
* number of boundary connections for each face that has a
|
|
||||||
* boundary connection. For example, if a zone has three
|
|
||||||
* boundary connections in total (NumConnectedBoundaryFaces),
|
|
||||||
* two of those boundary connections are in one face, and the
|
|
||||||
* remaining boundary connection is in a second face, the
|
|
||||||
* FaceBndryConnectionCounts array would be: [2 1].
|
|
||||||
*
|
|
||||||
* In this example, the total number of connected boundary
|
|
||||||
* faces (specified via TECZNE) is equal to three. Each
|
|
||||||
* boundary face is connected to only one other element,
|
|
||||||
* so the FaceBoundaryConnectionCounts array is (1, 1, 1).
|
|
||||||
*/
|
|
||||||
INTEGER4 FaceBndryConnectionCounts_Z1[3] = {1, 1, 1};
|
|
||||||
|
|
||||||
/* The value(s) in the FaceBndryConnectionElems and
|
|
||||||
* FaceBndryConnectionZones arrays specifies the element number
|
|
||||||
* and zone number, respectively, that a given boundary
|
|
||||||
* connection is connected to. In this case, the first
|
|
||||||
* boundary connection face is connected to Element 1 in Zone 2
|
|
||||||
* and the remaining connection is to Element 2 in Zone 2.
|
|
||||||
*/
|
|
||||||
INTEGER4 FaceBndryConnectionElems_Z1[3] = {1, 2, 2};
|
|
||||||
INTEGER4 FaceBndryConnectionZones_Z1[3] = {2, 2, 2};
|
|
||||||
|
|
||||||
|
|
||||||
I = TECPOLY112(NULL, /* Not used for polygon zones */
|
|
||||||
FaceNodes_Z1,
|
|
||||||
FaceLeftElems_Z1,
|
|
||||||
FaceRightElems_Z1,
|
|
||||||
FaceBndryConnectionCounts_Z1,
|
|
||||||
FaceBndryConnectionElems_Z1,
|
|
||||||
FaceBndryConnectionZones_Z1);
|
|
||||||
|
|
||||||
delete FaceNodes_Z1;
|
|
||||||
delete FaceLeftElems_Z1;
|
|
||||||
delete FaceRightElems_Z1;
|
|
||||||
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* Define Zone 2. Zone 2 contains an octagon and a hexagon. */
|
|
||||||
/* TECZNE Parameters */
|
|
||||||
/* DOCSTART:hexagons_zone2_teczne.txt*/
|
|
||||||
INTEGER4 NumPts_Z2 = 12; /* number of unique
|
|
||||||
* nodes in the zone
|
|
||||||
*/
|
|
||||||
INTEGER4 NumElems_Z2 = 2;
|
|
||||||
INTEGER4 NumFaces_Z2 = 13; /* number of unique
|
|
||||||
* faces in the zone
|
|
||||||
*/
|
|
||||||
INTEGER4 NumFaceConnections_Z2 = 0;
|
|
||||||
/* In polygonal zones, each face has exactly two nodes */
|
|
||||||
INTEGER4 TotalNumFaceNodes_Z2 = NumFaces_Z2 * 2;
|
|
||||||
|
|
||||||
/* A boundary face is a face that is neighbored by an element or
|
|
||||||
* elements from another zone or zone(s). In Zone 2, Face 6,
|
|
||||||
* Face 7 and Face 13 have a neighbor in Zone 1. Therefore, the
|
|
||||||
* total number of boundary faces is <20>3<EFBFBD>.
|
|
||||||
*/
|
|
||||||
INTEGER4 TotalNumBndryFaces_Z2 = 3;
|
|
||||||
|
|
||||||
/* Each boundary face has one or more boundary connections. In
|
|
||||||
* this example, each boundary face is connected to one other
|
|
||||||
* element (i.e. the number of boundary faces and the number of
|
|
||||||
* boundary connections is one-to-one).
|
|
||||||
*/
|
|
||||||
INTEGER4 TotalNumBndryConns_Z2 = 3;
|
|
||||||
|
|
||||||
I = TECZNE112((char*)"Zone 2: 1 Hexagon and 1 Octagon",
|
|
||||||
&ZoneType,
|
|
||||||
&NumPts_Z2,
|
|
||||||
&NumElems_Z2,
|
|
||||||
&NumFaces_Z2,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolutionTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZone,
|
|
||||||
&IsBlock,
|
|
||||||
&NumFaceConnections_Z2,
|
|
||||||
&FaceNeighborMode,
|
|
||||||
&TotalNumFaceNodes_Z2,
|
|
||||||
&TotalNumBndryFaces_Z2,
|
|
||||||
&TotalNumBndryConns_Z2,
|
|
||||||
NULL,
|
|
||||||
ValueLocation,
|
|
||||||
NULL,
|
|
||||||
&SharConn);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* TECDAT Parameters */
|
|
||||||
/* DOCSTART:hexagons_zone2_tecdat.txt*/
|
|
||||||
double *X_Z2 = new double[NumPts_Z2];
|
|
||||||
double *Y_Z2 = new double[NumPts_Z2];
|
|
||||||
|
|
||||||
X_Z2[0] = 5;
|
|
||||||
Y_Z2[0] = 4;
|
|
||||||
|
|
||||||
X_Z2[1] = 6;
|
|
||||||
Y_Z2[1] = 4;
|
|
||||||
|
|
||||||
X_Z2[2] = 7;
|
|
||||||
Y_Z2[2] = 3;
|
|
||||||
|
|
||||||
X_Z2[3] = 6;
|
|
||||||
Y_Z2[3] = 2;
|
|
||||||
|
|
||||||
X_Z2[4] = 5;
|
|
||||||
Y_Z2[4] = 2;
|
|
||||||
|
|
||||||
X_Z2[5] = 4;
|
|
||||||
Y_Z2[5] = 3;
|
|
||||||
|
|
||||||
|
|
||||||
X_Z2[6] = 3;
|
|
||||||
Y_Z2[6] = 3;
|
|
||||||
|
|
||||||
X_Z2[7] = 5;
|
|
||||||
Y_Z2[7] = 1;
|
|
||||||
|
|
||||||
X_Z2[8] = 4;
|
|
||||||
Y_Z2[8] = 0;
|
|
||||||
|
|
||||||
X_Z2[9] = 3;
|
|
||||||
Y_Z2[9] = 0;
|
|
||||||
|
|
||||||
X_Z2[10] = 2;
|
|
||||||
Y_Z2[10] = 1;
|
|
||||||
|
|
||||||
X_Z2[11] = 2;
|
|
||||||
Y_Z2[11] = 2;
|
|
||||||
|
|
||||||
/* In the call to TecZne, P was set to a cell centered variable.
|
|
||||||
* As such, only two values need to be defined.
|
|
||||||
*/
|
|
||||||
double *P_Z2 = new double[NumPts_Z2];
|
|
||||||
|
|
||||||
P_Z2[0] = 8;
|
|
||||||
P_Z2[1] = 6;
|
|
||||||
|
|
||||||
I = TECDAT112(&NumPts_Z2, X_Z2, &IsDouble);
|
|
||||||
I = TECDAT112(&NumPts_Z2, Y_Z2, &IsDouble);
|
|
||||||
I = TECDAT112(&NumElems_Z2, P_Z2, &IsDouble);
|
|
||||||
|
|
||||||
delete X_Z2;
|
|
||||||
delete Y_Z2;
|
|
||||||
delete P_Z2;
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* TecPoly Parameters */
|
|
||||||
/* DOCSTART:hexagons_zone2_facemap.txt*/
|
|
||||||
INTEGER4 *FaceNodes_Z2;
|
|
||||||
FaceNodes_Z2 = new INTEGER4[TotalNumFaceNodes_Z2];
|
|
||||||
|
|
||||||
/* Face Nodes for Element 1 */
|
|
||||||
FaceNodes_Z2[0] = 1;
|
|
||||||
FaceNodes_Z2[1] = 2;
|
|
||||||
|
|
||||||
FaceNodes_Z2[2] = 2;
|
|
||||||
FaceNodes_Z2[3] = 3;
|
|
||||||
|
|
||||||
FaceNodes_Z2[4] = 3;
|
|
||||||
FaceNodes_Z2[5] = 4;
|
|
||||||
|
|
||||||
FaceNodes_Z2[6] = 4;
|
|
||||||
FaceNodes_Z2[7] = 5;
|
|
||||||
|
|
||||||
FaceNodes_Z2[8] = 5;
|
|
||||||
FaceNodes_Z2[9] = 6;
|
|
||||||
|
|
||||||
FaceNodes_Z2[10] = 6;
|
|
||||||
FaceNodes_Z2[11] = 1;
|
|
||||||
|
|
||||||
|
|
||||||
/* Face Nodes for Element 2 */
|
|
||||||
FaceNodes_Z2[12] = 7;
|
|
||||||
FaceNodes_Z2[13] = 6;
|
|
||||||
|
|
||||||
FaceNodes_Z2[14] = 5;
|
|
||||||
FaceNodes_Z2[15] = 8;
|
|
||||||
|
|
||||||
FaceNodes_Z2[16] = 8;
|
|
||||||
FaceNodes_Z2[17] = 9;
|
|
||||||
|
|
||||||
FaceNodes_Z2[18] = 9;
|
|
||||||
FaceNodes_Z2[19] = 10;
|
|
||||||
|
|
||||||
FaceNodes_Z2[20] = 10;
|
|
||||||
FaceNodes_Z2[21] = 11;
|
|
||||||
|
|
||||||
FaceNodes_Z2[22] = 11;
|
|
||||||
FaceNodes_Z2[23] = 12;
|
|
||||||
|
|
||||||
FaceNodes_Z2[24] = 12;
|
|
||||||
FaceNodes_Z2[25] = 7;
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
|
|
||||||
/* DOCSTART:hexagons_zone2_tecpoly.txt*/
|
|
||||||
/* Specify the right and left neighboring elements.
|
|
||||||
* The neighboring elements can be determined using the
|
|
||||||
* right-hand rule. For each face, place your right-hand along
|
|
||||||
* the face with your fingers pointing the direction of
|
|
||||||
* incrementing node numbers (i.e. from Node 1 to Node 2). The
|
|
||||||
* right side of your hand will indicate the right element,
|
|
||||||
* and the left side of your hand will indicate the left
|
|
||||||
* element. A value of zero indicates that there is no
|
|
||||||
* neighboring element on that side. A negative value
|
|
||||||
* indicates that the neighboring element is in another zone.
|
|
||||||
* The number is a pointer into the FaceBndryConnectionElems
|
|
||||||
* and FaceBndryConnectionZones arrays.
|
|
||||||
*/
|
|
||||||
|
|
||||||
INTEGER4 *FaceLeftElems_Z2 = new INTEGER4[NumFaces_Z2];
|
|
||||||
INTEGER4 *FaceRightElems_Z2 = new INTEGER4[NumFaces_Z2];
|
|
||||||
|
|
||||||
/* Left Face Elems for Element 1 */
|
|
||||||
FaceLeftElems_Z2[0] = 0;
|
|
||||||
FaceLeftElems_Z2[1] = 0;
|
|
||||||
FaceLeftElems_Z2[2] = 0;
|
|
||||||
FaceLeftElems_Z2[3] = 0;
|
|
||||||
FaceLeftElems_Z2[4] = 2;
|
|
||||||
FaceLeftElems_Z2[5] = -1;
|
|
||||||
|
|
||||||
/* Left Face Elems for Element 2 */
|
|
||||||
FaceLeftElems_Z2[6] = -2;
|
|
||||||
FaceLeftElems_Z2[7] = 0;
|
|
||||||
FaceLeftElems_Z2[8] = 0;
|
|
||||||
FaceLeftElems_Z2[9] = 0;
|
|
||||||
FaceLeftElems_Z2[10] = 0;
|
|
||||||
FaceLeftElems_Z2[11] = 0;
|
|
||||||
FaceLeftElems_Z2[12] = -3;
|
|
||||||
|
|
||||||
/* Set Right Face Elems. Because of the way we numbered the
|
|
||||||
* nodes and faces, the right element for every face is the
|
|
||||||
* element itself. */
|
|
||||||
for (INTEGER4 ii = 0; ii < 6; ii++)
|
|
||||||
FaceRightElems_Z2[ii] = 1;
|
|
||||||
|
|
||||||
for (INTEGER4 ii = 6; ii < 13; ii++)
|
|
||||||
FaceRightElems_Z2[ii] = 2;
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:hexagons_zone2_tecpoly.txt*/
|
|
||||||
/* The FaceBndryConnectionCounts array is used to define the
|
|
||||||
* number of boundary connections for each face that has a
|
|
||||||
* boundary connection. In this example, the total number of
|
|
||||||
* connected boundary faces (specified via TECZNE) is equal to
|
|
||||||
* three. Each boundary face is connected to only one other
|
|
||||||
* element, so the FaceBoundaryConnectionCounts array is
|
|
||||||
* (1, 1, 1).
|
|
||||||
*/
|
|
||||||
INTEGER4 FaceBndryConnectionCounts_Z2[3] = {1, 1, 1};
|
|
||||||
|
|
||||||
/* The value(s) in the FaceBndryConnectionElems and
|
|
||||||
* FaceBndryConnectionZones arrays specifies that element
|
|
||||||
* number and zone number, respectively, that a given boundary
|
|
||||||
* connection is connected to. In this case, the first boundary
|
|
||||||
* connection face is connected to Element 2 in Zone 1 and the
|
|
||||||
* remaining connections are Element 3 in Zone 1.
|
|
||||||
*/
|
|
||||||
INTEGER4 FaceBndryConnectionElems_Z2[3] = {2, 3, 3};
|
|
||||||
INTEGER4 FaceBndryConnectionZones_Z2[3] = {1, 1, 1};
|
|
||||||
|
|
||||||
I = TECPOLY112(NULL,
|
|
||||||
FaceNodes_Z2,
|
|
||||||
FaceLeftElems_Z2,
|
|
||||||
FaceRightElems_Z2,
|
|
||||||
FaceBndryConnectionCounts_Z2,
|
|
||||||
FaceBndryConnectionElems_Z2,
|
|
||||||
FaceBndryConnectionZones_Z2);
|
|
||||||
|
|
||||||
delete FaceNodes_Z2;
|
|
||||||
delete FaceLeftElems_Z2;
|
|
||||||
delete FaceRightElems_Z2;
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* DOCSTART:hexagons_tecend.txt*/
|
|
||||||
I = TECEND112();
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@ -1,172 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="multiplepolygons"
|
|
||||||
ProjectGUID="{D2747EA6-7807-42E1-984D-C946B3D97D95}"
|
|
||||||
RootNamespace="mulitplepolygons"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath=".\multiplepolygons.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
||||||
@ -1,11 +0,0 @@
|
|||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=octagon
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
||||||
Binary file not shown.
@ -1,248 +0,0 @@
|
|||||||
/* This example illustrates how to create a zone with a single
|
|
||||||
* polygonal cell. Please refer to the Data Format Guide for
|
|
||||||
* additional information, including figures that display node
|
|
||||||
* numbering.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "TECIO.h"
|
|
||||||
#include "MASTER.h" /* for defintion of NULL */
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
/* DOCSTART:octagon_tecini.txt*/
|
|
||||||
INTEGER4 Debug = 1;
|
|
||||||
INTEGER4 VIsDouble = 0;
|
|
||||||
INTEGER4 FileType = 0;
|
|
||||||
INTEGER4 I; /* used to check return codes */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Open the file and write the Tecplot datafile
|
|
||||||
* header information
|
|
||||||
*/
|
|
||||||
|
|
||||||
I = TECINI112((char*)"Octagon",
|
|
||||||
(char*)"X Y P", /* Defines the variables for the data
|
|
||||||
* file. Each zone must contain each
|
|
||||||
* of the vars listed here. The order
|
|
||||||
* of the variables in the list is
|
|
||||||
* used to define the variable number
|
|
||||||
* (e.g. X is Variable 1). When
|
|
||||||
* referring to variables in other
|
|
||||||
* TecIO functions, you will refer to
|
|
||||||
* thevariable by its number.
|
|
||||||
*/
|
|
||||||
(char*)"Octagon.plt",
|
|
||||||
(char*)".", /* scratch directory */
|
|
||||||
&FileType,
|
|
||||||
&Debug,
|
|
||||||
&VIsDouble);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* Declare TECZNE variables */
|
|
||||||
/* DOCSTART:octagon_teczne.txt*/
|
|
||||||
/* In this example, we will create a single octagonal cell in
|
|
||||||
* Tecplot 360's polyhedral file format.
|
|
||||||
*/
|
|
||||||
INTEGER4 ZoneType = 6; /* FEPolygon */
|
|
||||||
INTEGER4 NumNodes = 8; /* Number of nodes in the octagon.*/
|
|
||||||
INTEGER4 NumElems = 1; /* Number of octagonal elements. */
|
|
||||||
INTEGER4 NumFaces = 8; /* Number of faces in the octagon.*/
|
|
||||||
INTEGER4 ICellMax = 0; /* Not Used */
|
|
||||||
INTEGER4 JCellMax = 0; /* Not Used */
|
|
||||||
INTEGER4 KCellMax = 0; /* Not Used */
|
|
||||||
double SolTime = 360.0;
|
|
||||||
INTEGER4 StrandID = 0; /* Static Zone */
|
|
||||||
INTEGER4 ParentZn = 0; /* No Parent Zone */
|
|
||||||
INTEGER4 IsBlock = 1; /* Block */
|
|
||||||
INTEGER4 NFConns = 0;
|
|
||||||
INTEGER4 FNMode = 0;
|
|
||||||
|
|
||||||
|
|
||||||
/* For polygonal zones, the total number of face nodes is equal
|
|
||||||
* to twice the number of nodes. This is because, each face
|
|
||||||
* has exactly two nodes.
|
|
||||||
*/
|
|
||||||
INTEGER4 NumFaceNodes = 2 * NumNodes;
|
|
||||||
/* Boundary Faces and Boundary Connections are not used in this
|
|
||||||
* example.
|
|
||||||
*/
|
|
||||||
INTEGER4 NumBFaces = 0;
|
|
||||||
INTEGER4 NumBConnections = 0;
|
|
||||||
|
|
||||||
INTEGER4 ShrConn = 0;
|
|
||||||
|
|
||||||
I = TECZNE112((char*)"Octagonal Zone",
|
|
||||||
&ZoneType,
|
|
||||||
&NumNodes,
|
|
||||||
&NumElems,
|
|
||||||
&NumFaces,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZn,
|
|
||||||
&IsBlock,
|
|
||||||
&NFConns,
|
|
||||||
&FNMode,
|
|
||||||
&NumFaceNodes,
|
|
||||||
&NumBFaces,
|
|
||||||
&NumBConnections,
|
|
||||||
NULL,
|
|
||||||
NULL, /* When Value Location is not specified,
|
|
||||||
* Tecplot will treat all variables as
|
|
||||||
* nodal variables.
|
|
||||||
*/
|
|
||||||
NULL,
|
|
||||||
&ShrConn);
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* Establish numbering.
|
|
||||||
* For this example, we will a single octagonal cell.
|
|
||||||
* Before defining your variables, you must establish a
|
|
||||||
* consistent node numbering scheme for your data. Once the
|
|
||||||
* node numbers are defined, supply the variable values in the
|
|
||||||
* node numbering order. In this example, node 1 is defined at
|
|
||||||
* X = 0 and Y = 0. As such, the first value supplied for X
|
|
||||||
* (i.e. X[0]) is 0. Similarly, the first value supplied for
|
|
||||||
* Y is 0.
|
|
||||||
*
|
|
||||||
* It is important that you refer to node numbers consistently.
|
|
||||||
* The node numbers will be used later to define the
|
|
||||||
* connectivity for each element.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* TECDAT Variables */
|
|
||||||
/* Set up the variable values. The variable values will be
|
|
||||||
* written to the file using TECDAT. Because we are specifying
|
|
||||||
* nodal variables (as specified via the ValueLocation
|
|
||||||
* parameter in TECZNE, each variable is dimensioned by the
|
|
||||||
* number of points (NumPts) in the Zone. You have the option
|
|
||||||
* to specify some variables with nodal values and some with
|
|
||||||
* cell-centered values. Refer to the Binary Function Reference
|
|
||||||
* for details.
|
|
||||||
*/
|
|
||||||
/* DOCSTART:octagon_tecdat.txt*/
|
|
||||||
float *X = new float[NumNodes];
|
|
||||||
float *Y = new float[NumNodes];
|
|
||||||
float *P = new float[NumNodes];
|
|
||||||
|
|
||||||
//Define the grid values.
|
|
||||||
X[0] = 0.25;
|
|
||||||
Y[0] = 0.0;
|
|
||||||
|
|
||||||
X[1] = 0.75;
|
|
||||||
Y[1] = 0.0;
|
|
||||||
|
|
||||||
X[2] = 1.0;
|
|
||||||
Y[2] = 0.25;
|
|
||||||
|
|
||||||
X[3] = 1.0;
|
|
||||||
Y[3] = 0.75;
|
|
||||||
|
|
||||||
X[4] = 0.75;
|
|
||||||
Y[4] = 1.0;
|
|
||||||
|
|
||||||
X[5] = 0.25;
|
|
||||||
Y[5] = 1.0;
|
|
||||||
|
|
||||||
X[6] = 0.0;
|
|
||||||
Y[6] = 0.75;
|
|
||||||
|
|
||||||
X[7] = 0.0;
|
|
||||||
Y[7] = 0.25;
|
|
||||||
|
|
||||||
for (INTEGER4 ii = 0; ii < 8; ii++)
|
|
||||||
P[ii] = .5;
|
|
||||||
|
|
||||||
/* Write out the field data using TECDAT */
|
|
||||||
INTEGER4 DIsDouble = 0; /* set IsDouble to 0 to use float
|
|
||||||
* variables. */
|
|
||||||
|
|
||||||
I = TECDAT112(&NumNodes, X, &DIsDouble);
|
|
||||||
I = TECDAT112(&NumNodes, Y, &DIsDouble);
|
|
||||||
I = TECDAT112(&NumNodes, P, &DIsDouble);
|
|
||||||
|
|
||||||
delete X;
|
|
||||||
delete Y;
|
|
||||||
delete P;
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
/* Define the Face Nodes.
|
|
||||||
|
|
||||||
* The FaceNodes array is used to indicate which nodes define
|
|
||||||
* which face. As mentioned earlier, the number of the nodes is
|
|
||||||
* implicitly defined by the order in which the nodal data is
|
|
||||||
* provided. The first value of each nodal variable describes
|
|
||||||
* node 1, the second value describes node 2, and so on.
|
|
||||||
*
|
|
||||||
* The face numbering is implicitly defined. Because there are
|
|
||||||
* two nodes in each face, the first two nodes provided define
|
|
||||||
* face 1, the next two define face 2 and so on. If there was
|
|
||||||
* a variable number of nodes used to define the faces, the
|
|
||||||
* array would be more complicated.
|
|
||||||
*/
|
|
||||||
/* DOCSTART:octagon_facenodes.txt*/
|
|
||||||
INTEGER4 *FaceNodes = new INTEGER4[NumFaceNodes];
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Loop over number of sides, and set each side to two
|
|
||||||
* consecutive nodes.
|
|
||||||
*/
|
|
||||||
for (INTEGER4 ii = 0; ii < 8; ii++)
|
|
||||||
{
|
|
||||||
FaceNodes[2*ii] = ii + 1;
|
|
||||||
FaceNodes[2*ii+1] = ii + 2;
|
|
||||||
}
|
|
||||||
FaceNodes[15] = 1;
|
|
||||||
|
|
||||||
/* DOCEND */
|
|
||||||
/* Define the right and left elements of each face.
|
|
||||||
|
|
||||||
* The last step for writing out the polyhedral data is to
|
|
||||||
* define the right and left neighboring elements for each
|
|
||||||
* face. The neighboring elements can be determined using the
|
|
||||||
* right-hand rule. For each face, place your right-hand along
|
|
||||||
* the face which your fingers pointing the direction of
|
|
||||||
* incrementing node numbers (i.e. from node 1 to node 2).
|
|
||||||
* Your right thumb will point towards the right element; the
|
|
||||||
* element on the other side of your hand is the left element.
|
|
||||||
*
|
|
||||||
* The number zero is used to indicate that there isn't an
|
|
||||||
* element on that side of the face.
|
|
||||||
*
|
|
||||||
* Because of the way we numbered the nodes and faces, the
|
|
||||||
* right element for every face is the element itself
|
|
||||||
* (element 1) and the left element is "no-neighboring element"
|
|
||||||
* (element 0).
|
|
||||||
*/
|
|
||||||
/* DOCSTART:octagon_rightleft.txt*/
|
|
||||||
INTEGER4 *FaceLeftElems = new INTEGER4[NumFaces];
|
|
||||||
INTEGER4 *FaceRightElems = new INTEGER4[NumFaces];
|
|
||||||
|
|
||||||
for (INTEGER4 ii = 0; ii < NumFaces; ii++)
|
|
||||||
{
|
|
||||||
FaceLeftElems[ii] = 0;
|
|
||||||
FaceRightElems[ii] = 1;
|
|
||||||
}
|
|
||||||
/* DOCEND */
|
|
||||||
/* Write the polyhedral data to the file. */
|
|
||||||
/* DOCSTART:octagon_tecpoly.txt*/
|
|
||||||
I = TECPOLY112(NULL,
|
|
||||||
FaceNodes,
|
|
||||||
FaceLeftElems,
|
|
||||||
FaceRightElems,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
delete FaceNodes;
|
|
||||||
delete FaceLeftElems;
|
|
||||||
delete FaceRightElems;
|
|
||||||
/* DOCEND */
|
|
||||||
/* DOCSTART:octagon_tecend.txt*/
|
|
||||||
I = TECEND112();
|
|
||||||
/* DOCEND */
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@ -1,172 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="octagon"
|
|
||||||
ProjectGUID="{C4BEE7D4-6449-468F-81CC-3BEFDA554F31}"
|
|
||||||
RootNamespace="octagon"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath=".\octagon.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
||||||
@ -1,11 +0,0 @@
|
|||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=pyramid
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
||||||
@ -1,222 +0,0 @@
|
|||||||
/* This example creates a zone with a single polyhedral cell. */
|
|
||||||
|
|
||||||
/* DOCSTART:pyramid.txt*/
|
|
||||||
#include "TECIO.h"
|
|
||||||
#include "MASTER.h" /* for defintion of NULL */
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
/* Call TECINI112 */
|
|
||||||
INTEGER4 FileType = 0; /* 0 for full file */
|
|
||||||
INTEGER4 Debug = 0;
|
|
||||||
INTEGER4 VIsDouble = 1;
|
|
||||||
INTEGER4 I = 0; /* use to check return codes */
|
|
||||||
|
|
||||||
I = TECINI112((char*)"Pyramid", /* Data Set Title */
|
|
||||||
(char*)"X Y Z", /* Variable List */
|
|
||||||
(char*)"pyramid.plt", /* File Name */
|
|
||||||
(char*)".", /* Scratch Directory */
|
|
||||||
&(FileType),
|
|
||||||
&(Debug),
|
|
||||||
&(VIsDouble));
|
|
||||||
|
|
||||||
|
|
||||||
/* Call TECZNE112 */
|
|
||||||
INTEGER4 ZoneType = 7; /* 7 for FEPolyhedron */
|
|
||||||
INTEGER4 NumNodes = 5; /* number of unique nodes */
|
|
||||||
INTEGER4 NumElems = 1; /* number of elements */
|
|
||||||
INTEGER4 NumFaces = 5; /* number of unique faces */
|
|
||||||
|
|
||||||
INTEGER4 ICellMax = 0; /* Not Used, set to zero */
|
|
||||||
INTEGER4 JCellMax = 0; /* Not Used, set to zero */
|
|
||||||
INTEGER4 KCellMax = 0; /* Not Used, set to zero */
|
|
||||||
|
|
||||||
double SolTime = 12.65; /* solution time */
|
|
||||||
INTEGER4 StrandID = 0; /* static zone */
|
|
||||||
INTEGER4 ParentZone = 0; /* no parent zone */
|
|
||||||
|
|
||||||
INTEGER4 IsBlock = 1; /* block format */
|
|
||||||
|
|
||||||
INTEGER4 NFConns = 0; /* not used for FEPolyhedron
|
|
||||||
* zones
|
|
||||||
*/
|
|
||||||
INTEGER4 FNMode = 0; /* not used for FEPolyhedron
|
|
||||||
* zones
|
|
||||||
*/
|
|
||||||
|
|
||||||
INTEGER4 *PassiveVarArray = NULL;
|
|
||||||
INTEGER4 *ValueLocArray = NULL;
|
|
||||||
INTEGER4 *VarShareArray = NULL;
|
|
||||||
|
|
||||||
INTEGER4 ShrConn = 0;
|
|
||||||
|
|
||||||
/* The number of face nodes in the zone. This example creates
|
|
||||||
* a zone with a single pyramidal cell. This cell has four
|
|
||||||
* triangular faces and one rectangular face, yielding a total
|
|
||||||
* of 16 face nodes.
|
|
||||||
*/
|
|
||||||
INTEGER4 NumFaceNodes = 16;
|
|
||||||
INTEGER4 NumBConns = 0; /* No Boundary Connections */
|
|
||||||
INTEGER4 NumBItems = 0; /* No Boundary Items */
|
|
||||||
|
|
||||||
I = TECZNE112((char*)"Polyhedral Zone (Octahedron)",
|
|
||||||
&ZoneType,
|
|
||||||
&NumNodes,
|
|
||||||
&NumElems,
|
|
||||||
&NumFaces,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZone,
|
|
||||||
&IsBlock,
|
|
||||||
&NFConns,
|
|
||||||
&FNMode,
|
|
||||||
&NumFaceNodes,
|
|
||||||
&NumBConns,
|
|
||||||
&NumBItems,
|
|
||||||
PassiveVarArray,
|
|
||||||
ValueLocArray,
|
|
||||||
VarShareArray,
|
|
||||||
&ShrConn);
|
|
||||||
|
|
||||||
/* Initialize arrays of nodal data */
|
|
||||||
double *X = new double[NumNodes];
|
|
||||||
double *Y = new double[NumNodes];
|
|
||||||
double *Z = new double[NumNodes];
|
|
||||||
|
|
||||||
X[0] = 0;
|
|
||||||
Y[0] = 0;
|
|
||||||
Z[0] = 0;
|
|
||||||
|
|
||||||
X[1] = 1;
|
|
||||||
Y[1] = 1;
|
|
||||||
Z[1] = 2;
|
|
||||||
|
|
||||||
X[2] = 2;
|
|
||||||
Y[2] = 0;
|
|
||||||
Z[2] = 0;
|
|
||||||
|
|
||||||
X[3] = 2;
|
|
||||||
Y[3] = 2;
|
|
||||||
Z[3] = 0;
|
|
||||||
|
|
||||||
X[4] = 0;
|
|
||||||
Y[4] = 2;
|
|
||||||
Z[4] = 0;
|
|
||||||
|
|
||||||
/* Write the data (using TECDAT112) */
|
|
||||||
INTEGER4 DIsDouble = 1; /* One for double precision */
|
|
||||||
I = TECDAT112(&NumNodes, X, &DIsDouble);
|
|
||||||
I = TECDAT112(&NumNodes, Y, &DIsDouble);
|
|
||||||
I = TECDAT112(&NumNodes, Z, &DIsDouble);
|
|
||||||
|
|
||||||
delete X;
|
|
||||||
delete Y;
|
|
||||||
delete Z;
|
|
||||||
|
|
||||||
/* Define the Face Nodes.
|
|
||||||
|
|
||||||
* The FaceNodes array is used to indicate which nodes define
|
|
||||||
* which face. As mentioned earlier, the number of the nodes is
|
|
||||||
* implicitly defined by the order in which the nodal data is
|
|
||||||
* provided. The first value of each nodal variable describes
|
|
||||||
* node 1, the second value describes node 2, and so on.
|
|
||||||
*
|
|
||||||
* The face numbering is implicitly defined. Because there are
|
|
||||||
* two nodes in each face, the first two nodes provided define
|
|
||||||
* face 1, the next two define face 2 and so on. If there was
|
|
||||||
* a variable number of nodes used to define the faces, the
|
|
||||||
* array would be more complicated.
|
|
||||||
*/
|
|
||||||
|
|
||||||
INTEGER4 *FaceNodeCounts = new INTEGER4[NumFaces];
|
|
||||||
/* The first four faces are triangular, i.e. have three nodes.
|
|
||||||
* The fifth face is rectangular, i.e. has four nodes. */
|
|
||||||
FaceNodeCounts[0] = 3;
|
|
||||||
FaceNodeCounts[1] = 3;
|
|
||||||
FaceNodeCounts[2] = 3;
|
|
||||||
FaceNodeCounts[3] = 3;
|
|
||||||
FaceNodeCounts[4] = 4;
|
|
||||||
|
|
||||||
INTEGER4 *FaceNodes = new INTEGER4[NumFaceNodes];
|
|
||||||
/* Face Nodes for Face 1 */
|
|
||||||
FaceNodes[0] = 1;
|
|
||||||
FaceNodes[1] = 2;
|
|
||||||
FaceNodes[2] = 3;
|
|
||||||
|
|
||||||
/* Face Nodes for Face 2 */
|
|
||||||
FaceNodes[3] = 3;
|
|
||||||
FaceNodes[4] = 2;
|
|
||||||
FaceNodes[5] = 4;
|
|
||||||
|
|
||||||
/* Face Nodes for Face 3 */
|
|
||||||
FaceNodes[6] = 5;
|
|
||||||
FaceNodes[7] = 2;
|
|
||||||
FaceNodes[8] = 4;
|
|
||||||
|
|
||||||
/* Face Nodes for Face 4 */
|
|
||||||
FaceNodes[9] = 1;
|
|
||||||
FaceNodes[10] = 2;
|
|
||||||
FaceNodes[11] = 5;
|
|
||||||
|
|
||||||
/* Face Nodes for Face 5 */
|
|
||||||
FaceNodes[12] = 1;
|
|
||||||
FaceNodes[13] = 5;
|
|
||||||
FaceNodes[14] = 4;
|
|
||||||
FaceNodes[15] = 3;
|
|
||||||
|
|
||||||
/* Define the right and left elements of each face.
|
|
||||||
*
|
|
||||||
* The last step for writing out the polyhedral data is to
|
|
||||||
* define the right and left neighboring elements for each
|
|
||||||
* face. The neighboring elements can be determined using the
|
|
||||||
* right-hand rule. For each face, place your right-hand along
|
|
||||||
* the face which your fingers pointing the direction of
|
|
||||||
* incrementing node numbers (i.e. from node 1 to node 2).
|
|
||||||
* Your right thumb will point towards the right element; the
|
|
||||||
* element on the other side of your hand is the left element.
|
|
||||||
*
|
|
||||||
* The number zero is used to indicate that there isn't an
|
|
||||||
* element on that side of the face.
|
|
||||||
*
|
|
||||||
* Because of the way we numbered the nodes and faces, the
|
|
||||||
* right element for every face is the element itself
|
|
||||||
* (element 1) and the left element is "no-neighboring element"
|
|
||||||
* (element 0).
|
|
||||||
*/
|
|
||||||
|
|
||||||
INTEGER4 *FaceLeftElems = new INTEGER4[NumFaces];
|
|
||||||
FaceLeftElems[0] = 1;
|
|
||||||
FaceLeftElems[1] = 1;
|
|
||||||
FaceLeftElems[2] = 0;
|
|
||||||
FaceLeftElems[3] = 0;
|
|
||||||
FaceLeftElems[4] = 0;
|
|
||||||
|
|
||||||
INTEGER4 *FaceRightElems = new INTEGER4[NumFaces];
|
|
||||||
FaceRightElems[0] = 0;
|
|
||||||
FaceRightElems[1] = 0;
|
|
||||||
FaceRightElems[2] = 1;
|
|
||||||
FaceRightElems[3] = 1;
|
|
||||||
FaceRightElems[4] = 1;
|
|
||||||
|
|
||||||
/* Write the face map (created above) using TECPOLY112. */
|
|
||||||
I = TECPOLY112(FaceNodeCounts, /* The face node counts array */
|
|
||||||
FaceNodes, /* The face nodes array */
|
|
||||||
FaceLeftElems, /* The left elements array */
|
|
||||||
FaceRightElems, /* The right elements array */
|
|
||||||
NULL, /* No boundary connection counts */
|
|
||||||
NULL, /* No boundary connection elements */
|
|
||||||
NULL); /* No boundary connection zones */
|
|
||||||
|
|
||||||
delete FaceNodeCounts;
|
|
||||||
delete FaceNodes;
|
|
||||||
delete FaceLeftElems;
|
|
||||||
delete FaceRightElems;
|
|
||||||
|
|
||||||
I = TECEND112();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* DOCEND */
|
|
||||||
Binary file not shown.
@ -1,172 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="pyramid"
|
|
||||||
ProjectGUID="{CFED06AE-48C6-491C-AE5F-E1B7882A44E9}"
|
|
||||||
RootNamespace="pyramid"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath=".\pyramid.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
||||||
@ -1,11 +0,0 @@
|
|||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=simtest
|
|
||||||
FILES=$(EXECUTABLE).c
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
||||||
@ -1,100 +0,0 @@
|
|||||||
/*
|
|
||||||
* Simple example c program to write a
|
|
||||||
* binary datafile for tecplot. This example
|
|
||||||
* does the following:
|
|
||||||
*
|
|
||||||
* 1. Open a datafile called "t.plt"
|
|
||||||
* 2. Assign values for X,Y, and P
|
|
||||||
* 3. Write out a zone dimensioned 4x5
|
|
||||||
* 4. Close the datafile.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "TECIO.h"
|
|
||||||
|
|
||||||
#ifndef NULL
|
|
||||||
#define NULL 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
enum FileType { FULL = 0, GRID = 1, SOLUTION = 2 };
|
|
||||||
|
|
||||||
int main(void)
|
|
||||||
{
|
|
||||||
float X[5][4], Y[5][4], P[5][4];
|
|
||||||
double SolTime;
|
|
||||||
INTEGER4 Debug, I, J, III, DIsDouble, VIsDouble, IMax, JMax, KMax, ZoneType, StrandID, ParentZn, IsBlock;
|
|
||||||
INTEGER4 ICellMax, JCellMax, KCellMax, NFConns, FNMode, ShrConn, FileType;
|
|
||||||
|
|
||||||
Debug = 1;
|
|
||||||
VIsDouble = 0;
|
|
||||||
DIsDouble = 0;
|
|
||||||
IMax = 4;
|
|
||||||
JMax = 5;
|
|
||||||
KMax = 1;
|
|
||||||
ZoneType = 0; /* Ordered */
|
|
||||||
SolTime = 360.0;
|
|
||||||
StrandID = 0; /* StaticZone */
|
|
||||||
ParentZn = 0; /* No Parent */
|
|
||||||
IsBlock = 1; /* Block */
|
|
||||||
ICellMax = 0;
|
|
||||||
JCellMax = 0;
|
|
||||||
KCellMax = 0;
|
|
||||||
NFConns = 0;
|
|
||||||
FNMode = 0;
|
|
||||||
ShrConn = 0;
|
|
||||||
FileType = FULL;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Open the file and write the tecplot datafile
|
|
||||||
* header information
|
|
||||||
*/
|
|
||||||
I = TECINI112((char*)"SIMPLE DATASET",
|
|
||||||
(char*)"X Y P",
|
|
||||||
(char*)"t.plt",
|
|
||||||
(char*)".",
|
|
||||||
&FileType,
|
|
||||||
&Debug,
|
|
||||||
&VIsDouble);
|
|
||||||
|
|
||||||
for (J = 0; J < 5; J++)
|
|
||||||
for (I = 0; I < 4; I++)
|
|
||||||
{
|
|
||||||
X[J][I] = (float)(I + 1);
|
|
||||||
Y[J][I] = (float)(J + 1);
|
|
||||||
P[J][I] = (float)((I + 1) * (J + 1));
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* Write the zone header information.
|
|
||||||
*/
|
|
||||||
I = TECZNE112((char*)"Simple Zone",
|
|
||||||
&ZoneType,
|
|
||||||
&IMax,
|
|
||||||
&JMax,
|
|
||||||
&KMax,
|
|
||||||
&ICellMax,
|
|
||||||
&JCellMax,
|
|
||||||
&KCellMax,
|
|
||||||
&SolTime,
|
|
||||||
&StrandID,
|
|
||||||
&ParentZn,
|
|
||||||
&IsBlock,
|
|
||||||
&NFConns,
|
|
||||||
&FNMode,
|
|
||||||
0, /* TotalNumFaceNodes */
|
|
||||||
0, /* NumConnectedBoundaryFaces */
|
|
||||||
0, /* TotalNumBoundaryConnections */
|
|
||||||
NULL, /* PassiveVarList */
|
|
||||||
NULL, /* ValueLocation = Nodal */
|
|
||||||
NULL, /* SharVarFromZone */
|
|
||||||
&ShrConn);
|
|
||||||
/*
|
|
||||||
* Write out the field data.
|
|
||||||
*/
|
|
||||||
III = IMax * JMax;
|
|
||||||
I = TECDAT112(&III, &X[0][0], &DIsDouble);
|
|
||||||
I = TECDAT112(&III, &Y[0][0], &DIsDouble);
|
|
||||||
I = TECDAT112(&III, &P[0][0], &DIsDouble);
|
|
||||||
|
|
||||||
I = TECEND112();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@ -1,98 +0,0 @@
|
|||||||
C
|
|
||||||
C Simple example fortran program to write a
|
|
||||||
C binary datafile for tecplot. This example
|
|
||||||
C does the following:
|
|
||||||
C
|
|
||||||
C 1. Open a datafile called "t.plt"
|
|
||||||
C 2. Assign values for X,Y, and P
|
|
||||||
C 3. Write out a zone dimensioned 4x5
|
|
||||||
C 4. Close the datafile.
|
|
||||||
C
|
|
||||||
C
|
|
||||||
program test
|
|
||||||
|
|
||||||
INCLUDE 'tecio.inc'
|
|
||||||
|
|
||||||
character*1 NULLCHR
|
|
||||||
Integer*4 Debug,III,NPts,NElm
|
|
||||||
|
|
||||||
Dimension X(4,5), Y(4,5), P(4,5)
|
|
||||||
Real*8 SolTime
|
|
||||||
Integer*4 VIsDouble, FileType
|
|
||||||
Integer*4 ZoneType,StrandID,ParentZn,IsBlock
|
|
||||||
Integer*4 ICellMax,JCellMax,KCellMax,NFConns,FNMode,ShrConn
|
|
||||||
POINTER (NullPtr,Null)
|
|
||||||
Integer*4 Null(*)
|
|
||||||
|
|
||||||
NULLCHR = CHAR(0)
|
|
||||||
NullPtr = 0
|
|
||||||
Debug = 1
|
|
||||||
FileType = 0
|
|
||||||
VIsDouble = 0
|
|
||||||
IMax = 4
|
|
||||||
JMax = 5
|
|
||||||
KMax = 1
|
|
||||||
ZoneType = 0
|
|
||||||
SolTime = 360.0
|
|
||||||
StrandID = 0
|
|
||||||
ParentZn = 0
|
|
||||||
IsBlock = 1
|
|
||||||
ICellMax = 0
|
|
||||||
JCellMax = 0
|
|
||||||
KCellMax = 0
|
|
||||||
NFConns = 0
|
|
||||||
FNMode = 0
|
|
||||||
ShrConn = 0
|
|
||||||
C
|
|
||||||
C... Open the file and write the tecplot datafile
|
|
||||||
C... header information.
|
|
||||||
C
|
|
||||||
I = TecIni112('SIMPLE DATASET'//NULLCHR,
|
|
||||||
& 'X Y P'//NULLCHR,
|
|
||||||
& 't.plt'//NULLCHR,
|
|
||||||
& '.'//NULLCHR,
|
|
||||||
& FileType,
|
|
||||||
& Debug,
|
|
||||||
& VIsDouble)
|
|
||||||
|
|
||||||
Do 10 I = 1,4
|
|
||||||
Do 10 J = 1,5
|
|
||||||
X(I,J) = I
|
|
||||||
Y(I,J) = J
|
|
||||||
P(I,J) = I*J
|
|
||||||
10 Continue
|
|
||||||
C
|
|
||||||
C... Write the zone header information.
|
|
||||||
C
|
|
||||||
I = TecZne112('Simple Zone'//NULLCHR,
|
|
||||||
& ZoneType,
|
|
||||||
& IMax,
|
|
||||||
& JMax,
|
|
||||||
& KMax,
|
|
||||||
& ICellMax,
|
|
||||||
& JCellMax,
|
|
||||||
& KCellMax,
|
|
||||||
& SolTime,
|
|
||||||
& StrandID,
|
|
||||||
& ParentZn,
|
|
||||||
& IsBlock,
|
|
||||||
& NFConns,
|
|
||||||
& FNMode,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& 0,
|
|
||||||
& Null,
|
|
||||||
& Null,
|
|
||||||
& Null,
|
|
||||||
& ShrConn)
|
|
||||||
C
|
|
||||||
C... Write out the field data.
|
|
||||||
C
|
|
||||||
III = IMax*JMax
|
|
||||||
I = TecDat112(III,X,0)
|
|
||||||
I = TecDat112(III,Y,0)
|
|
||||||
I = TecDat112(III,P,0)
|
|
||||||
|
|
||||||
I = TecEnd112()
|
|
||||||
Stop
|
|
||||||
End
|
|
||||||
@ -1,98 +0,0 @@
|
|||||||
!
|
|
||||||
! Simple example fortran program to write a
|
|
||||||
! binary datafile for tecplot. This example
|
|
||||||
! does the following:
|
|
||||||
!
|
|
||||||
! 1. Open a datafile called "t.plt"
|
|
||||||
! 2. Assign values for X,Y, and P
|
|
||||||
! 3. Write out a zone dimensioned 4x5
|
|
||||||
! 4. Close the datafile.
|
|
||||||
!
|
|
||||||
!
|
|
||||||
program test
|
|
||||||
|
|
||||||
INCLUDE 'tecio.f90'
|
|
||||||
|
|
||||||
character*1 NULLCHR
|
|
||||||
Integer*4 Debug,III,NPts,NElm
|
|
||||||
|
|
||||||
Dimension X(4,5), Y(4,5), P(4,5)
|
|
||||||
Real*8 SolTime
|
|
||||||
Integer*4 VIsDouble, FileType
|
|
||||||
Integer*4 ZoneType,StrandID,ParentZn,IsBlock
|
|
||||||
Integer*4 ICellMax,JCellMax,KCellMax,NFConns,FNMode,ShrConn
|
|
||||||
POINTER (NullPtr,Null)
|
|
||||||
Integer*4 Null(*)
|
|
||||||
|
|
||||||
NULLCHR = CHAR(0)
|
|
||||||
NullPtr = 0
|
|
||||||
Debug = 1
|
|
||||||
FileType = 0
|
|
||||||
VIsDouble = 0
|
|
||||||
IMax = 4
|
|
||||||
JMax = 5
|
|
||||||
KMax = 1
|
|
||||||
ZoneType = 0
|
|
||||||
SolTime = 360.0
|
|
||||||
StrandID = 0
|
|
||||||
ParentZn = 0
|
|
||||||
IsBlock = 1
|
|
||||||
ICellMax = 0
|
|
||||||
JCellMax = 0
|
|
||||||
KCellMax = 0
|
|
||||||
NFConns = 0
|
|
||||||
FNMode = 0
|
|
||||||
ShrConn = 0
|
|
||||||
!
|
|
||||||
!... Open the file and write the tecplot datafile
|
|
||||||
!... header information.
|
|
||||||
!
|
|
||||||
I = TecIni112('SIMPLE DATASET'//NULLCHR, &
|
|
||||||
'X Y P'//NULLCHR, &
|
|
||||||
't.plt'//NULLCHR, &
|
|
||||||
'.'//NULLCHR, &
|
|
||||||
FileType, &
|
|
||||||
Debug, &
|
|
||||||
VIsDouble)
|
|
||||||
|
|
||||||
Do 10 I = 1,4
|
|
||||||
Do 10 J = 1,5
|
|
||||||
X(I,J) = I
|
|
||||||
Y(I,J) = J
|
|
||||||
P(I,J) = I*J
|
|
||||||
10 Continue
|
|
||||||
!
|
|
||||||
!... Write the zone header information.
|
|
||||||
!
|
|
||||||
I = TecZne112('Simple Zone'//NULLCHR, &
|
|
||||||
ZoneType, &
|
|
||||||
IMax, &
|
|
||||||
JMax, &
|
|
||||||
KMax, &
|
|
||||||
ICellMax, &
|
|
||||||
JCellMax, &
|
|
||||||
KCellMax, &
|
|
||||||
SolTime, &
|
|
||||||
StrandID, &
|
|
||||||
ParentZn, &
|
|
||||||
IsBlock, &
|
|
||||||
NFConns, &
|
|
||||||
FNMode, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
0, &
|
|
||||||
Null, &
|
|
||||||
Null, &
|
|
||||||
Null, &
|
|
||||||
ShrConn)
|
|
||||||
!
|
|
||||||
!... Write out the field data.
|
|
||||||
!
|
|
||||||
III = IMax*JMax
|
|
||||||
I = TecDat112(III,X,0)
|
|
||||||
I = TecDat112(III,Y,0)
|
|
||||||
I = TecDat112(III,P,0)
|
|
||||||
|
|
||||||
I = TecEnd112()
|
|
||||||
Stop
|
|
||||||
End
|
|
||||||
@ -1,346 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="simtestc"
|
|
||||||
ProjectGUID="{62FA6E8C-388E-4047-BC9D-574B470B94DE}"
|
|
||||||
RootNamespace="simtestc"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
<Platform
|
|
||||||
Name="x64"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="2"
|
|
||||||
AdditionalLibraryDirectories=""
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="2"
|
|
||||||
AdditionalLibraryDirectories=""
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="1"
|
|
||||||
AdditionalLibraryDirectories=""
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|x64"
|
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="1"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TargetEnvironment="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalIncludeDirectories=""
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
LinkIncremental="1"
|
|
||||||
AdditionalLibraryDirectories=""
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="17"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath=".\simtest.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<VisualStudioProject ProjectCreator="Intel Fortran" Keyword="Console Application" Version="9.10" ProjectIdGuid="{861BC05F-1E95-401A-A80E-7589ADD1C79E}">
|
|
||||||
<Platforms>
|
|
||||||
<Platform Name="Win32"/></Platforms>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration Name="Debug|Win32" OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.exe;$(TargetPath)">
|
|
||||||
<Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
|
|
||||||
<Tool Name="VFPreBuildEventTool"/>
|
|
||||||
<Tool Name="VFPostBuildEventTool"/>
|
|
||||||
<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" DebugInformationFormat="debugEnabled" Optimization="optimizeDisabled" AdditionalIncludeDirectories="$(TEC_360_2009)/Include" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" Traceback="true" BoundsCheck="true" RuntimeLibrary="rtMultiThreadedDebug" CompileOnly="true"/>
|
|
||||||
<Tool Name="VFCustomBuildTool"/>
|
|
||||||
<Tool Name="VFLinkerTool" OutputFile="$(OUTDIR)/simtestf.exe" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(TEC_360_2009)/Bin" GenerateDebugInformation="true" ProgramDatabaseFile="$(OUTDIR)/simtestf.pdb" SubSystem="subSystemConsole" AdditionalDependencies="tecio.lib"/>
|
|
||||||
<Tool Name="VFPreLinkEventTool"/>
|
|
||||||
<Tool Name="VFResourceCompilerTool" ResourceOutputFileName="$(IntDir)/$(InputName).res"/></Configuration>
|
|
||||||
<Configuration Name="Release|Win32" OutputDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" IntermediateDirectory="$(SolutionDir)$(PlatformName)/$(ConfigurationName)" DeleteExtensionsOnClean="*.obj;*.mod;*.pdb;*.asm;*.map;*.dyn;*.dpi;*.tmp;*.log;*.ilk;*.exe;$(TargetPath)">
|
|
||||||
<Tool Name="VFMidlTool" SuppressStartupBanner="true" HeaderFileName="$(InputName).h" TypeLibraryName="$(IntDir)/$(InputName).tlb"/>
|
|
||||||
<Tool Name="VFPreBuildEventTool"/>
|
|
||||||
<Tool Name="VFPostBuildEventTool"/>
|
|
||||||
<Tool Name="VFFortranCompilerTool" SuppressStartupBanner="true" AdditionalIncludeDirectories="$(TEC_360_2009)/Include" ModulePath="$(INTDIR)/" ObjectFile="$(INTDIR)/" RuntimeLibrary="rtMultiThreaded" CompileOnly="true"/>
|
|
||||||
<Tool Name="VFCustomBuildTool"/>
|
|
||||||
<Tool Name="VFLinkerTool" OutputFile="$(OUTDIR)/simtestf.exe" LinkIncremental="linkIncrementalNo" SuppressStartupBanner="true" AdditionalLibraryDirectories="$(TEC_360_2009)/Bin" SubSystem="subSystemConsole" AdditionalDependencies="tecio.lib"/>
|
|
||||||
<Tool Name="VFPreLinkEventTool"/>
|
|
||||||
<Tool Name="VFResourceCompilerTool" ResourceOutputFileName="$(IntDir)/$(InputName).res"/></Configuration></Configurations>
|
|
||||||
<Files>
|
|
||||||
<File RelativePath="simtest.f90"/></Files>
|
|
||||||
<Globals/></VisualStudioProject>
|
|
||||||
@ -1,11 +0,0 @@
|
|||||||
# Set to appropriate C++ compiler
|
|
||||||
CPP=g++
|
|
||||||
CPPFLAGS=-I../../tecsrc ../../tecio.a
|
|
||||||
EXECUTABLE=squares
|
|
||||||
FILES=$(EXECUTABLE).cpp
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(CPP) $(FILES) $(CPPFLAGS) -o $(EXECUTABLE)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f $(EXECUTABLE)
|
|
||||||
@ -1,124 +0,0 @@
|
|||||||
/* This example creates a group of square geometries, each with a
|
|
||||||
* different fill color */
|
|
||||||
#if defined _MSC_VER
|
|
||||||
#pragma warning (disable: 4996) /* Windows strcpy warning off */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* DOCSTART:tecgeo.txt*/
|
|
||||||
#include "TECIO.h"
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
INTEGER4 Debug = 1;
|
|
||||||
INTEGER4 VIsDouble = 0;
|
|
||||||
INTEGER4 FileType = 0;
|
|
||||||
INTEGER4 I = 0; /* use to check return values */
|
|
||||||
|
|
||||||
|
|
||||||
/* Open the file and write the tecplot datafile
|
|
||||||
* header information
|
|
||||||
*/
|
|
||||||
I = TECINI112((char*)"Square Geometries",
|
|
||||||
(char*)"X Y P",
|
|
||||||
(char*)"squares.plt",
|
|
||||||
(char*)".",
|
|
||||||
&FileType,
|
|
||||||
&Debug,
|
|
||||||
&VIsDouble);
|
|
||||||
|
|
||||||
double ZPos = 0.0; /* N/A for squares */
|
|
||||||
double XPos;
|
|
||||||
double YPos;
|
|
||||||
|
|
||||||
INTEGER4 PosCoordMode = 0; /* use grid coordinates */
|
|
||||||
|
|
||||||
/* opt not to attach the text to a given zone. When text is
|
|
||||||
* attached to a given zone, it is displayed only when the zone
|
|
||||||
* is displayed.
|
|
||||||
*/
|
|
||||||
INTEGER4 AttachToZone = 0;
|
|
||||||
INTEGER4 Zone = 1;
|
|
||||||
|
|
||||||
/* Set the Geometry Style Values */
|
|
||||||
INTEGER4 Color = 0; /* set the outline color to
|
|
||||||
* black
|
|
||||||
*/
|
|
||||||
INTEGER4 IsFilled = 1;
|
|
||||||
INTEGER4 GeomType = 2; /* set the geometry type to
|
|
||||||
* square
|
|
||||||
*/
|
|
||||||
INTEGER4 LinePattern = 5; /* set the line pattern to
|
|
||||||
* DashDotDot
|
|
||||||
*/
|
|
||||||
double PatternLength = .1;
|
|
||||||
double LineThick = .2;
|
|
||||||
|
|
||||||
/* N/A for square geometries */
|
|
||||||
INTEGER4 NumPts = 100;
|
|
||||||
INTEGER4 ArrowStyle = 1;
|
|
||||||
INTEGER4 ArrowAttach = 0;
|
|
||||||
double ArrowSize = 1;
|
|
||||||
double ArrowAngle = 30;
|
|
||||||
INTEGER4 NumSegments = 15;
|
|
||||||
INTEGER4 NumSegPts = 25;
|
|
||||||
|
|
||||||
|
|
||||||
INTEGER4 Scope = 1; /* set the text to "local", i.e.
|
|
||||||
* available in the current frame
|
|
||||||
* only.
|
|
||||||
*/
|
|
||||||
INTEGER4 Clipping = 1;
|
|
||||||
|
|
||||||
/* Specify the length of a side of the square. The units used
|
|
||||||
* are those defined with PosCoordMode.
|
|
||||||
*/
|
|
||||||
float XGeomData = 2.5;
|
|
||||||
|
|
||||||
float YGeomData = 0; /* N/A for square geometries */
|
|
||||||
float ZGeomData = 0; /* N/A for square geometries */
|
|
||||||
|
|
||||||
char * MFC = new char[128];
|
|
||||||
strcpy(MFC, "SQUARE");
|
|
||||||
|
|
||||||
for (INTEGER4 ii = 0; ii <= 7; ii++)
|
|
||||||
{
|
|
||||||
INTEGER4 FillColor = ii;
|
|
||||||
XPos = (double) ii;
|
|
||||||
YPos = (double) ii;
|
|
||||||
|
|
||||||
I = TECGEO112(&XPos,
|
|
||||||
&YPos,
|
|
||||||
&ZPos,
|
|
||||||
&PosCoordMode,
|
|
||||||
&AttachToZone,
|
|
||||||
&Zone,
|
|
||||||
&Color,
|
|
||||||
&FillColor,
|
|
||||||
&IsFilled,
|
|
||||||
&GeomType,
|
|
||||||
&LinePattern,
|
|
||||||
&PatternLength,
|
|
||||||
&LineThick,
|
|
||||||
&NumPts,
|
|
||||||
&ArrowStyle,
|
|
||||||
&ArrowAttach,
|
|
||||||
&ArrowSize,
|
|
||||||
&ArrowAngle,
|
|
||||||
&Scope,
|
|
||||||
&Clipping,
|
|
||||||
&NumSegments,
|
|
||||||
&NumSegPts,
|
|
||||||
&XGeomData,
|
|
||||||
&YGeomData,
|
|
||||||
&ZGeomData,
|
|
||||||
MFC);
|
|
||||||
}
|
|
||||||
|
|
||||||
I = TECEND112();
|
|
||||||
|
|
||||||
delete MFC;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* DOCEND */
|
|
||||||
Binary file not shown.
@ -1,172 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="squares"
|
|
||||||
ProjectGUID="{2E5EC0A5-5902-4A66-8A67-A61EC9EB0855}"
|
|
||||||
RootNamespace="squares"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="..\TecIO_Examples.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebDeploymentTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<File
|
|
||||||
RelativePath=".\squares.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user