Corrected spelling in comments
Resolves bug-report https://bugs.openfoam.org/view.php?id=2844
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -61,7 +61,7 @@ Description
|
||||
CR: Drag tensor (1/m)
|
||||
CT: Turbulence generation parameter (1/m)
|
||||
Nv: Number of obstacles in cell per unit volume (m^-2)
|
||||
nsv: Tensor whose diagonal indicates the number to substract from
|
||||
nsv: Tensor whose diagonal indicates the number to subtract from
|
||||
Nv to get the number of obstacles crossing the flow in each
|
||||
direction.
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2013-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -26,7 +26,7 @@ Class
|
||||
|
||||
Description
|
||||
Contact-angle boundary condition for multi-phase interface-capturing
|
||||
simulations. Used in conjuction with multiphaseMixture.
|
||||
simulations. Used in conjunction with multiphaseMixture.
|
||||
|
||||
SourceFiles
|
||||
alphaContactAngleFvPatchScalarField.C
|
||||
@ -65,7 +65,7 @@ public:
|
||||
//- Limiting advancing contact angle
|
||||
scalar thetaA_;
|
||||
|
||||
//- Limiting receeding contact angle
|
||||
//- Limiting receding contact angle
|
||||
scalar thetaR_;
|
||||
|
||||
|
||||
@ -100,7 +100,7 @@ public:
|
||||
else return 180.0 - thetaA_;
|
||||
}
|
||||
|
||||
//- Return the limiting receeding contact angle
|
||||
//- Return the limiting receding contact angle
|
||||
scalar thetaR(bool matched=true) const
|
||||
{
|
||||
if (matched) return thetaR_;
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -26,7 +26,7 @@ Class
|
||||
|
||||
Description
|
||||
Contact-angle boundary condition for multi-phase interface-capturing
|
||||
simulations. Used in conjuction with multiphaseSystem.
|
||||
simulations. Used in conjunction with multiphaseSystem.
|
||||
|
||||
SourceFiles
|
||||
alphaContactAngleFvPatchScalarField.C
|
||||
@ -65,7 +65,7 @@ public:
|
||||
//- Limiting advancing contact angle
|
||||
scalar thetaA_;
|
||||
|
||||
//- Limiting receeding contact angle
|
||||
//- Limiting receding contact angle
|
||||
scalar thetaR_;
|
||||
|
||||
|
||||
@ -100,7 +100,7 @@ public:
|
||||
else return 180.0 - thetaA_;
|
||||
}
|
||||
|
||||
//- Return the limiting receeding contact angle
|
||||
//- Return the limiting receding contact angle
|
||||
scalar thetaR(bool matched=true) const
|
||||
{
|
||||
if (matched) return thetaR_;
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -26,7 +26,7 @@ Class
|
||||
|
||||
Description
|
||||
Contact-angle boundary condition for multi-phase interface-capturing
|
||||
simulations. Used in conjuction with multiphaseMixture.
|
||||
simulations. Used in conjunction with multiphaseMixture.
|
||||
|
||||
SourceFiles
|
||||
alphaContactAngleFvPatchScalarField.C
|
||||
@ -65,7 +65,7 @@ public:
|
||||
//- Limiting advancing contact angle
|
||||
scalar thetaA_;
|
||||
|
||||
//- Limiting receeding contact angle
|
||||
//- Limiting receding contact angle
|
||||
scalar thetaR_;
|
||||
|
||||
|
||||
@ -100,7 +100,7 @@ public:
|
||||
else return 180.0 - thetaA_;
|
||||
}
|
||||
|
||||
//- Return the limiting receeding contact angle
|
||||
//- Return the limiting receding contact angle
|
||||
scalar thetaR(bool matched=true) const
|
||||
{
|
||||
if (matched) return thetaR_;
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2015-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2015-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -27,7 +27,7 @@ Class
|
||||
Description
|
||||
Class which represents a phase with a thermodynamic model. Provides access
|
||||
to the thermodynamic variables. Note that the thermo model itself is not
|
||||
returned as this class could be substituted in the hierarcy for one which
|
||||
returned as this class could be substituted in the hierarchy for one which
|
||||
mirrors the functionality, but does not include a thermo model; an
|
||||
incompressible phase model, for example.
|
||||
|
||||
|
||||
@ -257,10 +257,10 @@ class populationBalanceModel
|
||||
//- Drift rate
|
||||
autoPtr<volScalarField> driftRate_;
|
||||
|
||||
//- Ratio between sucessive representative volumes
|
||||
//- Ratio between successive representative volumes
|
||||
autoPtr<volScalarField> rx_;
|
||||
|
||||
//- Ratio between sucessive class widths
|
||||
//- Ratio between successive class widths
|
||||
autoPtr<volScalarField> rdx_;
|
||||
|
||||
//- Zeroeth order models
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -26,7 +26,7 @@ Class
|
||||
|
||||
Description
|
||||
Contact-angle boundary condition for multi-phase interface-capturing
|
||||
simulations. Used in conjuction with multiphaseSystem.
|
||||
simulations. Used in conjunction with multiphaseSystem.
|
||||
|
||||
SourceFiles
|
||||
alphaContactAngleFvPatchScalarField.C
|
||||
@ -65,7 +65,7 @@ public:
|
||||
//- Limiting advancing contact angle
|
||||
scalar thetaA_;
|
||||
|
||||
//- Limiting receeding contact angle
|
||||
//- Limiting receding contact angle
|
||||
scalar thetaR_;
|
||||
|
||||
|
||||
@ -100,7 +100,7 @@ public:
|
||||
else return 180.0 - thetaA_;
|
||||
}
|
||||
|
||||
//- Return the limiting receeding contact angle
|
||||
//- Return the limiting receding contact angle
|
||||
scalar thetaR(bool matched=true) const
|
||||
{
|
||||
if (matched) return thetaR_;
|
||||
|
||||
@ -629,7 +629,7 @@ int main(int argc, char *argv[])
|
||||
#include "createTime.H"
|
||||
#include "createPolyMesh.H"
|
||||
|
||||
// If nessecary add oldInternalFaces patch
|
||||
// If necessary add oldInternalFaces patch
|
||||
label newPatchi = addPatch(mesh, "oldInternalFaces");
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -927,7 +927,7 @@ int main(int argc, char *argv[])
|
||||
fluentGroupToFoamPatch.insert("fan");
|
||||
|
||||
|
||||
// Create intial empty polyMesh
|
||||
// Create initial empty polyMesh
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
polyMesh mesh
|
||||
|
||||
@ -13,7 +13,7 @@ Notes for fluentMeshToFoam with zone preservation
|
||||
Writes all regions to cellZones preserving Fluent names
|
||||
Writes all region internal face to faceZones preserving Fluent names
|
||||
lines: 1545 - 1667
|
||||
Zones are usefull for porous media and MRF calculations
|
||||
Zones are useful for porous media and MRF calculations
|
||||
|
||||
2. Zone Access
|
||||
- Zones are simple lists of label lists that can be accessed from polyMesh
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -1184,7 +1184,7 @@ int main(int argc, char *argv[])
|
||||
patchPhysicalTypes
|
||||
);
|
||||
|
||||
//dont write mesh yet, otherwise preservePatchTypes will be broken
|
||||
//don't write mesh yet, otherwise preservePatchTypes will be broken
|
||||
//and zones wont be written
|
||||
//checkmesh done after patch addition as well
|
||||
Info<< "done." << endl;
|
||||
@ -1193,7 +1193,7 @@ int main(int argc, char *argv[])
|
||||
Info<< endl << "Building boundary and internal patches." << endl;
|
||||
//adding patches after mesh construction allows topological checks
|
||||
//on whether a patch is internal or external, something fluent
|
||||
//doesnt seem to mind
|
||||
//doesn't seem to mind
|
||||
|
||||
// Make boundary patches
|
||||
|
||||
|
||||
@ -363,7 +363,7 @@ if
|
||||
|
||||
if (pFaces[LINER][0].size() != newLinerFaces.size())
|
||||
{
|
||||
Info<< "Transfered " << pFaces[LINER][0].size() - newLinerFaces.size()
|
||||
Info<< "Transferred " << pFaces[LINER][0].size() - newLinerFaces.size()
|
||||
<< " faces from liner region to cylinder head" << endl;
|
||||
pFaces[LINER][0] = newLinerFaces;
|
||||
}
|
||||
@ -392,7 +392,7 @@ if
|
||||
|
||||
if (pFaces[CYLINDERHEAD][0].size() != newCylinderHeadFaces.size())
|
||||
{
|
||||
Info<< "Transfered faces from cylinder-head region to linder" << endl;
|
||||
Info<< "Transferred faces from cylinder-head region to linder" << endl;
|
||||
pFaces[CYLINDERHEAD][0] = newCylinderHeadFaces;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2013-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -126,7 +126,7 @@ public:
|
||||
//- Square of span
|
||||
scalar span2_;
|
||||
|
||||
//- Minumum edge-length of the cell size below which protusions
|
||||
//- Minimum edge-length of the cell size below which protusions
|
||||
// through the surface are not split
|
||||
scalar minEdgeLen_;
|
||||
|
||||
@ -140,7 +140,7 @@ public:
|
||||
//- Square of maxNotchLen
|
||||
scalar maxNotchLen2_;
|
||||
|
||||
//- The minimum distance alowed between a dual-cell vertex
|
||||
//- The minimum distance allowed between a dual-cell vertex
|
||||
// and the surface before a point-pair is introduced
|
||||
scalar minNearPointDist_;
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -106,7 +106,7 @@ class backgroundMeshDecomposition
|
||||
//- Random number generator
|
||||
Random& rndGen_;
|
||||
|
||||
//- Mesh stored on for this processor, specifiying the domain that it
|
||||
//- Mesh stored on for this processor, specifying the domain that it
|
||||
// is responsible for.
|
||||
fvMesh mesh_;
|
||||
|
||||
|
||||
@ -532,7 +532,7 @@ void Foam::conformalVoronoiMesh::createExternalEdgePointGroup
|
||||
);
|
||||
|
||||
// Insert the slave points by reflecting refPt in both faces.
|
||||
// with each slave refering to the master
|
||||
// with each slave referring to the master
|
||||
|
||||
Foam::point reflectedA = refPt + 2*ppDist*nA;
|
||||
pts.append
|
||||
|
||||
@ -460,7 +460,7 @@ void syncPoints
|
||||
}
|
||||
|
||||
//- Note: hasTransformation is only used for warning messages so
|
||||
// reduction not strictly nessecary.
|
||||
// reduction not strictly necessary.
|
||||
//reduce(hasTransformation, orOp<bool>());
|
||||
|
||||
// Synchronize multiple shared points.
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -94,13 +94,13 @@ public:
|
||||
return mirrorMeshPtr_();
|
||||
}
|
||||
|
||||
//- Mirrorred to original cell
|
||||
//- Mirrored to original cell
|
||||
const labelList& cellMap() const
|
||||
{
|
||||
return cellMapPtr_();
|
||||
}
|
||||
|
||||
//- Mirrorred to original point
|
||||
//- Mirrored to original point
|
||||
const labelList& pointMap() const
|
||||
{
|
||||
return pointMapPtr_();
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -81,7 +81,7 @@ int main(int argc, char *argv[])
|
||||
// Set the precision of the points data to 10
|
||||
IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision()));
|
||||
|
||||
// Generate the mirrorred mesh
|
||||
// Generate the mirrored mesh
|
||||
const fvMesh& mMesh = mesh.mirrorMesh();
|
||||
|
||||
const_cast<fvMesh&>(mMesh).setInstance(mesh.facesInstance());
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -441,7 +441,7 @@ int main(int argc, char *argv[])
|
||||
const word& name = sprayFields[fieldi];
|
||||
|
||||
// Note: try the various field types. Make sure to
|
||||
// exit once sucessful conversion to avoid re-read
|
||||
// exit once successful conversion to avoid re-read
|
||||
// converted file.
|
||||
|
||||
if
|
||||
|
||||
@ -383,7 +383,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (nProcs && !region)
|
||||
else if (nProcs && !region && !decomposeFieldsOnly)
|
||||
{
|
||||
FatalErrorInFunction
|
||||
<< "Case is already decomposed with " << nProcs
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -570,7 +570,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
// Create 0 sized mesh to do all the generation of zero sized
|
||||
// fields on processors that have zero sized meshes. Note that this is
|
||||
// only nessecary on master but since polyMesh construction with
|
||||
// only necessary on master but since polyMesh construction with
|
||||
// Pstream::parRun does parallel comms we have to do it on all
|
||||
// processors
|
||||
autoPtr<fvMeshSubset> subsetterPtr;
|
||||
|
||||
@ -103,7 +103,7 @@ enum {
|
||||
XF_RF_DATA_KTC=105,
|
||||
XF_RF_DATA_VGS_DTRM=106,
|
||||
XF_RF_DATA_VGF_DTRM=107,
|
||||
XF_RF_DATA_RSTRESS=108, /* V4 reynolds stress model */
|
||||
XF_RF_DATA_RSTRESS=108, /* V4 reynolds stress model */
|
||||
XF_RF_DATA_THREAD_RAD_FLUX=109,
|
||||
|
||||
/* mass absorption term for absorbing porous media model */
|
||||
@ -133,12 +133,12 @@ enum {
|
||||
XF_RF_DATA_TKE_M2=126,
|
||||
XF_RF_DATA_TED_M2=127,
|
||||
|
||||
XF_RF_DATA_RUU=128, /* V5 reynolds stress model */
|
||||
XF_RF_DATA_RVV=129, /* V5 reynolds stress model */
|
||||
XF_RF_DATA_RWW=130, /* V5 reynolds stress model */
|
||||
XF_RF_DATA_RUV=131, /* V5 reynolds stress model */
|
||||
XF_RF_DATA_RVW=132, /* V5 reynolds stress model */
|
||||
XF_RF_DATA_RUW=133, /* V5 reynolds stress model */
|
||||
XF_RF_DATA_RUU=128, /* V5 reynolds stress model */
|
||||
XF_RF_DATA_RVV=129, /* V5 reynolds stress model */
|
||||
XF_RF_DATA_RWW=130, /* V5 reynolds stress model */
|
||||
XF_RF_DATA_RUV=131, /* V5 reynolds stress model */
|
||||
XF_RF_DATA_RVW=132, /* V5 reynolds stress model */
|
||||
XF_RF_DATA_RUW=133, /* V5 reynolds stress model */
|
||||
|
||||
XF_RF_DATA_DPMS_EROSION=134,
|
||||
XF_RF_DATA_DPMS_ACCRETION=135,
|
||||
@ -185,9 +185,9 @@ enum {
|
||||
XF_RF_DATA_WALL_GRID_VELOCITY = 181 ,
|
||||
|
||||
|
||||
XF_RF_DATA_SV_T_AUX = 190 , /* auxilliary temperature
|
||||
XF_RF_DATA_SV_T_AUX = 190 , /* auxiliary temperature
|
||||
for particles */
|
||||
XF_RF_DATA_SV_T_AP_AUX = 191 , /* auxilliary ap
|
||||
XF_RF_DATA_SV_T_AP_AUX = 191 , /* auxiliary ap
|
||||
coefficient for particles */
|
||||
XF_RF_DATA_TOTAL_PRESSURE=192,
|
||||
XF_RF_DATA_TOTAL_TEMPERATURE=193,
|
||||
@ -227,18 +227,18 @@ chunk.
|
||||
XF_RF_DATA_NUT_M1=501,
|
||||
XF_RF_DATA_NUT_M2=502,
|
||||
|
||||
XF_RF_DATA_RUU_M1=503,
|
||||
XF_RF_DATA_RVV_M1=504,
|
||||
XF_RF_DATA_RWW_M1=505,
|
||||
XF_RF_DATA_RUV_M1=506,
|
||||
XF_RF_DATA_RVW_M1=507,
|
||||
XF_RF_DATA_RUU_M1=503,
|
||||
XF_RF_DATA_RVV_M1=504,
|
||||
XF_RF_DATA_RWW_M1=505,
|
||||
XF_RF_DATA_RUV_M1=506,
|
||||
XF_RF_DATA_RVW_M1=507,
|
||||
XF_RF_DATA_RUW_M1=508,
|
||||
|
||||
XF_RF_DATA_RUU_M2=509,
|
||||
XF_RF_DATA_RVV_M2=510,
|
||||
XF_RF_DATA_RWW_M2=511,
|
||||
XF_RF_DATA_RUV_M2=512,
|
||||
XF_RF_DATA_RVW_M2=513,
|
||||
XF_RF_DATA_RUU_M2=509,
|
||||
XF_RF_DATA_RVV_M2=510,
|
||||
XF_RF_DATA_RWW_M2=511,
|
||||
XF_RF_DATA_RUV_M2=512,
|
||||
XF_RF_DATA_RVW_M2=513,
|
||||
XF_RF_DATA_RUW_M2=514,
|
||||
|
||||
XF_RF_DATA_ENERGY_M1=515,
|
||||
@ -271,9 +271,9 @@ chunk.
|
||||
|
||||
EXPAND_50_EQUAL(XF_RF_DATA_UDS_,700), /* user defined scalar */
|
||||
EXPAND_50(XF_RF_DATA_UDS_,_M1=, 750), /* user defined scalar
|
||||
* at fist time level */
|
||||
* at fist time level */
|
||||
EXPAND_50(XF_RF_DATA_UDS_,_M2=, 800), /* user defined scalar
|
||||
* at second time level */
|
||||
* at second time level */
|
||||
XF_RF_DATA_GRANULAR_PRESSURE=910,
|
||||
XF_RF_DATA_GRANULAR_PRESSURE_M1=0,/* never stored but symbol is
|
||||
required */
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -366,7 +366,7 @@ int main(int argc, char *argv[])
|
||||
print(" volTensorFields :", Info, vtf);
|
||||
|
||||
|
||||
// Construct pointMesh only if nessecary since constructs edge
|
||||
// Construct pointMesh only if necessary since constructs edge
|
||||
// addressing (expensive on polyhedral meshes)
|
||||
if (noPointValues)
|
||||
{
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -604,7 +604,7 @@ int main(int argc, char *argv[])
|
||||
+ vtf.size();
|
||||
|
||||
|
||||
// Construct pointMesh only if nessecary since constructs edge
|
||||
// Construct pointMesh only if necessary since constructs edge
|
||||
// addressing (expensive on polyhedral meshes)
|
||||
if (noPointValues)
|
||||
{
|
||||
|
||||
@ -52,22 +52,22 @@ The process for producing a user defined reader is:
|
||||
Reads FlowScience "flsgrf" flow3d data.
|
||||
$ENSIGHT6_HOME/ensight62/user_defined_src/readers/flow3d
|
||||
|
||||
Reads Tecplot "plt" files.
|
||||
Reads Tecplot "plt" files.
|
||||
$ENSIGHT6_HOME/ensight62/user_defined_src/readers/tecplot
|
||||
|
||||
Reads Common File Format data.
|
||||
Reads Common File Format data.
|
||||
$ENSIGHT6_HOME/ensight62/user_defined_src/readers/cff
|
||||
|
||||
Reads Cobalt grid and picture/restart file data.
|
||||
Reads Cobalt grid and picture/restart file data.
|
||||
$ENSIGHT6_HOME/ensight62/user_defined_src/readers/cobalt
|
||||
|
||||
|
||||
You may find it useful to place your library source in this area as
|
||||
well, but are not limited to this location.
|
||||
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
routines are called, which is provided in this file, along with
|
||||
the example libraries, should make it possible for you to produce
|
||||
code for your own data reader.
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
routines are called, which is provided in this file, along with
|
||||
the example libraries, should make it possible for you to produce
|
||||
code for your own data reader.
|
||||
|
||||
|
||||
2. Produce the dynamic shared library.
|
||||
@ -77,7 +77,7 @@ The process for producing a user defined reader is:
|
||||
for each machine type. Operating system level differences could cause
|
||||
you to have to modify these makefiles slightly, but the general
|
||||
process is very straightforward. Note that for the SGI environment you
|
||||
must compile with the following flags to ensure compatability with
|
||||
must compile with the following flags to ensure compatibility with
|
||||
the EnSight server: Irix_5.3 -mips1
|
||||
Irix_6.2 -mips2
|
||||
Irix_6.5_n32 -mips3
|
||||
@ -139,11 +139,11 @@ The process for producing a user defined reader is:
|
||||
You can use any of the other provided readers by changing this variable.
|
||||
For example, to use the dytran reader:
|
||||
|
||||
setenv ENSIGHT6_READER dytran
|
||||
setenv ENSIGHT6_READER dytran
|
||||
|
||||
Thus, you can use your reader in the same way. If you provided "mydata",
|
||||
change ENSIGHT6_READER to:
|
||||
|
||||
|
||||
setenv ENSIGHT6_READER mydata
|
||||
|
||||
|
||||
@ -187,7 +187,7 @@ Generally Needed for BLOCK data
|
||||
USERD_get_block_coords_by_component block coordinates
|
||||
USERD_get_block_iblanking block iblanking values
|
||||
USERD_get_block_scalar_values block scalar variables
|
||||
USERD_get_block_vector_values_by_component block vector variables
|
||||
USERD_get_block_vector_values_by_component block vector variables
|
||||
|
||||
|
||||
Generally needed for either or both kinds of data
|
||||
@ -223,7 +223,7 @@ Order Routines are called
|
||||
|
||||
The various main operations are given basically in the order they will
|
||||
be performed. Within each operation, the order the routines will be
|
||||
called is given.
|
||||
called is given.
|
||||
|
||||
1. Setting name in the gui, and specifying one or two input fields
|
||||
|
||||
@ -254,7 +254,7 @@ called is given.
|
||||
|
||||
USERD_get_number_of_variables
|
||||
USERD_get_variable_info
|
||||
|
||||
|
||||
5. Part building (per part created)
|
||||
|
||||
USERD_set_time_step
|
||||
@ -269,12 +269,12 @@ called is given.
|
||||
dialog is closed)
|
||||
|
||||
6. Loading Variables
|
||||
|
||||
|
||||
constants:
|
||||
---------
|
||||
USERD_set_time_step
|
||||
USERD_get_constant_value
|
||||
|
||||
|
||||
scalars:
|
||||
-------
|
||||
USERD_get_description_lines
|
||||
@ -309,7 +309,7 @@ called is given.
|
||||
USERD_get_element_ids_for_part
|
||||
USERD_get_block_iblanking
|
||||
USERD_get_block_coords_by_component
|
||||
|
||||
|
||||
|
||||
|
||||
-----------------------
|
||||
@ -319,7 +319,7 @@ Detailed Specifications
|
||||
Include files:
|
||||
--------------
|
||||
The following header file is required in any file containing these library
|
||||
routines.
|
||||
routines.
|
||||
|
||||
#include "global_extern.h"
|
||||
|
||||
@ -514,7 +514,7 @@ USERD_get_block_scalar_values
|
||||
for each node or element.
|
||||
|
||||
Array will have been allocated:
|
||||
|
||||
|
||||
if Z_PER_NODE:
|
||||
i*j*k for the block long
|
||||
|
||||
@ -573,7 +573,7 @@ USERD_get_block_vector_values_by_component
|
||||
component value for each node or element.
|
||||
|
||||
Array will have been allocated:
|
||||
|
||||
|
||||
if Z_PER_NODE:
|
||||
i*j*k for the block long
|
||||
|
||||
@ -680,7 +680,7 @@ USERD_get_dataset_query_file_info
|
||||
(Typically obtained with a call to the
|
||||
"stat" system routine)
|
||||
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
(Z_MAXTIMLEN is the dimensioned length
|
||||
of this string)
|
||||
(Typically obtained with a call to the
|
||||
@ -783,7 +783,7 @@ USERD_get_element_connectivities_for_part
|
||||
conn_array[Z_TRI03][25][3]
|
||||
conn_array[Z_QUA04][100][4]
|
||||
conn_array[Z_HEX08][30][8]
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* Not called unless Num_unstructured_parts is > 0
|
||||
@ -818,7 +818,7 @@ USERD_get_element_connectivities_for_part
|
||||
|
||||
|
||||
And conn_array here as follows:
|
||||
|
||||
|
||||
Triangle Connectivity
|
||||
-------- ------------
|
||||
T1 conn_array[Z_TRI03][0][0] = 1
|
||||
@ -913,7 +913,7 @@ USERD_get_element_label_status
|
||||
on a part by part basis, if TRUE status is returned here.
|
||||
|
||||
For structured parts, EnSight will assign ids if you return a
|
||||
status of TRUE here. You cannot assign them youself!!
|
||||
status of TRUE here. You cannot assign them yourself!!
|
||||
|
||||
|
||||
|
||||
@ -983,7 +983,7 @@ USERD_get_global_coords
|
||||
|
||||
And conn_array in USERD_get_element_connectivities_for_part
|
||||
as follows:
|
||||
|
||||
|
||||
Triangle Connectivity
|
||||
-------- ------------
|
||||
T1 conn_array[Z_TRI03][0][0] = 1
|
||||
@ -1037,7 +1037,7 @@ USERD_get_name_of_reader
|
||||
Specification:
|
||||
-------------
|
||||
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
|
||||
int *two_fields)
|
||||
int *two_fields)
|
||||
|
||||
Returns:
|
||||
-------
|
||||
@ -1050,8 +1050,8 @@ USERD_get_name_of_reader
|
||||
(max length is Z_MAX_USERD_NAME, which is 20)
|
||||
|
||||
(OUT) *two_fields = FALSE if only one data field required
|
||||
in the data dialog of EnSight.
|
||||
TRUE if two data fields required.
|
||||
in the data dialog of EnSight.
|
||||
TRUE if two data fields required.
|
||||
|
||||
Notes:
|
||||
-----
|
||||
@ -1305,7 +1305,7 @@ USERD_get_part_build_info
|
||||
The numbers provided here are the ones by
|
||||
which the parts will be referred to in any
|
||||
of the other routines which receive a part
|
||||
number or block number as an argument!!
|
||||
number or block number as an argument!!
|
||||
********************************************
|
||||
|
||||
(Array will have been allocated
|
||||
@ -1421,7 +1421,7 @@ USERD_get_scalar_values
|
||||
---------
|
||||
(IN) which_scalar = The variable number (of scalar type)
|
||||
|
||||
(IN) which_part
|
||||
(IN) which_part
|
||||
|
||||
if Z_PER_NODE: Not used
|
||||
|
||||
@ -1433,7 +1433,7 @@ USERD_get_scalar_values
|
||||
|
||||
if Z_PER_ELEM: = The element type
|
||||
|
||||
(OUT) scalar_array
|
||||
(OUT) scalar_array
|
||||
|
||||
if Z_PER_NODE: = 1D array containing scalar values
|
||||
for each node.
|
||||
@ -1443,7 +1443,7 @@ USERD_get_scalar_values
|
||||
|
||||
if Z_PER_ELEM: = 1d array containing scalar values for
|
||||
each element of a particular part and type.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
number_of_elements[which_part][which_type]
|
||||
long. See USERD_get_part_build_info)
|
||||
@ -1590,7 +1590,7 @@ USERD_get_variable_value_at_specific
|
||||
|
||||
If Z_PER_NODE:
|
||||
= The node number. This is not the id, but is
|
||||
the index of the global node
|
||||
the index of the global node
|
||||
list (1 based), or the block's
|
||||
node list (1 based).
|
||||
|
||||
@ -1683,7 +1683,7 @@ USERD_get_vector_values
|
||||
---------
|
||||
(IN) which_vector = The variable number
|
||||
|
||||
(IN) which_part
|
||||
(IN) which_part
|
||||
|
||||
if Z_PER_NODE: Not used
|
||||
|
||||
@ -1695,7 +1695,7 @@ USERD_get_vector_values
|
||||
|
||||
if Z_PER_ELEM: = The element type
|
||||
|
||||
(OUT) vector_array
|
||||
(OUT) vector_array
|
||||
|
||||
if Z_PER_NODE: = 1D array containing vector values
|
||||
for each node.
|
||||
@ -1719,7 +1719,7 @@ USERD_get_vector_values
|
||||
|
||||
if Z_PER_ELEM: = 1d array containing vector values for
|
||||
each element of a particular part and type.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
3 by number_of_elements[which_part][which_type]
|
||||
long. See USERD_get_part_build_info)
|
||||
@ -1776,8 +1776,8 @@ USERD_set_filenames
|
||||
field of the data dialog.
|
||||
(IN) filename_2 = the filename entered into the result
|
||||
field of the data dialog.
|
||||
(If the two_fields flag in USERD_get_name_of_reader
|
||||
is FALSE, this will be null string)
|
||||
(If the two_fields flag in USERD_get_name_of_reader
|
||||
is FALSE, this will be null string)
|
||||
(IN) the_path = the path info from the data dialog.
|
||||
Note: filename_1 and filename_2 have already
|
||||
had the path prepended to them. This
|
||||
|
||||
@ -52,22 +52,22 @@ The process for producing a user defined reader is:
|
||||
Reads FlowScience "flsgrf" flow3d data.
|
||||
$ENSIGHT6_HOME/ensight62/user_defined_src/readers/flow3d
|
||||
|
||||
Reads Tecplot "plt" files.
|
||||
Reads Tecplot "plt" files.
|
||||
$ENSIGHT6_HOME/ensight62/user_defined_src/readers/tecplot
|
||||
|
||||
Reads Common File Format data.
|
||||
Reads Common File Format data.
|
||||
$ENSIGHT6_HOME/ensight62/user_defined_src/readers/cff
|
||||
|
||||
Reads Cobalt grid and picture/restart file data.
|
||||
Reads Cobalt grid and picture/restart file data.
|
||||
$ENSIGHT6_HOME/ensight62/user_defined_src/readers/cobalt
|
||||
|
||||
|
||||
You may find it useful to place your library source in this area as
|
||||
well, but are not limited to this location.
|
||||
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
routines are called, which is provided in this file, along with
|
||||
the example libraries, should make it possible for you to produce
|
||||
code for your own data reader.
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
routines are called, which is provided in this file, along with
|
||||
the example libraries, should make it possible for you to produce
|
||||
code for your own data reader.
|
||||
|
||||
|
||||
2. Produce the dynamic shared library.
|
||||
@ -77,7 +77,7 @@ The process for producing a user defined reader is:
|
||||
for each machine type. Operating system level differences could cause
|
||||
you to have to modify these makefiles slightly, but the general
|
||||
process is very straightforward. Note that for the SGI environment you
|
||||
must compile with the following flags to ensure compatability with
|
||||
must compile with the following flags to ensure compatibility with
|
||||
the EnSight server: Irix_5.3 -mips1
|
||||
Irix_6.2 -mips2
|
||||
Irix_6.5_n32 -mips3
|
||||
@ -139,11 +139,11 @@ The process for producing a user defined reader is:
|
||||
You can use any of the other provided readers by changing this variable.
|
||||
For example, to use the dytran reader:
|
||||
|
||||
setenv ENSIGHT6_READER dytran
|
||||
setenv ENSIGHT6_READER dytran
|
||||
|
||||
Thus, you can use your reader in the same way. If you provided "mydata",
|
||||
change ENSIGHT6_READER to:
|
||||
|
||||
|
||||
setenv ENSIGHT6_READER mydata
|
||||
|
||||
|
||||
@ -187,7 +187,7 @@ Generally Needed for BLOCK data
|
||||
USERD_get_block_coords_by_component block coordinates
|
||||
USERD_get_block_iblanking block iblanking values
|
||||
USERD_get_block_scalar_values block scalar variables
|
||||
USERD_get_block_vector_values_by_component block vector variables
|
||||
USERD_get_block_vector_values_by_component block vector variables
|
||||
|
||||
|
||||
Generally needed for either or both kinds of data
|
||||
@ -223,7 +223,7 @@ Order Routines are called
|
||||
|
||||
The various main operations are given basically in the order they will
|
||||
be performed. Within each operation, the order the routines will be
|
||||
called is given.
|
||||
called is given.
|
||||
|
||||
1. Setting name in the gui, and specifying one or two input fields
|
||||
|
||||
@ -254,7 +254,7 @@ called is given.
|
||||
|
||||
USERD_get_number_of_variables
|
||||
USERD_get_variable_info
|
||||
|
||||
|
||||
5. Part building (per part created)
|
||||
|
||||
USERD_set_time_step
|
||||
@ -269,12 +269,12 @@ called is given.
|
||||
dialog is closed)
|
||||
|
||||
6. Loading Variables
|
||||
|
||||
|
||||
constants:
|
||||
---------
|
||||
USERD_set_time_step
|
||||
USERD_get_constant_value
|
||||
|
||||
|
||||
scalars:
|
||||
-------
|
||||
USERD_get_description_lines
|
||||
@ -309,7 +309,7 @@ called is given.
|
||||
USERD_get_element_ids_for_part
|
||||
USERD_get_block_iblanking
|
||||
USERD_get_block_coords_by_component
|
||||
|
||||
|
||||
|
||||
|
||||
-----------------------
|
||||
@ -319,7 +319,7 @@ Detailed Specifications
|
||||
Include files:
|
||||
--------------
|
||||
The following header file is required in any file containing these library
|
||||
routines.
|
||||
routines.
|
||||
|
||||
#include "global_extern.h"
|
||||
|
||||
@ -514,7 +514,7 @@ USERD_get_block_scalar_values
|
||||
for each node or element.
|
||||
|
||||
Array will have been allocated:
|
||||
|
||||
|
||||
if Z_PER_NODE:
|
||||
i*j*k for the block long
|
||||
|
||||
@ -573,7 +573,7 @@ USERD_get_block_vector_values_by_component
|
||||
component value for each node or element.
|
||||
|
||||
Array will have been allocated:
|
||||
|
||||
|
||||
if Z_PER_NODE:
|
||||
i*j*k for the block long
|
||||
|
||||
@ -680,7 +680,7 @@ USERD_get_dataset_query_file_info
|
||||
(Typically obtained with a call to the
|
||||
"stat" system routine) (Is a long)
|
||||
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
(Z_MAXTIMLEN is the dimensioned length
|
||||
of this string)
|
||||
(Typically obtained with a call to the
|
||||
@ -783,7 +783,7 @@ USERD_get_element_connectivities_for_part
|
||||
conn_array[Z_TRI03][25][3]
|
||||
conn_array[Z_QUA04][100][4]
|
||||
conn_array[Z_HEX08][30][8]
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* Not called unless Num_unstructured_parts is > 0
|
||||
@ -818,7 +818,7 @@ USERD_get_element_connectivities_for_part
|
||||
|
||||
|
||||
And conn_array here as follows:
|
||||
|
||||
|
||||
Triangle Connectivity
|
||||
-------- ------------
|
||||
T1 conn_array[Z_TRI03][0][0] = 1
|
||||
@ -913,7 +913,7 @@ USERD_get_element_label_status
|
||||
on a part by part basis, if TRUE status is returned here.
|
||||
|
||||
For structured parts, EnSight will assign ids if you return a
|
||||
status of TRUE here. You cannot assign them youself!!
|
||||
status of TRUE here. You cannot assign them yourself!!
|
||||
|
||||
|
||||
|
||||
@ -983,7 +983,7 @@ USERD_get_global_coords
|
||||
|
||||
And conn_array in USERD_get_element_connectivities_for_part
|
||||
as follows:
|
||||
|
||||
|
||||
Triangle Connectivity
|
||||
-------- ------------
|
||||
T1 conn_array[Z_TRI03][0][0] = 1
|
||||
@ -1037,7 +1037,7 @@ USERD_get_name_of_reader
|
||||
Specification:
|
||||
-------------
|
||||
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
|
||||
int *two_fields)
|
||||
int *two_fields)
|
||||
|
||||
Returns:
|
||||
-------
|
||||
@ -1050,8 +1050,8 @@ USERD_get_name_of_reader
|
||||
(max length is Z_MAX_USERD_NAME, which is 20)
|
||||
|
||||
(OUT) *two_fields = FALSE if only one data field required
|
||||
in the data dialog of EnSight.
|
||||
TRUE if two data fields required.
|
||||
in the data dialog of EnSight.
|
||||
TRUE if two data fields required.
|
||||
|
||||
Notes:
|
||||
-----
|
||||
@ -1305,7 +1305,7 @@ USERD_get_part_build_info
|
||||
The numbers provided here are the ones by
|
||||
which the parts will be referred to in any
|
||||
of the other routines which receive a part
|
||||
number or block number as an argument!!
|
||||
number or block number as an argument!!
|
||||
********************************************
|
||||
|
||||
(Array will have been allocated
|
||||
@ -1421,7 +1421,7 @@ USERD_get_scalar_values
|
||||
---------
|
||||
(IN) which_scalar = The variable number (of scalar type)
|
||||
|
||||
(IN) which_part
|
||||
(IN) which_part
|
||||
|
||||
if Z_PER_NODE: Not used
|
||||
|
||||
@ -1433,7 +1433,7 @@ USERD_get_scalar_values
|
||||
|
||||
if Z_PER_ELEM: = The element type
|
||||
|
||||
(OUT) scalar_array
|
||||
(OUT) scalar_array
|
||||
|
||||
if Z_PER_NODE: = 1D array containing scalar values
|
||||
for each node.
|
||||
@ -1443,7 +1443,7 @@ USERD_get_scalar_values
|
||||
|
||||
if Z_PER_ELEM: = 1d array containing scalar values for
|
||||
each element of a particular part and type.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
number_of_elements[which_part][which_type]
|
||||
long. See USERD_get_part_build_info)
|
||||
@ -1590,7 +1590,7 @@ USERD_get_variable_value_at_specific
|
||||
|
||||
If Z_PER_NODE:
|
||||
= The node number. This is not the id, but is
|
||||
the index of the global node
|
||||
the index of the global node
|
||||
list (1 based), or the block's
|
||||
node list (1 based).
|
||||
|
||||
@ -1683,7 +1683,7 @@ USERD_get_vector_values
|
||||
---------
|
||||
(IN) which_vector = The variable number
|
||||
|
||||
(IN) which_part
|
||||
(IN) which_part
|
||||
|
||||
if Z_PER_NODE: Not used
|
||||
|
||||
@ -1695,7 +1695,7 @@ USERD_get_vector_values
|
||||
|
||||
if Z_PER_ELEM: = The element type
|
||||
|
||||
(OUT) vector_array
|
||||
(OUT) vector_array
|
||||
|
||||
if Z_PER_NODE: = 1D array containing vector values
|
||||
for each node.
|
||||
@ -1719,7 +1719,7 @@ USERD_get_vector_values
|
||||
|
||||
if Z_PER_ELEM: = 1d array containing vector values for
|
||||
each element of a particular part and type.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
3 by number_of_elements[which_part][which_type]
|
||||
long. See USERD_get_part_build_info)
|
||||
@ -1776,8 +1776,8 @@ USERD_set_filenames
|
||||
field of the data dialog.
|
||||
(IN) filename_2 = the filename entered into the result
|
||||
field of the data dialog.
|
||||
(If the two_fields flag in USERD_get_name_of_reader
|
||||
is FALSE, this will be null string)
|
||||
(If the two_fields flag in USERD_get_name_of_reader
|
||||
is FALSE, this will be null string)
|
||||
(IN) the_path = the path info from the data dialog.
|
||||
Note: filename_1 and filename_2 have already
|
||||
had the path prepended to them. This
|
||||
|
||||
@ -14,7 +14,7 @@ You should consider it if:
|
||||
- you want to provide your own "border" elements (as opposed to EnSight's
|
||||
computation of them)
|
||||
|
||||
As an indication of the differences that might be realized in efficency,
|
||||
As an indication of the differences that might be realized in efficiency,
|
||||
consider the following comparison on an unstructured model consisting of:
|
||||
|
||||
1,639,058 nodes
|
||||
@ -95,7 +95,7 @@ EnSight must do a fair amount of work to get data provided in the manner
|
||||
described above into the form that it uses internally. There is mapping that
|
||||
has to be setup and maintained between the global arrays and the local part
|
||||
arrays so that updating over time can be accomplished efficiently. There is
|
||||
hashing that is required in order to deal efficently with node ids.
|
||||
hashing that is required in order to deal efficiently with node ids.
|
||||
|
||||
All of this leads to a considerable amount of temporary memory and processing,
|
||||
in order to get a model read into EnSight.
|
||||
@ -115,7 +115,7 @@ API 2.0 deals with:
|
||||
API 2.0 requires that the coordinates and corresponding nodal variables be
|
||||
provided per part. This eliminates the global to local mapping with all its
|
||||
associated temporary memory and processing time. The connectivity of the
|
||||
elements in each part reference the node indicies of its own (one-based) part
|
||||
elements in each part reference the node indices of its own (one-based) part
|
||||
coordinate array. The connectivity of the elements do not reference the nodes
|
||||
according to node ids. Node ids (and element ids for that matter) are purely
|
||||
labels for screen display and for query operations within EnSight. This
|
||||
@ -354,7 +354,7 @@ USERD_get_element_ids_for_part USERD_get_part_element_ids_by_type
|
||||
(Required) -> USERD_get_border_availability
|
||||
(Can be a dummy) -> USERD_get_border_elements_by_type
|
||||
|
||||
transient model allocation efficency:
|
||||
transient model allocation efficiency:
|
||||
(Can be a dummy) -> USERD_get_maxsize_info
|
||||
|
||||
Possible use with Server-of-Servers:
|
||||
|
||||
@ -49,7 +49,7 @@ type format.
|
||||
Some of its advantages are::
|
||||
|
||||
* Most intermediate temporary arrays have been eliminated, such that the user
|
||||
defined routines write directly into internal part structures. This is a
|
||||
defined routines write directly into internal part structures. This is a
|
||||
considerable improvement in memory use, and improves speed as well since
|
||||
far less memory need be allocated, initialized, etc.
|
||||
|
||||
@ -131,7 +131,7 @@ The process for producing a user defined reader is:
|
||||
|
||||
Reads Cobalt grid and picture/restart file data
|
||||
$ENSIGHT7_HOME/user_defined_src/readers/cobalt
|
||||
|
||||
|
||||
Reads binary Nastran OP2 data base
|
||||
$ENSIGHT7_HOME/user_defined_src/readers/nastran
|
||||
|
||||
@ -156,10 +156,10 @@ The process for producing a user defined reader is:
|
||||
You may find it useful to place your library source in this area as
|
||||
well, but are not limited to this location.
|
||||
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
routines are called, which is provided in this file, along with
|
||||
the example libraries, should make it possible for you to produce
|
||||
code for your own data reader.
|
||||
code for your own data reader.
|
||||
|
||||
|
||||
2. Produce the dynamic shared library.
|
||||
@ -207,7 +207,7 @@ The process for producing a user defined reader is:
|
||||
|
||||
If you choose to use a different build environment for your reader,
|
||||
you should take care to use compatible compilation flags to ensure
|
||||
compatibilty with the EnSight executables, most notably on the SGI
|
||||
compatibility with the EnSight executables, most notably on the SGI
|
||||
and HP-UX 11.0 platforms, which should use the following flags:
|
||||
|
||||
sgi_6.2_o32: -mips2
|
||||
@ -301,7 +301,7 @@ The process for producing a user defined reader is:
|
||||
location, and users can set the ENSIGHT7_READER variable to access them:
|
||||
|
||||
setenv ENSIGHT7_READER /usr/local/lib/e7readers
|
||||
|
||||
|
||||
A user working on a new reader may compile the reader and place it in
|
||||
a directory specified by the library path:
|
||||
|
||||
@ -346,7 +346,7 @@ Generally Needed for BLOCK data
|
||||
USERD_get_block_coords_by_component block coordinates
|
||||
USERD_get_block_iblanking block iblanking values
|
||||
USERD_get_block_scalar_values block scalar variables
|
||||
USERD_get_block_vector_values_by_component block vector variables
|
||||
USERD_get_block_vector_values_by_component block vector variables
|
||||
|
||||
|
||||
Generally needed for either or both kinds of data
|
||||
@ -381,7 +381,7 @@ Order Routines are called
|
||||
|
||||
The various main operations are given basically in the order they will
|
||||
be performed. Within each operation, the order the routines will be
|
||||
called is given.
|
||||
called is given.
|
||||
|
||||
1. Setting name in the gui, and specifying one or two input fields
|
||||
|
||||
@ -412,7 +412,7 @@ called is given.
|
||||
|
||||
USERD_get_number_of_variables
|
||||
USERD_get_variable_info
|
||||
|
||||
|
||||
5. Part building (per part created)
|
||||
|
||||
USERD_set_time_step
|
||||
@ -427,12 +427,12 @@ called is given.
|
||||
dialog is closed)
|
||||
|
||||
6. Loading Variables
|
||||
|
||||
|
||||
constants:
|
||||
---------
|
||||
USERD_set_time_step
|
||||
USERD_get_constant_value
|
||||
|
||||
|
||||
scalars:
|
||||
-------
|
||||
USERD_get_description_lines
|
||||
@ -467,7 +467,7 @@ called is given.
|
||||
USERD_get_element_ids_for_part
|
||||
USERD_get_block_iblanking
|
||||
USERD_get_block_coords_by_component
|
||||
|
||||
|
||||
8. Node or Element queries over time
|
||||
|
||||
USERD_get_variable_value_at_specific
|
||||
@ -675,7 +675,7 @@ USERD_get_block_scalar_values
|
||||
for each node or element.
|
||||
|
||||
Array will have been allocated:
|
||||
|
||||
|
||||
if Z_PER_NODE:
|
||||
i*j*k for the block long
|
||||
|
||||
@ -734,7 +734,7 @@ USERD_get_block_vector_values_by_component
|
||||
component value for each node or element.
|
||||
|
||||
Array will have been allocated:
|
||||
|
||||
|
||||
if Z_PER_NODE:
|
||||
i*j*k for the block long
|
||||
|
||||
@ -841,7 +841,7 @@ USERD_get_dataset_query_file_info
|
||||
(Typically obtained with a call to the
|
||||
"stat" system routine) (Is a long)
|
||||
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
(Z_MAXTIMLEN is the dimensioned length
|
||||
of this string)
|
||||
(Typically obtained with a call to the
|
||||
@ -944,7 +944,7 @@ USERD_get_element_connectivities_for_part
|
||||
conn_array[Z_TRI03][25][3]
|
||||
conn_array[Z_QUA04][100][4]
|
||||
conn_array[Z_HEX08][30][8]
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* Not called unless Num_unstructured_parts is > 0
|
||||
@ -979,7 +979,7 @@ USERD_get_element_connectivities_for_part
|
||||
|
||||
|
||||
And conn_array here as follows:
|
||||
|
||||
|
||||
Triangle Connectivity
|
||||
-------- ------------
|
||||
T1 conn_array[Z_TRI03][0][0] = 1
|
||||
@ -1074,7 +1074,7 @@ USERD_get_element_label_status
|
||||
on a part by part basis, if TRUE status is returned here.
|
||||
|
||||
For structured parts, EnSight will assign ids if you return a
|
||||
status of TRUE here. You cannot assign them youself!!
|
||||
status of TRUE here. You cannot assign them yourself!!
|
||||
|
||||
|
||||
|
||||
@ -1144,7 +1144,7 @@ USERD_get_global_coords
|
||||
|
||||
And conn_array in USERD_get_element_connectivities_for_part
|
||||
as follows:
|
||||
|
||||
|
||||
Triangle Connectivity
|
||||
-------- ------------
|
||||
T1 conn_array[Z_TRI03][0][0] = 1
|
||||
@ -1198,7 +1198,7 @@ USERD_get_name_of_reader
|
||||
Specification:
|
||||
-------------
|
||||
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
|
||||
int *two_fields)
|
||||
int *two_fields)
|
||||
|
||||
Returns:
|
||||
-------
|
||||
@ -1211,8 +1211,8 @@ USERD_get_name_of_reader
|
||||
(max length is Z_MAX_USERD_NAME, which is 20)
|
||||
|
||||
(OUT) *two_fields = FALSE if only one data field required
|
||||
in the data dialog of EnSight.
|
||||
TRUE if two data fields required.
|
||||
in the data dialog of EnSight.
|
||||
TRUE if two data fields required.
|
||||
|
||||
Notes:
|
||||
-----
|
||||
@ -1466,7 +1466,7 @@ USERD_get_part_build_info
|
||||
The numbers provided here are the ones by
|
||||
which the parts will be referred to in any
|
||||
of the other routines which receive a part
|
||||
number or block number as an argument!!
|
||||
number or block number as an argument!!
|
||||
********************************************
|
||||
|
||||
(Array will have been allocated
|
||||
@ -1582,7 +1582,7 @@ USERD_get_scalar_values
|
||||
---------
|
||||
(IN) which_scalar = The variable number (of scalar type)
|
||||
|
||||
(IN) which_part
|
||||
(IN) which_part
|
||||
|
||||
if Z_PER_NODE: Not used
|
||||
|
||||
@ -1594,7 +1594,7 @@ USERD_get_scalar_values
|
||||
|
||||
if Z_PER_ELEM: = The element type
|
||||
|
||||
(OUT) scalar_array
|
||||
(OUT) scalar_array
|
||||
|
||||
if Z_PER_NODE: = 1D array containing scalar values
|
||||
for each node.
|
||||
@ -1604,7 +1604,7 @@ USERD_get_scalar_values
|
||||
|
||||
if Z_PER_ELEM: = 1d array containing scalar values for
|
||||
each element of a particular part and type.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
number_of_elements[which_part][which_type]
|
||||
long. See USERD_get_part_build_info)
|
||||
@ -1751,7 +1751,7 @@ USERD_get_variable_value_at_specific
|
||||
|
||||
If Z_PER_NODE:
|
||||
= The node number. This is not the id, but is
|
||||
the index of the global node
|
||||
the index of the global node
|
||||
list (1 based), or the block's
|
||||
node list (1 based).
|
||||
|
||||
@ -1843,7 +1843,7 @@ USERD_get_vector_values
|
||||
---------
|
||||
(IN) which_vector = The variable number
|
||||
|
||||
(IN) which_part
|
||||
(IN) which_part
|
||||
|
||||
if Z_PER_NODE: Not used
|
||||
|
||||
@ -1855,7 +1855,7 @@ USERD_get_vector_values
|
||||
|
||||
if Z_PER_ELEM: = The element type
|
||||
|
||||
(OUT) vector_array
|
||||
(OUT) vector_array
|
||||
|
||||
if Z_PER_NODE: = 1D array containing vector values
|
||||
for each node.
|
||||
@ -1879,7 +1879,7 @@ USERD_get_vector_values
|
||||
|
||||
if Z_PER_ELEM: = 1D array containing vector values for
|
||||
each element of a particular part and type.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
3 by number_of_elements[which_part][which_type]
|
||||
long. See USERD_get_part_build_info)
|
||||
@ -1936,8 +1936,8 @@ USERD_set_filenames
|
||||
field of the data dialog.
|
||||
(IN) filename_2 = the filename entered into the result
|
||||
field of the data dialog.
|
||||
(If the two_fields flag in USERD_get_name_of_reader
|
||||
is FALSE, this will be null string)
|
||||
(If the two_fields flag in USERD_get_name_of_reader
|
||||
is FALSE, this will be null string)
|
||||
(IN) the_path = the path info from the data dialog.
|
||||
Note: filename_1 and filename_2 have already
|
||||
had the path prepended to them. This
|
||||
@ -2009,5 +2009,3 @@ USERD_stop_part_building
|
||||
|
||||
|
||||
---- end of doucment ----
|
||||
|
||||
|
||||
|
||||
@ -82,7 +82,7 @@ This file also contains guidance on necessary changes to modify an existing
|
||||
****************************************************************************
|
||||
Note: A default dummy_gold reader and an Ensight Gold example of this new 2.0
|
||||
user defined reader API has been included with your EnSight release.
|
||||
Also, the SILO reader included in the release utilizes the 2.0 API.
|
||||
Also, the SILO reader included in the release utilizes the 2.0 API.
|
||||
|
||||
And while not identical, the API 1.0 readers might be useful to
|
||||
examine as examples. Many of the routines are the same or similar.
|
||||
@ -115,10 +115,10 @@ The process for producing a user defined reader is:
|
||||
You may find it useful to place your library source in this area as
|
||||
well, but are not limited to this location.
|
||||
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
routines are called, which is provided in this file, along with
|
||||
the example libraries, should make it possible for you to produce
|
||||
code for your own data reader.
|
||||
code for your own data reader.
|
||||
|
||||
|
||||
2. Produce the dynamic shared library.
|
||||
@ -166,7 +166,7 @@ The process for producing a user defined reader is:
|
||||
|
||||
If you choose to use a different build environment for your reader,
|
||||
you should take care to use compatible compilation flags to ensure
|
||||
compatibilty with the EnSight executables, most notably on the SGI
|
||||
compatibility with the EnSight executables, most notably on the SGI
|
||||
and HP-UX 11.0 platforms, which should use the following flags:
|
||||
|
||||
sgi_6.2_o32: -mips2
|
||||
@ -260,7 +260,7 @@ The process for producing a user defined reader is:
|
||||
location, and users can set the ENSIGHT7_READER variable to access them:
|
||||
|
||||
setenv ENSIGHT7_READER /usr/local/lib/e7readers
|
||||
|
||||
|
||||
A user working on a new reader may compile the reader and place it in
|
||||
a directory specified by the library path:
|
||||
|
||||
@ -354,7 +354,7 @@ Order Routines are called
|
||||
|
||||
The various main operations are given basically in the order they will
|
||||
be performed. Within each operation, the order the routines will be
|
||||
called is given.
|
||||
called is given.
|
||||
|
||||
1. Setting name in the gui, and specifying one or two input fields
|
||||
|
||||
@ -399,7 +399,7 @@ called is given.
|
||||
|
||||
USERD_get_number_of_variables
|
||||
USERD_get_gold_variable_info
|
||||
|
||||
|
||||
6. Part building (per part created)
|
||||
|
||||
USERD_set_time_set_and_step
|
||||
@ -417,12 +417,12 @@ called is given.
|
||||
dialog is closed)
|
||||
|
||||
7. Loading Variables
|
||||
|
||||
|
||||
constants:
|
||||
---------
|
||||
USERD_set_time_set_and_step
|
||||
USERD_get_constant_val
|
||||
|
||||
|
||||
scalars/vectors/tensors:
|
||||
------------------------
|
||||
USERD_get_descrip_lines
|
||||
@ -457,7 +457,7 @@ called is given.
|
||||
USERD_get_border_availability (If border representation
|
||||
USERD_get_border_elements_by_type is selected)
|
||||
|
||||
|
||||
|
||||
9. Node or Element queries over time
|
||||
|
||||
USERD_get_var_value_at_specific
|
||||
@ -470,7 +470,7 @@ Detailed Specifications
|
||||
Include files:
|
||||
--------------
|
||||
The following header file is required in any file containing these library
|
||||
routines.
|
||||
routines.
|
||||
|
||||
#include "global_extern.h"
|
||||
|
||||
@ -594,9 +594,9 @@ USERD_get_block_coords_by_component
|
||||
---------
|
||||
(IN) block_number = The block part number
|
||||
(1-based index of part table, namely:
|
||||
|
||||
|
||||
1 ... Numparts_available.
|
||||
|
||||
|
||||
It is NOT the part_id that
|
||||
is loaded in USERD_get_gold_part_build_info)
|
||||
|
||||
@ -640,9 +640,9 @@ USERD_get_block_iblanking
|
||||
---------
|
||||
(IN) block_number = The block part number
|
||||
(1-based index of part table, namely:
|
||||
|
||||
|
||||
1 ... Numparts_available.
|
||||
|
||||
|
||||
It is NOT the part_id that
|
||||
is loaded in USERD_get_gold_part_build_info)
|
||||
|
||||
@ -694,9 +694,9 @@ USERD_get_border_availability
|
||||
---------
|
||||
(IN) part_number = The part number
|
||||
(1-based index of part table, namely:
|
||||
|
||||
|
||||
1 ... Numparts_available.
|
||||
|
||||
|
||||
It is NOT the part_id that
|
||||
is loaded in USERD_get_gold_part_build_info)
|
||||
|
||||
@ -727,7 +727,7 @@ USERD_get_border_elements_by_type
|
||||
|
||||
Description:
|
||||
-----------
|
||||
Provides border element connectivity and parent information.
|
||||
Provides border element connectivity and parent information.
|
||||
|
||||
Specification:
|
||||
-------------
|
||||
@ -746,9 +746,9 @@ USERD_get_border_elements_by_type
|
||||
---------
|
||||
(IN) part_number = The part number
|
||||
(1-based index of part table, namely:
|
||||
|
||||
|
||||
1 ... Numparts_available.
|
||||
|
||||
|
||||
It is NOT the part_id that
|
||||
is loaded in USERD_get_gold_part_build_info)
|
||||
|
||||
@ -796,7 +796,7 @@ USERD_get_border_elements_by_type
|
||||
(Array will have been allocated
|
||||
num_of_elements of the type long)
|
||||
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* Not called unless USERD_get_border_availability returned Z_OK
|
||||
@ -898,7 +898,7 @@ USERD_get_dataset_query_file_info
|
||||
(Typically obtained with a call to the
|
||||
"stat" system routine) (Is a long)
|
||||
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
(Z_MAXTIMLEN is the dimensioned length
|
||||
of this string)
|
||||
(Typically obtained with a call to the
|
||||
@ -998,7 +998,7 @@ USERD_get_element_label_status
|
||||
on a per part, per type basis, if TRUE status is returned here.
|
||||
|
||||
For structured parts, EnSight will assign ids if you return a
|
||||
status of TRUE here. You cannot assign them youself!!
|
||||
status of TRUE here. You cannot assign them yourself!!
|
||||
|
||||
|
||||
--------------------------------------------------------------------
|
||||
@ -1014,7 +1014,7 @@ USERD_get_geom_timeset_number -
|
||||
|
||||
Returns:
|
||||
-------
|
||||
Geom_timeset_number = The timeset number that will be used for geometry.
|
||||
Geom_timeset_number = The timeset number that will be used for geometry.
|
||||
For example, if USERD_get_number_of timesets
|
||||
returns 2, the valid timeset numbers would be
|
||||
1 or 2.
|
||||
@ -1056,30 +1056,30 @@ USERD_get_gold_part_build_info
|
||||
---------
|
||||
(OUT) part_id = Array containing the external part
|
||||
ids for each of the model parts.
|
||||
|
||||
|
||||
IMPORTANT:
|
||||
Parts numbers must be >= 1, because
|
||||
of the way they are used in the GUI
|
||||
|
||||
|
||||
*******************************************
|
||||
The ids provided here are the numbers by
|
||||
which the parts will be referred to in the
|
||||
GUI (if possible). They are basically
|
||||
labels as far as you are concerned.
|
||||
|
||||
|
||||
Note: The part numbers you pass to routines
|
||||
which receive a part_number or block_number
|
||||
or which_part as an argument are the 1-based
|
||||
table index of the parts!
|
||||
|
||||
|
||||
example: If Numparts_available = 3
|
||||
|
||||
|
||||
Table index part_id
|
||||
----------- -------
|
||||
1 13
|
||||
2 57
|
||||
3 125
|
||||
|
||||
|
||||
^ ^
|
||||
| |
|
||||
| These are placed in:
|
||||
@ -1091,7 +1091,7 @@ USERD_get_gold_part_build_info
|
||||
These implied table indices are the part_number,
|
||||
block_number, or which_part numbers that you would
|
||||
pass to routines like:
|
||||
|
||||
|
||||
USERD_get_part_coords(int part_number,...
|
||||
USERD_get_part_node_ids(int part_number,...
|
||||
USERD_get_part_elements_by_type(int part_number,...
|
||||
@ -1108,7 +1108,7 @@ USERD_get_gold_part_build_info
|
||||
int which_node_or_elem,
|
||||
int which_part,...
|
||||
********************************************
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Numparts_available long)
|
||||
|
||||
@ -1130,7 +1130,7 @@ USERD_get_gold_part_build_info
|
||||
long)
|
||||
|
||||
(OUT) number_of_nodes = Number of unstructured nodes in the part
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Numparts_available long)
|
||||
|
||||
@ -1263,23 +1263,23 @@ USERD_get_gold_variable_info
|
||||
Z_PER_ELEM
|
||||
|
||||
(OUT) var_complex = TRUE if complex, FALSE otherwise
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
|
||||
(OUT) var_ifilename = Variable imaginary filenames (if complex)
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables by Z_BUFL long)
|
||||
|
||||
(OUT) var_freq = complex frequency (if complex)
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
|
||||
(OUT) var_contran = TRUE if constant changes per time step
|
||||
FALSE if constant truly same at all time steps
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
@ -1353,7 +1353,7 @@ USERD_get_maxsize_info
|
||||
---------
|
||||
(OUT) max_number_of_nodes = Maximum number of unstructured nodes
|
||||
in the part (over all time).
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Numparts_available long)
|
||||
|
||||
@ -1462,7 +1462,7 @@ USERD_get_name_of_reader
|
||||
Specification:
|
||||
-------------
|
||||
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
|
||||
int *two_fields)
|
||||
int *two_fields)
|
||||
|
||||
Returns:
|
||||
-------
|
||||
@ -1475,8 +1475,8 @@ USERD_get_name_of_reader
|
||||
(max length is Z_MAX_USERD_NAME, which is 20)
|
||||
|
||||
(OUT) *two_fields = FALSE if only one data field required
|
||||
in the data dialog of EnSight.
|
||||
TRUE if two data fields required.
|
||||
in the data dialog of EnSight.
|
||||
TRUE if two data fields required.
|
||||
|
||||
Notes:
|
||||
-----
|
||||
@ -1650,37 +1650,37 @@ USERD_get_number_of_timesets
|
||||
|
||||
* If you have a static model, both geometry and variables, you should
|
||||
return a value of zero.
|
||||
|
||||
|
||||
* If you have a transient model, then you should return one or more.
|
||||
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
Geometry Variables No. of timesets
|
||||
--------- ------------------------------ ---------------
|
||||
static static 0
|
||||
static transient, all using same timeset 1
|
||||
|
||||
|
||||
transient transient, all using same timeset as geom 1
|
||||
|
||||
|
||||
static transient, using 3 different timesets 3
|
||||
|
||||
|
||||
transient transient, using 3 different timesets and
|
||||
none of them the same as the
|
||||
geometry timeset 4
|
||||
etc.
|
||||
|
||||
|
||||
NOTE: ALL GEOMETRY MUST USE THE SAME TIMESET!!! You will have to provide
|
||||
the timeset number to use
|
||||
for geometry in:
|
||||
USERD_get_geom_timeset_number
|
||||
|
||||
|
||||
Variables can use the same timeset as the geometry, or can use
|
||||
other timesets. More than one variable can use the same timeset.
|
||||
|
||||
|
||||
example: changing geometry at 5 steps, 0.0, 1.0, 2.0, 3.0, 4.0
|
||||
variable 1 provided at these same five steps
|
||||
variable 2 provided at 3 steps, 0.5, 1.25, 3.33
|
||||
|
||||
|
||||
This routine should return a value of 2, because only
|
||||
two different timesets are needed. Timeset 1 would be for the
|
||||
geometry and variable 1 (they both use it). Timeset 2 would
|
||||
@ -1742,9 +1742,9 @@ USERD_get_part_coords
|
||||
---------
|
||||
(IN) part_number = The part number
|
||||
(1-based index of part table, namely:
|
||||
|
||||
|
||||
1 ... Numparts_available.
|
||||
|
||||
|
||||
It is NOT the part_id that
|
||||
is loaded in USERD_get_gold_part_build_info)
|
||||
|
||||
@ -1810,9 +1810,9 @@ USERD_get_part_element_ids_by_type
|
||||
---------
|
||||
(IN) part_number = The part number
|
||||
(1-based index of part table, namely:
|
||||
|
||||
|
||||
1 ... Numparts_available.
|
||||
|
||||
|
||||
It is NOT the part_id that
|
||||
is loaded in USERD_get_gold_part_build_info)
|
||||
|
||||
@ -1885,9 +1885,9 @@ USERD_get_part_elements_by_type
|
||||
---------
|
||||
(IN) part_number = The part number
|
||||
(1-based index of part table, namely:
|
||||
|
||||
|
||||
1 ... Numparts_available.
|
||||
|
||||
|
||||
It is NOT the part_id that
|
||||
is loaded in USERD_get_gold_part_build_info)
|
||||
|
||||
@ -1928,7 +1928,7 @@ USERD_get_part_elements_by_type
|
||||
conn_array[100][4] when called with Z_QUA04
|
||||
|
||||
conn_array[30][8] when called with Z_HEX08
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* Not called unless Num_unstructured_parts is > 0
|
||||
@ -1956,9 +1956,9 @@ USERD_get_part_node_ids
|
||||
---------
|
||||
(IN) part_number = The part number
|
||||
(1-based index of part table, namely:
|
||||
|
||||
|
||||
1 ... Numparts_available.
|
||||
|
||||
|
||||
It is NOT the part_id that
|
||||
is loaded in USERD_get_gold_part_build_info)
|
||||
|
||||
@ -2058,7 +2058,7 @@ USERD_get_sol_times
|
||||
|
||||
Description:
|
||||
-----------
|
||||
Get the solution times associated with each time step for
|
||||
Get the solution times associated with each time step for
|
||||
desired timeset.
|
||||
|
||||
Specification:
|
||||
@ -2074,7 +2074,7 @@ USERD_get_sol_times
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid
|
||||
timeset_number's would be 1 and 2
|
||||
@ -2110,7 +2110,7 @@ USERD_get_timeset_description -
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid
|
||||
timeset_number's would be 1 and 2
|
||||
@ -2165,14 +2165,14 @@ USERD_get_var_by_component
|
||||
(IN) which_part Since EnSight Version 7.4
|
||||
-------------------------
|
||||
= The part number
|
||||
|
||||
|
||||
(1-based index of part table, namely:
|
||||
|
||||
|
||||
1 ... Numparts_available.
|
||||
|
||||
|
||||
It is NOT the part_id that
|
||||
is loaded in USERD_get_gold_part_build_info)
|
||||
|
||||
|
||||
Prior to EnSight Version 7.4
|
||||
----------------------------
|
||||
= The part id This is the part_id label loaded
|
||||
@ -2207,22 +2207,22 @@ USERD_get_var_by_component
|
||||
|
||||
(IN) imag_data = TRUE if imag component
|
||||
FALSE if real component
|
||||
|
||||
|
||||
(IN) component = The component: (0 if Z_SCALAR)
|
||||
(0 - 2 if Z_VECTOR)
|
||||
(0 - 5 if Z_TENSOR)
|
||||
(0 - 8 if Z_TENSOR9)
|
||||
|
||||
* 6 Symmetric Indicies, 0:5 *
|
||||
|
||||
* 6 Symmetric Indices, 0:5 *
|
||||
* ---------------------------- *
|
||||
* | 11 12 13 | | 0 3 4 | *
|
||||
* | | | | *
|
||||
* T = | 22 23 | = | 1 5 | *
|
||||
* | | | | *
|
||||
* | 33 | | 2 | *
|
||||
|
||||
|
||||
* 9 General Indicies, 0:8 *
|
||||
|
||||
* 9 General Indices, 0:8 *
|
||||
* ---------------------------- *
|
||||
* | 11 12 13 | | 0 3 4 | *
|
||||
* | | | | *
|
||||
@ -2230,7 +2230,7 @@ USERD_get_var_by_component
|
||||
* | | | | *
|
||||
* | 31 32 33 | | 7 8 2 | *
|
||||
|
||||
(OUT) var_array
|
||||
(OUT) var_array
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
(IMPORTANT: this array is 1-based for both Z_PER_NODE and Z_PER_ELEM!!!)
|
||||
@ -2252,7 +2252,7 @@ USERD_get_var_by_component
|
||||
if Z_PER_ELEM: = 1D array containing variable component
|
||||
value for each element of a particular
|
||||
part and type.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
(number_of_elements[which_part][which_type] + 1)
|
||||
long. See USERD_get_gold_part_build_info)
|
||||
@ -2314,7 +2314,7 @@ USERD_get_var_value_at_specific
|
||||
|
||||
If Z_PER_NODE:
|
||||
= The node number. This is not the id, but is
|
||||
the index of the global node
|
||||
the index of the global node
|
||||
list (1 based), or the block's
|
||||
node list (1 based).
|
||||
|
||||
@ -2345,14 +2345,14 @@ USERD_get_var_value_at_specific
|
||||
(IN) which_part Since EnSight Version 7.4
|
||||
-------------------------
|
||||
= The part number
|
||||
|
||||
|
||||
(1-based index of part table, namely:
|
||||
|
||||
|
||||
1 ... Numparts_available.
|
||||
|
||||
|
||||
It is NOT the part_id that
|
||||
is loaded in USERD_get_gold_part_build_info)
|
||||
|
||||
|
||||
Prior to EnSight Version 7.4
|
||||
----------------------------
|
||||
= The part id This is the part_id label loaded
|
||||
@ -2420,8 +2420,8 @@ USERD_set_filenames
|
||||
|
||||
(IN) filename_2 = the filename entered into the result
|
||||
field of the data dialog.
|
||||
(If the two_fields flag in USERD_get_name_of_reader
|
||||
is FALSE, this will be null string)
|
||||
(If the two_fields flag in USERD_get_name_of_reader
|
||||
is FALSE, this will be null string)
|
||||
|
||||
(IN) the_path = the path info from the data dialog.
|
||||
Note: filename_1 and filename_2 have already
|
||||
@ -2470,7 +2470,7 @@ USERD_set_server_number
|
||||
something that you can take advantage of. If your data is already
|
||||
partitioned in some manner, such that you can access the proper
|
||||
portions using this information.
|
||||
|
||||
|
||||
For all non-SOS uses, this will simply be 1 of 1
|
||||
|
||||
|
||||
@ -2496,7 +2496,7 @@ USERD_set_time_set_and_step
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number (1 based).
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid timeset_number's
|
||||
would be 1 and 2.
|
||||
|
||||
@ -57,7 +57,7 @@ Some of its advantages are::
|
||||
Note: A default dummy_gold reader and an Ensight Gold example of this new 2.01
|
||||
user defined reader API has been included with your EnSight release.
|
||||
Also, the SILO and ExodusII_gold reader included in the release
|
||||
utilizes the 2.01 API.
|
||||
utilizes the 2.01 API.
|
||||
****************************************************************************
|
||||
|
||||
|
||||
@ -87,10 +87,10 @@ The process for producing a user defined reader is:
|
||||
You may find it useful to place your library source in this area as
|
||||
well, but are not limited to this location.
|
||||
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
routines are called, which is provided in this file, along with
|
||||
the example libraries, should make it possible for you to produce
|
||||
code for your own data reader.
|
||||
code for your own data reader.
|
||||
|
||||
|
||||
2. Produce the dynamic shared library.
|
||||
@ -138,7 +138,7 @@ The process for producing a user defined reader is:
|
||||
|
||||
If you choose to use a different build environment for your reader,
|
||||
you should take care to use compatible compilation flags to ensure
|
||||
compatibilty with the EnSight executables, most notably on the SGI
|
||||
compatibility with the EnSight executables, most notably on the SGI
|
||||
and HP-UX 11.0 platforms, which should use the following flags:
|
||||
|
||||
sgi_6.2_o32: -mips2
|
||||
@ -232,7 +232,7 @@ The process for producing a user defined reader is:
|
||||
location, and users can set the ENSIGHT7_READER variable to access them:
|
||||
|
||||
setenv ENSIGHT7_READER /usr/local/lib/e7readers
|
||||
|
||||
|
||||
A user working on a new reader may compile the reader and place it in
|
||||
a directory specified by the library path:
|
||||
|
||||
@ -277,7 +277,7 @@ USERD_get_block_ghost_flags block ghost cell flags
|
||||
These routines, which formerly were only for unstructured data, will now
|
||||
also be called for structured data if you specify that ids will be given
|
||||
in the USERD_get_node_label_status and USERD_get_element_label_status rotuines
|
||||
------------------------------------------------------------------------------
|
||||
------------------------------------------------------------------------------
|
||||
USERD_get_part_node_ids part's node ids
|
||||
USERD_get_part_element_ids_by_type part's element ids
|
||||
|
||||
@ -334,7 +334,7 @@ Order Routines are called
|
||||
|
||||
The various main operations are given basically in the order they will
|
||||
be performed. Within each operation, the order the routines will be
|
||||
called is given.
|
||||
called is given.
|
||||
|
||||
1. Setting name in the gui, and specifying one or two input fields
|
||||
|
||||
@ -381,7 +381,7 @@ called is given.
|
||||
|
||||
USERD_get_number_of_variables
|
||||
USERD_get_gold_variable_info
|
||||
|
||||
|
||||
6. Part building (per part created)
|
||||
|
||||
both unstructured and structured:
|
||||
@ -412,12 +412,12 @@ called is given.
|
||||
dialog is closed)
|
||||
|
||||
7. Loading Variables
|
||||
|
||||
|
||||
constants:
|
||||
---------
|
||||
USERD_set_time_set_and_step
|
||||
USERD_get_constant_val
|
||||
|
||||
|
||||
scalars/vectors/tensors:
|
||||
------------------------
|
||||
USERD_get_descrip_lines
|
||||
@ -457,7 +457,7 @@ called is given.
|
||||
USERD_get_border_availability (If border representation
|
||||
USERD_get_border_elements_by_type is selected)
|
||||
|
||||
|
||||
|
||||
9. Node or Element queries over time
|
||||
|
||||
USERD_get_var_value_at_specific
|
||||
@ -470,7 +470,7 @@ Detailed Specifications
|
||||
Include files:
|
||||
--------------
|
||||
The following header file is required in any file containing these library
|
||||
routines.
|
||||
routines.
|
||||
|
||||
#include "global_extern.h"
|
||||
|
||||
@ -711,24 +711,24 @@ USERD_get_block_ghost_flags
|
||||
|
||||
(OUT) ghost_flags = 1D array containing ghost flag value
|
||||
for each block cell.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
(i-1)*(j-1)*(k-1) for the block long)
|
||||
|
||||
|
||||
possible values are: 0 = non-ghost cell (normal cell)
|
||||
>0 = ghost cell
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* This routine is new in the 2.01 API
|
||||
|
||||
* This will be based on Current_time_step
|
||||
|
||||
|
||||
* Only called for structured "block" parts that have some ghost cells
|
||||
as indicated by the USERD_get_ghost_in_block_flag. The model must
|
||||
of course also have been indicated to have some ghost cells in the
|
||||
USERD_get_ghost_in_model_flag routine.
|
||||
|
||||
|
||||
* It is sufficient to set the value to be 1 to flag as a ghost cell,
|
||||
but the value can be any non-zero value, so you could use it to
|
||||
indicate which block or which server (for Server-of-server use) the
|
||||
@ -796,7 +796,7 @@ USERD_get_border_elements_by_type
|
||||
|
||||
Description:
|
||||
-----------
|
||||
Provides border element connectivity and parent information.
|
||||
Provides border element connectivity and parent information.
|
||||
|
||||
Specification:
|
||||
-------------
|
||||
@ -865,7 +865,7 @@ USERD_get_border_elements_by_type
|
||||
(Array will have been allocated
|
||||
num_of_elements of the type long)
|
||||
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* Not called unless USERD_get_border_availability returned Z_OK
|
||||
@ -967,7 +967,7 @@ USERD_get_dataset_query_file_info
|
||||
(Typically obtained with a call to the
|
||||
"stat" system routine) (Is a long)
|
||||
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
(Z_MAXTIMLEN is the dimensioned length
|
||||
of this string)
|
||||
(Typically obtained with a call to the
|
||||
@ -1074,7 +1074,7 @@ USERD_get_element_label_status
|
||||
on a per part, per type basis, if TRUE status is returned here.
|
||||
|
||||
For structured parts, EnSight will assign ids if you return a
|
||||
status of TRUE here. You cannot assign them youself!!
|
||||
status of TRUE here. You cannot assign them yourself!!
|
||||
|
||||
* Starting at API 2.01:
|
||||
--------------------
|
||||
@ -1101,7 +1101,7 @@ USERD_get_geom_timeset_number -
|
||||
|
||||
Returns:
|
||||
-------
|
||||
Geom_timeset_number = The timeset number that will be used for geometry.
|
||||
Geom_timeset_number = The timeset number that will be used for geometry.
|
||||
For example, if USERD_get_number_of timesets
|
||||
returns 2, the valid timeset numbers would be
|
||||
1 or 2.
|
||||
@ -1217,7 +1217,7 @@ USERD_get_gold_part_build_info
|
||||
long)
|
||||
|
||||
(OUT) number_of_nodes = Number of unstructured nodes in the part
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Numparts_available long)
|
||||
|
||||
@ -1366,23 +1366,23 @@ USERD_get_gold_variable_info
|
||||
Z_PER_ELEM
|
||||
|
||||
(OUT) var_complex = TRUE if complex, FALSE otherwise
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
|
||||
(OUT) var_ifilename = Variable imaginary filenames (if complex)
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables by Z_BUFL long)
|
||||
|
||||
(OUT) var_freq = complex frequency (if complex)
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
|
||||
(OUT) var_contran = TRUE if constant changes per time step
|
||||
FALSE if constant truly same at all time steps
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
@ -1456,7 +1456,7 @@ USERD_get_ghosts_in_block_flag
|
||||
-----
|
||||
* This routine is new in the 2.01 API
|
||||
* This will be based on Current_time_step
|
||||
|
||||
|
||||
* Intended for structured parts only, value will be ignored for
|
||||
unstructured parts
|
||||
|
||||
@ -1495,7 +1495,7 @@ USERD_get_maxsize_info
|
||||
---------
|
||||
(OUT) max_number_of_nodes = Maximum number of unstructured nodes
|
||||
in the part (over all time).
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Numparts_available long)
|
||||
|
||||
@ -1591,7 +1591,7 @@ USERD_get_ghosts_in_model_flag
|
||||
|
||||
Arguments:
|
||||
---------
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* This routine is new in the 2.01 API
|
||||
@ -1643,7 +1643,7 @@ USERD_get_name_of_reader
|
||||
Specification:
|
||||
-------------
|
||||
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
|
||||
int *two_fields)
|
||||
int *two_fields)
|
||||
|
||||
Returns:
|
||||
-------
|
||||
@ -1656,8 +1656,8 @@ USERD_get_name_of_reader
|
||||
(max length is Z_MAX_USERD_NAME, which is 20)
|
||||
|
||||
(OUT) *two_fields = FALSE if only one data field required
|
||||
in the data dialog of EnSight.
|
||||
TRUE if two data fields required.
|
||||
in the data dialog of EnSight.
|
||||
TRUE if two data fields required.
|
||||
|
||||
Notes:
|
||||
-----
|
||||
@ -1846,37 +1846,37 @@ USERD_get_number_of_timesets
|
||||
|
||||
* If you have a static model, both geometry and variables, you should
|
||||
return a value of zero.
|
||||
|
||||
|
||||
* If you have a transient model, then you should return one or more.
|
||||
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
Geometry Variables No. of timesets
|
||||
--------- ------------------------------ ---------------
|
||||
static static 0
|
||||
static transient, all using same timeset 1
|
||||
|
||||
|
||||
transient transient, all using same timeset as geom 1
|
||||
|
||||
|
||||
static transient, using 3 different timesets 3
|
||||
|
||||
|
||||
transient transient, using 3 different timesets and
|
||||
none of them the same as the
|
||||
geometry timeset 4
|
||||
etc.
|
||||
|
||||
|
||||
NOTE: ALL GEOMETRY MUST USE THE SAME TIMESET!!! You will have to provide
|
||||
the timeset number to use
|
||||
for geometry in:
|
||||
USERD_get_geom_timeset_number
|
||||
|
||||
|
||||
Variables can use the same timeset as the geometry, or can use
|
||||
other timesets. More than one variable can use the same timeset.
|
||||
|
||||
|
||||
example: changing geometry at 5 steps, 0.0, 1.0, 2.0, 3.0, 4.0
|
||||
variable 1 provided at these same five steps
|
||||
variable 2 provided at 3 steps, 0.5, 1.25, 3.33
|
||||
|
||||
|
||||
This routine should return a value of 2, because only
|
||||
two different timesets are needed. Timeset 1 would be for the
|
||||
geometry and variable 1 (they both use it). Timeset 2 would
|
||||
@ -2158,7 +2158,7 @@ USERD_get_part_elements_by_type
|
||||
conn_array[100][4] when called with Z_QUA04
|
||||
|
||||
conn_array[30][8] when called with Z_HEX08
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* Not called unless Num_unstructured_parts is > 0
|
||||
@ -2291,7 +2291,7 @@ USERD_get_sol_times
|
||||
|
||||
Description:
|
||||
-----------
|
||||
Get the solution times associated with each time step for
|
||||
Get the solution times associated with each time step for
|
||||
desired timeset.
|
||||
|
||||
Specification:
|
||||
@ -2307,7 +2307,7 @@ USERD_get_sol_times
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid
|
||||
timeset_number's would be 1 and 2
|
||||
@ -2343,7 +2343,7 @@ USERD_get_timeset_description -
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid
|
||||
timeset_number's would be 1 and 2
|
||||
@ -2456,22 +2456,22 @@ USERD_get_var_by_component
|
||||
|
||||
(IN) imag_data = TRUE if imag component
|
||||
FALSE if real component
|
||||
|
||||
|
||||
(IN) component = The component: (0 if Z_SCALAR)
|
||||
(0 - 2 if Z_VECTOR)
|
||||
(0 - 5 if Z_TENSOR)
|
||||
(0 - 8 if Z_TENSOR9)
|
||||
|
||||
* 6 Symmetric Indicies, 0:5 *
|
||||
|
||||
* 6 Symmetric Indices, 0:5 *
|
||||
* ---------------------------- *
|
||||
* | 11 12 13 | | 0 3 4 | *
|
||||
* | | | | *
|
||||
* T = | 22 23 | = | 1 5 | *
|
||||
* | | | | *
|
||||
* | 33 | | 2 | *
|
||||
|
||||
|
||||
* 9 General Indicies, 0:8 *
|
||||
|
||||
* 9 General Indices, 0:8 *
|
||||
* ---------------------------- *
|
||||
* | 11 12 13 | | 0 3 4 | *
|
||||
* | | | | *
|
||||
@ -2479,7 +2479,7 @@ USERD_get_var_by_component
|
||||
* | | | | *
|
||||
* | 31 32 33 | | 7 8 2 | *
|
||||
|
||||
(OUT) var_array
|
||||
(OUT) var_array
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
(IMPORTANT: this array is 1-based for both Z_PER_NODE and Z_PER_ELEM!!!)
|
||||
@ -2501,7 +2501,7 @@ USERD_get_var_by_component
|
||||
if Z_PER_ELEM: = 1D array containing variable component
|
||||
value for each element of a particular
|
||||
part and type.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
(number_of_elements[which_part][which_type] + 1)
|
||||
long. See USERD_get_gold_part_build_info)
|
||||
@ -2563,7 +2563,7 @@ USERD_get_var_value_at_specific
|
||||
|
||||
If Z_PER_NODE:
|
||||
= The node number. This is not the id, but is
|
||||
the index of the global node
|
||||
the index of the global node
|
||||
list (1 based), or the block's
|
||||
node list (1 based).
|
||||
|
||||
@ -2670,8 +2670,8 @@ USERD_set_filenames
|
||||
|
||||
(IN) filename_2 = the filename entered into the result
|
||||
field of the data dialog.
|
||||
(If the two_fields flag in USERD_get_name_of_reader
|
||||
is FALSE, this will be null string)
|
||||
(If the two_fields flag in USERD_get_name_of_reader
|
||||
is FALSE, this will be null string)
|
||||
|
||||
(IN) the_path = the path info from the data dialog.
|
||||
Note: filename_1 and filename_2 have already
|
||||
@ -2720,7 +2720,7 @@ USERD_set_server_number
|
||||
something that you can take advantage of. If your data is already
|
||||
partitioned in some manner, such that you can access the proper
|
||||
portions using this information.
|
||||
|
||||
|
||||
For all non-SOS uses, this will simply be 1 of 1
|
||||
|
||||
|
||||
@ -2746,7 +2746,7 @@ USERD_set_time_set_and_step
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number (1 based).
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid timeset_number's
|
||||
would be 1 and 2.
|
||||
|
||||
@ -52,10 +52,10 @@ The process for producing a user defined reader is:
|
||||
You may find it useful to place your library source in this area as
|
||||
well, but are not limited to this location.
|
||||
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
routines are called, which is provided in this file, along with
|
||||
the example libraries, should make it possible for you to produce
|
||||
code for your own data reader.
|
||||
code for your own data reader.
|
||||
|
||||
|
||||
2. Produce the dynamic shared library.
|
||||
@ -103,7 +103,7 @@ The process for producing a user defined reader is:
|
||||
|
||||
If you choose to use a different build environment for your reader,
|
||||
you should take care to use compatible compilation flags to ensure
|
||||
compatibilty with the EnSight executables, most notably on the SGI
|
||||
compatibility with the EnSight executables, most notably on the SGI
|
||||
and HP-UX 11.0 platforms, which should use the following flags:
|
||||
|
||||
sgi_6.2_o32: -mips2
|
||||
@ -197,7 +197,7 @@ The process for producing a user defined reader is:
|
||||
location, and users can set the ENSIGHT7_READER variable to access them:
|
||||
|
||||
setenv ENSIGHT7_READER /usr/local/lib/e7readers
|
||||
|
||||
|
||||
A user working on a new reader may compile the reader and place it in
|
||||
a directory specified by the library path:
|
||||
|
||||
@ -242,7 +242,7 @@ USERD_get_block_ghost_flags block ghost cell flags
|
||||
These routines, which formerly were only for unstructured data, will now
|
||||
also be called for structured data if you specify that ids will be given
|
||||
in the USERD_get_node_label_status and USERD_get_element_label_status rotuines
|
||||
------------------------------------------------------------------------------
|
||||
------------------------------------------------------------------------------
|
||||
USERD_get_part_node_ids part's node ids
|
||||
USERD_get_part_element_ids_by_type part's element ids
|
||||
|
||||
@ -323,7 +323,7 @@ Order Routines are called
|
||||
|
||||
The various main operations are given basically in the order they will
|
||||
be performed. Within each operation, the order the routines will be
|
||||
called is given.
|
||||
called is given.
|
||||
|
||||
1. Setting name in the gui, and specifying one or two input fields
|
||||
|
||||
@ -370,7 +370,7 @@ called is given.
|
||||
|
||||
USERD_get_number_of_variables
|
||||
USERD_get_gold_variable_info
|
||||
|
||||
|
||||
6. Part building (per part created)
|
||||
|
||||
both unstructured and structured:
|
||||
@ -411,12 +411,12 @@ called is given.
|
||||
dialog is closed)
|
||||
|
||||
7. Loading Variables
|
||||
|
||||
|
||||
constants:
|
||||
---------
|
||||
USERD_set_time_set_and_step
|
||||
USERD_get_constant_val
|
||||
|
||||
|
||||
scalars/vectors/tensors:
|
||||
------------------------
|
||||
USERD_get_descrip_lines
|
||||
@ -456,7 +456,7 @@ called is given.
|
||||
USERD_get_border_availability (If border representation
|
||||
USERD_get_border_elements_by_type is selected)
|
||||
|
||||
|
||||
|
||||
9. Node or Element queries over time
|
||||
|
||||
USERD_get_var_value_at_specific
|
||||
@ -489,7 +489,7 @@ Detailed Specifications
|
||||
Include files:
|
||||
--------------
|
||||
The following header file is required in any file containing these library
|
||||
routines.
|
||||
routines.
|
||||
|
||||
#include "global_extern.h"
|
||||
|
||||
@ -736,24 +736,24 @@ USERD_get_block_ghost_flags
|
||||
|
||||
(OUT) ghost_flags = 1D array containing ghost flag value
|
||||
for each block cell.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
(i-1)*(j-1)*(k-1) for the block long)
|
||||
|
||||
|
||||
possible values are: 0 = non-ghost cell (normal cell)
|
||||
>0 = ghost cell
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* This routine is new in the 2.01 API
|
||||
|
||||
* This will be based on Current_time_step
|
||||
|
||||
|
||||
* Only called for structured "block" parts that have some ghost cells
|
||||
as indicated by the USERD_get_ghost_in_block_flag. The model must
|
||||
of course also have been indicated to have some ghost cells in the
|
||||
USERD_get_ghost_in_model_flag routine.
|
||||
|
||||
|
||||
* It is sufficient to set the value to be 1 to flag as a ghost cell,
|
||||
but the value can be any non-zero value, so you could use it to
|
||||
indicate which block or which server (for Server-of-server use) the
|
||||
@ -821,7 +821,7 @@ USERD_get_border_elements_by_type
|
||||
|
||||
Description:
|
||||
-----------
|
||||
Provides border element connectivity and parent information.
|
||||
Provides border element connectivity and parent information.
|
||||
|
||||
Specification:
|
||||
-------------
|
||||
@ -890,7 +890,7 @@ USERD_get_border_elements_by_type
|
||||
(Array will have been allocated
|
||||
num_of_elements of the type long)
|
||||
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* Not called unless USERD_get_border_availability returned Z_OK
|
||||
@ -992,7 +992,7 @@ USERD_get_dataset_query_file_info
|
||||
(Typically obtained with a call to the
|
||||
"stat" system routine) (Is a long)
|
||||
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
(Z_MAXTIMLEN is the dimensioned length
|
||||
of this string)
|
||||
(Typically obtained with a call to the
|
||||
@ -1099,7 +1099,7 @@ USERD_get_element_label_status
|
||||
on a per part, per type basis, if TRUE status is returned here.
|
||||
|
||||
For structured parts, EnSight will assign ids if you return a
|
||||
status of TRUE here. You cannot assign them youself!!
|
||||
status of TRUE here. You cannot assign them yourself!!
|
||||
|
||||
* Starting at API 2.01:
|
||||
--------------------
|
||||
@ -1126,7 +1126,7 @@ USERD_get_geom_timeset_number -
|
||||
|
||||
Returns:
|
||||
-------
|
||||
Geom_timeset_number = The timeset number that will be used for geometry.
|
||||
Geom_timeset_number = The timeset number that will be used for geometry.
|
||||
For example, if USERD_get_number_of timesets
|
||||
returns 2, the valid timeset numbers would be
|
||||
1 or 2.
|
||||
@ -1242,7 +1242,7 @@ USERD_get_gold_part_build_info
|
||||
long)
|
||||
|
||||
(OUT) number_of_nodes = Number of unstructured nodes in the part
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Numparts_available long)
|
||||
|
||||
@ -1525,23 +1525,23 @@ USERD_get_gold_variable_info
|
||||
Z_PER_ELEM
|
||||
|
||||
(OUT) var_complex = TRUE if complex, FALSE otherwise
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
|
||||
(OUT) var_ifilename = Variable imaginary filenames (if complex)
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables by Z_BUFL long)
|
||||
|
||||
(OUT) var_freq = complex frequency (if complex)
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
|
||||
(OUT) var_contran = TRUE if constant changes per time step
|
||||
FALSE if constant truly same at all time steps
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
@ -1615,7 +1615,7 @@ USERD_get_ghosts_in_block_flag
|
||||
-----
|
||||
* This routine is new in the 2.01 API
|
||||
* This will be based on Current_time_step
|
||||
|
||||
|
||||
* Intended for structured parts only, value will be ignored for
|
||||
unstructured parts
|
||||
|
||||
@ -1639,7 +1639,7 @@ USERD_get_ghosts_in_model_flag
|
||||
|
||||
Arguments:
|
||||
---------
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* This routine is new in the 2.01 API
|
||||
@ -1754,7 +1754,7 @@ USERD_get_maxsize_info
|
||||
---------
|
||||
(OUT) max_number_of_nodes = Maximum number of unstructured nodes
|
||||
in the part (over all time).
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Numparts_available long)
|
||||
|
||||
@ -1877,7 +1877,7 @@ USERD_get_name_of_reader
|
||||
Specification:
|
||||
-------------
|
||||
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
|
||||
int *two_fields)
|
||||
int *two_fields)
|
||||
|
||||
Returns:
|
||||
-------
|
||||
@ -1890,8 +1890,8 @@ USERD_get_name_of_reader
|
||||
(max length is Z_MAX_USERD_NAME, which is 20)
|
||||
|
||||
(OUT) *two_fields = FALSE if only one data field required
|
||||
in the data dialog of EnSight.
|
||||
TRUE if two data fields required.
|
||||
in the data dialog of EnSight.
|
||||
TRUE if two data fields required.
|
||||
|
||||
Notes:
|
||||
-----
|
||||
@ -2709,37 +2709,37 @@ USERD_get_number_of_timesets
|
||||
|
||||
* If you have a static model, both geometry and variables, you should
|
||||
return a value of zero.
|
||||
|
||||
|
||||
* If you have a transient model, then you should return one or more.
|
||||
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
Geometry Variables No. of timesets
|
||||
--------- ------------------------------ ---------------
|
||||
static static 0
|
||||
static transient, all using same timeset 1
|
||||
|
||||
|
||||
transient transient, all using same timeset as geom 1
|
||||
|
||||
|
||||
static transient, using 3 different timesets 3
|
||||
|
||||
|
||||
transient transient, using 3 different timesets and
|
||||
none of them the same as the
|
||||
geometry timeset 4
|
||||
etc.
|
||||
|
||||
|
||||
NOTE: ALL GEOMETRY MUST USE THE SAME TIMESET!!! You will have to provide
|
||||
the timeset number to use
|
||||
for geometry in:
|
||||
USERD_get_geom_timeset_number
|
||||
|
||||
|
||||
Variables can use the same timeset as the geometry, or can use
|
||||
other timesets. More than one variable can use the same timeset.
|
||||
|
||||
|
||||
example: changing geometry at 5 steps, 0.0, 1.0, 2.0, 3.0, 4.0
|
||||
variable 1 provided at these same five steps
|
||||
variable 2 provided at 3 steps, 0.5, 1.25, 3.33
|
||||
|
||||
|
||||
This routine should return a value of 2, because only
|
||||
two different timesets are needed. Timeset 1 would be for the
|
||||
geometry and variable 1 (they both use it). Timeset 2 would
|
||||
@ -3021,7 +3021,7 @@ USERD_get_part_elements_by_type
|
||||
conn_array[100][4] when called with Z_QUA04
|
||||
|
||||
conn_array[30][8] when called with Z_HEX08
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* Not called unless Num_unstructured_parts is > 0
|
||||
@ -3155,7 +3155,7 @@ USERD_get_sol_times
|
||||
|
||||
Description:
|
||||
-----------
|
||||
Get the solution times associated with each time step for
|
||||
Get the solution times associated with each time step for
|
||||
desired timeset.
|
||||
|
||||
Specification:
|
||||
@ -3171,7 +3171,7 @@ USERD_get_sol_times
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid
|
||||
timeset_number's would be 1 and 2
|
||||
@ -3207,7 +3207,7 @@ USERD_get_timeset_description -
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid
|
||||
timeset_number's would be 1 and 2
|
||||
@ -3320,22 +3320,22 @@ USERD_get_var_by_component
|
||||
|
||||
(IN) imag_data = TRUE if imag component
|
||||
FALSE if real component
|
||||
|
||||
|
||||
(IN) component = The component: (0 if Z_SCALAR)
|
||||
(0 - 2 if Z_VECTOR)
|
||||
(0 - 5 if Z_TENSOR)
|
||||
(0 - 8 if Z_TENSOR9)
|
||||
|
||||
* 6 Symmetric Indicies, 0:5 *
|
||||
|
||||
* 6 Symmetric Indices, 0:5 *
|
||||
* ---------------------------- *
|
||||
* | 11 12 13 | | 0 3 4 | *
|
||||
* | | | | *
|
||||
* T = | 22 23 | = | 1 5 | *
|
||||
* | | | | *
|
||||
* | 33 | | 2 | *
|
||||
|
||||
|
||||
* 9 General Indicies, 0:8 *
|
||||
|
||||
* 9 General Indices, 0:8 *
|
||||
* ---------------------------- *
|
||||
* | 11 12 13 | | 0 3 4 | *
|
||||
* | | | | *
|
||||
@ -3343,7 +3343,7 @@ USERD_get_var_by_component
|
||||
* | | | | *
|
||||
* | 31 32 33 | | 7 8 2 | *
|
||||
|
||||
(OUT) var_array
|
||||
(OUT) var_array
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
(IMPORTANT: this array is 1-based for both Z_PER_NODE and Z_PER_ELEM!!!)
|
||||
@ -3365,7 +3365,7 @@ USERD_get_var_by_component
|
||||
if Z_PER_ELEM: = 1D array containing variable component
|
||||
value for each element of a particular
|
||||
part and type.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
(number_of_elements[which_part][which_type] + 1)
|
||||
long. See USERD_get_gold_part_build_info)
|
||||
@ -3427,7 +3427,7 @@ USERD_get_var_value_at_specific
|
||||
|
||||
If Z_PER_NODE:
|
||||
= The node number. This is not the id, but is
|
||||
the index of the global node
|
||||
the index of the global node
|
||||
list (1 based), or the block's
|
||||
node list (1 based).
|
||||
|
||||
@ -3636,8 +3636,8 @@ USERD_set_filenames
|
||||
|
||||
(IN) filename_2 = the filename entered into the result
|
||||
field of the data dialog.
|
||||
(If the two_fields flag in USERD_get_name_of_reader
|
||||
is FALSE, this will be null string)
|
||||
(If the two_fields flag in USERD_get_name_of_reader
|
||||
is FALSE, this will be null string)
|
||||
|
||||
(IN) the_path = the path info from the data dialog.
|
||||
Note: filename_1 and filename_2 have already
|
||||
@ -3686,7 +3686,7 @@ USERD_set_server_number
|
||||
something that you can take advantage of. If your data is already
|
||||
partitioned in some manner, such that you can access the proper
|
||||
portions using this information.
|
||||
|
||||
|
||||
For all non-SOS uses, this will simply be 1 of 1
|
||||
|
||||
|
||||
@ -3712,7 +3712,7 @@ USERD_set_time_set_and_step
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number (1 based).
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid timeset_number's
|
||||
would be 1 and 2.
|
||||
|
||||
@ -40,10 +40,10 @@ reader itself. (Can actually be added to pre-2.05 readers)
|
||||
|
||||
|
||||
***>> API 2.04 additional capabilities (beyond API 2.03):
|
||||
Routines to handle failed elements. Basically
|
||||
a.One routine to return a flag indicating the existence of
|
||||
failed elements in at least one part in at least one
|
||||
timestep in the model.
|
||||
Routines to handle failed elements. Basically
|
||||
a.One routine to return a flag indicating the existence of
|
||||
failed elements in at least one part in at least one
|
||||
timestep in the model.
|
||||
b.A second routine to return a matrix of flags indexed by part and
|
||||
element type indicating which parts and element types have failed
|
||||
elements at the current time step.
|
||||
@ -60,7 +60,7 @@ c.Finally a third routine to return an array of flags for a given
|
||||
|
||||
****************************************************************************
|
||||
Note: The dummy_gold reader, the Ensight Gold example reader, the
|
||||
ABAQUS_ODB reader and the LS-DYNA reader have been moved to
|
||||
ABAQUS_ODB reader and the LS-DYNA reader have been moved to
|
||||
this 2.04 API level.
|
||||
****************************************************************************
|
||||
|
||||
@ -91,10 +91,10 @@ The process for producing a user defined reader is:
|
||||
You may find it useful to place your library source in this area as
|
||||
well, but are not limited to this location.
|
||||
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
routines are called, which is provided in this file, along with
|
||||
the example libraries, should make it possible for you to produce
|
||||
code for your own data reader.
|
||||
code for your own data reader.
|
||||
|
||||
|
||||
2. Produce the dynamic shared library.
|
||||
@ -142,7 +142,7 @@ The process for producing a user defined reader is:
|
||||
|
||||
If you choose to use a different build environment for your reader,
|
||||
you should take care to use compatible compilation flags to ensure
|
||||
compatibilty with the EnSight executables, most notably on the SGI
|
||||
compatibility with the EnSight executables, most notably on the SGI
|
||||
and HP-UX 11.0 platforms, which should use the following flags:
|
||||
|
||||
sgi_6.2_o32: -mips2
|
||||
@ -236,7 +236,7 @@ The process for producing a user defined reader is:
|
||||
location, and users can set the ENSIGHT7_READER variable to access them:
|
||||
|
||||
setenv ENSIGHT7_READER /usr/local/lib/e7readers
|
||||
|
||||
|
||||
A user working on a new reader may compile the reader and place it in
|
||||
a directory specified by the library path:
|
||||
|
||||
@ -281,7 +281,7 @@ USERD_get_block_ghost_flags block ghost cell flags
|
||||
These routines, which formerly were only for unstructured data, will now
|
||||
also be called for structured data if you specify that ids will be given
|
||||
in the USERD_get_node_label_status and USERD_get_element_label_status rotuines
|
||||
------------------------------------------------------------------------------
|
||||
------------------------------------------------------------------------------
|
||||
USERD_get_part_node_ids part's node ids
|
||||
USERD_get_part_element_ids_by_type part's element ids
|
||||
|
||||
@ -359,7 +359,7 @@ USERD_exit_routine cleanup upon exit routine
|
||||
---------------------------
|
||||
Optional Extra GUI Info
|
||||
Adds Toggle(s), Pulldown(s) Field(s)
|
||||
that can be used for additonal input
|
||||
that can be used for additional input
|
||||
---------------------------
|
||||
USERD_get_extra_gui_numbers Gets the number of toggles, pulldowns and fields
|
||||
USERD_get_extra_gui_defaults Gets the default values for the GUI members
|
||||
@ -379,7 +379,7 @@ New at 2.04
|
||||
|
||||
/* ----------------------------------------------------------
|
||||
*
|
||||
* Failure criteria in LS-DYNA
|
||||
* Failure criteria in LS-DYNA
|
||||
* if fail flag == threshold_val1 (0.0) then element fails
|
||||
* logic_criteria2 not used
|
||||
* threshold_val2 not used
|
||||
@ -412,7 +412,7 @@ int USERD_get_uns_failed_params(
|
||||
Z_EQUAL_TO */
|
||||
int *threshold_operator2, /* Z_GREATER_THAN, Z_LESS_THAN,
|
||||
Z_EQUAL_TO */
|
||||
int *logic_criteria2
|
||||
int *logic_criteria2
|
||||
|
||||
|
||||
-------------------------
|
||||
@ -421,14 +421,14 @@ Order Routines are called
|
||||
|
||||
The various main operations are given basically in the order they will
|
||||
be performed. Within each operation, the order the routines will be
|
||||
called is given.
|
||||
called is given.
|
||||
|
||||
1. Setting name in the gui, and specifying one or two input fields
|
||||
|
||||
USERD_get_name_of_reader
|
||||
USERD_get_reader_descrip (optional)
|
||||
USERD_get_extra_gui_numbers (optional)
|
||||
USERD_get_extra_gui_defaults (optional)
|
||||
USERD_get_extra_gui_defaults (optional)
|
||||
|
||||
2. Getting the reader version (also distinguishes between API's)
|
||||
|
||||
@ -437,7 +437,7 @@ called is given.
|
||||
3. Setting filenames and getting timeset and time info
|
||||
|
||||
USERD_set_server_number
|
||||
USERD_set_extra_gui_data (optional)
|
||||
USERD_set_extra_gui_data (optional)
|
||||
USERD_set_filenames
|
||||
USERD_get_number_of_timesets
|
||||
USERD_get_geom_timeset_number
|
||||
@ -459,7 +459,7 @@ called is given.
|
||||
USERD_get_dataset_query_file_info
|
||||
USERD_get_descrip_lines (for geometry)
|
||||
USERD_get_number_of_model_parts
|
||||
USERD_get_uns_failed_model_flag
|
||||
USERD_get_uns_failed_model_flag
|
||||
USERD_get_gold_part_build_info
|
||||
USERD_get_uns_failed_etype_flags
|
||||
USERD_get_ghosts_in_model_flag
|
||||
@ -473,7 +473,7 @@ called is given.
|
||||
|
||||
USERD_get_number_of_variables
|
||||
USERD_get_gold_variable_info
|
||||
|
||||
|
||||
6. Part building (per part created)
|
||||
|
||||
both unstructured and structured:
|
||||
@ -515,12 +515,12 @@ called is given.
|
||||
dialog is closed)
|
||||
|
||||
7. Loading Variables
|
||||
|
||||
|
||||
constants:
|
||||
---------
|
||||
USERD_set_time_set_and_step
|
||||
USERD_get_constant_val
|
||||
|
||||
|
||||
scalars/vectors/tensors:
|
||||
------------------------
|
||||
USERD_get_descrip_lines
|
||||
@ -534,9 +534,9 @@ called is given.
|
||||
USERD_set_time_set_and_step
|
||||
USERD_get_descrip_lines
|
||||
USERD_get_part_coords
|
||||
USERD_get_uns_failed_model_flag
|
||||
USERD_get_uns_failed_etype_flags
|
||||
USERD_get_uns_failed_elist_flags
|
||||
USERD_get_uns_failed_model_flag
|
||||
USERD_get_uns_failed_etype_flags
|
||||
USERD_get_uns_failed_elist_flags
|
||||
USERD_get_block_coords_by_component
|
||||
|
||||
changing connectivity (per part):
|
||||
@ -566,7 +566,7 @@ called is given.
|
||||
USERD_get_border_availability (If border representation
|
||||
USERD_get_border_elements_by_type is selected)
|
||||
|
||||
|
||||
|
||||
9. Node or Element queries over time
|
||||
|
||||
USERD_get_var_value_at_specific
|
||||
@ -606,7 +606,7 @@ Detailed Specifications
|
||||
Include files:
|
||||
--------------
|
||||
The following header file is required in any file containing these library
|
||||
routines.
|
||||
routines.
|
||||
|
||||
#include "global_extern.h"
|
||||
|
||||
@ -853,24 +853,24 @@ USERD_get_block_ghost_flags
|
||||
|
||||
(OUT) ghost_flags = 1D array containing ghost flag value
|
||||
for each block cell.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
(i-1)*(j-1)*(k-1) for the block long)
|
||||
|
||||
|
||||
possible values are: 0 = non-ghost cell (normal cell)
|
||||
>0 = ghost cell
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* This routine is new in the 2.01 API
|
||||
|
||||
* This will be based on Current_time_step
|
||||
|
||||
|
||||
* Only called for structured "block" parts that have some ghost cells
|
||||
as indicated by the USERD_get_ghost_in_block_flag. The model must
|
||||
of course also have been indicated to have some ghost cells in the
|
||||
USERD_get_ghost_in_model_flag routine.
|
||||
|
||||
|
||||
* It is sufficient to set the value to be 1 to flag as a ghost cell,
|
||||
but the value can be any non-zero value, so you could use it to
|
||||
indicate which block or which server (for Server-of-server use) the
|
||||
@ -938,7 +938,7 @@ USERD_get_border_elements_by_type
|
||||
|
||||
Description:
|
||||
-----------
|
||||
Provides border element connectivity and parent information.
|
||||
Provides border element connectivity and parent information.
|
||||
|
||||
Specification:
|
||||
-------------
|
||||
@ -1007,7 +1007,7 @@ USERD_get_border_elements_by_type
|
||||
(Array will have been allocated
|
||||
num_of_elements of the type long)
|
||||
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* Not called unless USERD_get_border_availability returned Z_OK
|
||||
@ -1109,7 +1109,7 @@ USERD_get_dataset_query_file_info
|
||||
(Typically obtained with a call to the
|
||||
"stat" system routine) (Is a long)
|
||||
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
(Z_MAXTIMLEN is the dimensioned length
|
||||
of this string)
|
||||
(Typically obtained with a call to the
|
||||
@ -1216,7 +1216,7 @@ USERD_get_element_label_status
|
||||
on a per part, per type basis, if TRUE status is returned here.
|
||||
|
||||
For structured parts, EnSight will assign ids if you return a
|
||||
status of TRUE here. You cannot assign them youself!!
|
||||
status of TRUE here. You cannot assign them yourself!!
|
||||
|
||||
* Starting at API 2.01:
|
||||
--------------------
|
||||
@ -1243,7 +1243,7 @@ USERD_get_geom_timeset_number -
|
||||
|
||||
Returns:
|
||||
-------
|
||||
Geom_timeset_number = The timeset number that will be used for geometry.
|
||||
Geom_timeset_number = The timeset number that will be used for geometry.
|
||||
For example, if USERD_get_number_of timesets
|
||||
returns 2, the valid timeset numbers would be
|
||||
1 or 2.
|
||||
@ -1359,7 +1359,7 @@ USERD_get_gold_part_build_info
|
||||
long)
|
||||
|
||||
(OUT) number_of_nodes = Number of unstructured nodes in the part
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Numparts_available long)
|
||||
|
||||
@ -1642,23 +1642,23 @@ USERD_get_gold_variable_info
|
||||
Z_PER_ELEM
|
||||
|
||||
(OUT) var_complex = TRUE if complex, FALSE otherwise
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
|
||||
(OUT) var_ifilename = Variable imaginary filenames (if complex)
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables by Z_BUFL long)
|
||||
|
||||
(OUT) var_freq = complex frequency (if complex)
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
|
||||
(OUT) var_contran = TRUE if constant changes per time step
|
||||
FALSE if constant truly same at all time steps
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
@ -1732,7 +1732,7 @@ USERD_get_ghosts_in_block_flag
|
||||
-----
|
||||
* This routine is new in the 2.01 API
|
||||
* This will be based on Current_time_step
|
||||
|
||||
|
||||
* Intended for structured parts only, value will be ignored for
|
||||
unstructured parts
|
||||
|
||||
@ -1756,7 +1756,7 @@ USERD_get_ghosts_in_model_flag
|
||||
|
||||
Arguments:
|
||||
---------
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* This routine is new in the 2.01 API
|
||||
@ -1871,7 +1871,7 @@ USERD_get_maxsize_info
|
||||
---------
|
||||
(OUT) max_number_of_nodes = Maximum number of unstructured nodes
|
||||
in the part (over all time).
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Numparts_available long)
|
||||
|
||||
@ -1994,7 +1994,7 @@ USERD_get_name_of_reader
|
||||
Specification:
|
||||
-------------
|
||||
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
|
||||
int *two_fields)
|
||||
int *two_fields)
|
||||
|
||||
Returns:
|
||||
-------
|
||||
@ -2006,17 +2006,17 @@ USERD_get_name_of_reader
|
||||
(OUT) reader_name = the name of the your reader or data format.
|
||||
(max length is Z_MAX_USERD_NAME, which is 20)
|
||||
|
||||
(OUT) two_fields = FALSE if only one data field is
|
||||
required.
|
||||
TRUE if two data fields required
|
||||
|
||||
-1 if one field (Geom) required
|
||||
(OUT) two_fields = FALSE if only one data field is
|
||||
required.
|
||||
TRUE if two data fields required
|
||||
|
||||
-1 if one field (Geom) required
|
||||
and one field (Param) is optional
|
||||
Param field can contain any text
|
||||
for example a file name, modifiers,
|
||||
etc. that can be used to modify the
|
||||
reader's behavior.
|
||||
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
@ -2834,37 +2834,37 @@ USERD_get_number_of_timesets
|
||||
|
||||
* If you have a static model, both geometry and variables, you should
|
||||
return a value of zero.
|
||||
|
||||
|
||||
* If you have a transient model, then you should return one or more.
|
||||
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
Geometry Variables No. of timesets
|
||||
--------- ------------------------------ ---------------
|
||||
static static 0
|
||||
static transient, all using same timeset 1
|
||||
|
||||
|
||||
transient transient, all using same timeset as geom 1
|
||||
|
||||
|
||||
static transient, using 3 different timesets 3
|
||||
|
||||
|
||||
transient transient, using 3 different timesets and
|
||||
none of them the same as the
|
||||
geometry timeset 4
|
||||
etc.
|
||||
|
||||
|
||||
NOTE: ALL GEOMETRY MUST USE THE SAME TIMESET!!! You will have to provide
|
||||
the timeset number to use
|
||||
for geometry in:
|
||||
USERD_get_geom_timeset_number
|
||||
|
||||
|
||||
Variables can use the same timeset as the geometry, or can use
|
||||
other timesets. More than one variable can use the same timeset.
|
||||
|
||||
|
||||
example: changing geometry at 5 steps, 0.0, 1.0, 2.0, 3.0, 4.0
|
||||
variable 1 provided at these same five steps
|
||||
variable 2 provided at 3 steps, 0.5, 1.25, 3.33
|
||||
|
||||
|
||||
This routine should return a value of 2, because only
|
||||
two different timesets are needed. Timeset 1 would be for the
|
||||
geometry and variable 1 (they both use it). Timeset 2 would
|
||||
@ -3146,7 +3146,7 @@ USERD_get_part_elements_by_type
|
||||
conn_array[100][4] when called with Z_QUA04
|
||||
|
||||
conn_array[30][8] when called with Z_HEX08
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* Not called unless Num_unstructured_parts is > 0
|
||||
@ -3280,7 +3280,7 @@ USERD_get_sol_times
|
||||
|
||||
Description:
|
||||
-----------
|
||||
Get the solution times associated with each time step for
|
||||
Get the solution times associated with each time step for
|
||||
desired timeset.
|
||||
|
||||
Specification:
|
||||
@ -3296,7 +3296,7 @@ USERD_get_sol_times
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid
|
||||
timeset_number's would be 1 and 2
|
||||
@ -3332,7 +3332,7 @@ USERD_get_timeset_description -
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid
|
||||
timeset_number's would be 1 and 2
|
||||
@ -3445,22 +3445,22 @@ USERD_get_var_by_component
|
||||
|
||||
(IN) imag_data = TRUE if imag component
|
||||
FALSE if real component
|
||||
|
||||
|
||||
(IN) component = The component: (0 if Z_SCALAR)
|
||||
(0 - 2 if Z_VECTOR)
|
||||
(0 - 5 if Z_TENSOR)
|
||||
(0 - 8 if Z_TENSOR9)
|
||||
|
||||
* 6 Symmetric Indicies, 0:5 *
|
||||
|
||||
* 6 Symmetric Indices, 0:5 *
|
||||
* ---------------------------- *
|
||||
* | 11 12 13 | | 0 3 4 | *
|
||||
* | | | | *
|
||||
* T = | 22 23 | = | 1 5 | *
|
||||
* | | | | *
|
||||
* | 33 | | 2 | *
|
||||
|
||||
|
||||
* 9 General Indicies, 0:8 *
|
||||
|
||||
* 9 General Indices, 0:8 *
|
||||
* ---------------------------- *
|
||||
* | 11 12 13 | | 0 3 4 | *
|
||||
* | | | | *
|
||||
@ -3468,7 +3468,7 @@ USERD_get_var_by_component
|
||||
* | | | | *
|
||||
* | 31 32 33 | | 7 8 2 | *
|
||||
|
||||
(OUT) var_array
|
||||
(OUT) var_array
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
(IMPORTANT: this array is 1-based for both Z_PER_NODE and Z_PER_ELEM!!!)
|
||||
@ -3490,7 +3490,7 @@ USERD_get_var_by_component
|
||||
if Z_PER_ELEM: = 1D array containing variable component
|
||||
value for each element of a particular
|
||||
part and type.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
(number_of_elements[which_part][which_type] + 1)
|
||||
long. See USERD_get_gold_part_build_info)
|
||||
@ -3552,7 +3552,7 @@ USERD_get_var_value_at_specific
|
||||
|
||||
If Z_PER_NODE:
|
||||
= The node number. This is not the id, but is
|
||||
the index of the global node
|
||||
the index of the global node
|
||||
list (1 based), or the block's
|
||||
node list (1 based).
|
||||
|
||||
@ -3761,17 +3761,17 @@ USERD_set_filenames
|
||||
|
||||
(IN) param_2 = The usage of this string depends on
|
||||
'two_fields' in USERD_get_name_of_reader.
|
||||
|
||||
|
||||
If two_fields is FALSE then it's empty.
|
||||
|
||||
If two_fields is TRUE, this is the
|
||||
manditory results file entered
|
||||
|
||||
If two_fields is TRUE, this is the
|
||||
manditory results file entered
|
||||
into the result field of the data dialog.
|
||||
|
||||
|
||||
If two_fields is -1, then this contains
|
||||
optional text (filenames, modifiers, etc.)
|
||||
that can be parsed and used to modify
|
||||
reader
|
||||
that can be parsed and used to modify
|
||||
reader
|
||||
|
||||
(IN) the_path = the path info from the data dialog.
|
||||
Note: filename_1 and filename_2 have already
|
||||
@ -3820,7 +3820,7 @@ USERD_set_server_number
|
||||
something that you can take advantage of. If your data is already
|
||||
partitioned in some manner, such that you can access the proper
|
||||
portions using this information.
|
||||
|
||||
|
||||
For all non-SOS uses, this will simply be 1 of 1
|
||||
|
||||
|
||||
@ -3846,7 +3846,7 @@ USERD_set_time_set_and_step
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number (1 based).
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid timeset_number's
|
||||
would be 1 and 2.
|
||||
@ -4015,14 +4015,14 @@ USERD_rigidbody_values
|
||||
Arguments:
|
||||
---------
|
||||
(IN) part_number = The part number
|
||||
|
||||
|
||||
(1-based index of part table, namely:
|
||||
|
||||
|
||||
1 ... Numparts_available.
|
||||
|
||||
|
||||
It is NOT the part_id that
|
||||
is loaded in USERD_get_gold_part_build_info)
|
||||
|
||||
|
||||
(OUT) values values[0] = IX (x location)
|
||||
values[1] = IY (y location)
|
||||
values[2] = IZ (z location)
|
||||
@ -4067,7 +4067,7 @@ USERD_set_right_side
|
||||
|
||||
|
||||
------------------------------------------------------------------
|
||||
ENHANCED GUI ROUTINES
|
||||
ENHANCED GUI ROUTINES
|
||||
|
||||
--------------------------------------------------------------------
|
||||
USERD_get_extra_gui_numbers
|
||||
@ -4091,7 +4091,7 @@ USERD_get_extra_gui_numbers
|
||||
Arguments:
|
||||
---------
|
||||
(OUT) num_Toggles = number of toggles that will be provided
|
||||
|
||||
|
||||
num_pulldowns = number of pulldowns that will be provided
|
||||
|
||||
num_fields = number of fields that will be provided
|
||||
@ -4111,63 +4111,63 @@ USERD_get_extra_gui_numbers
|
||||
simply delete these routines, or change their
|
||||
names to something such as
|
||||
USERD_DISABLED_get_extra_gui_defaults
|
||||
|
||||
|
||||
The presence of these routines
|
||||
will ensure that EnSight will call them and
|
||||
use their data to modify the extraction parameters set
|
||||
with some or all of the following:
|
||||
toggles, pulldown menu and fields.
|
||||
|
||||
|
||||
The user can then interact with the enhanced
|
||||
GUI and then send their choices to
|
||||
USERD_set_extra_gui_data
|
||||
|
||||
|
||||
Therefore if USERD_get_extra_gui_numbers
|
||||
exists then the other two must exist.
|
||||
|
||||
|
||||
If none exist, then the GUI will be unchanged.
|
||||
|
||||
|
||||
Toggle data will return an integer
|
||||
TRUE if checked
|
||||
FALSE if unchecked
|
||||
|
||||
|
||||
Pulldown menu will return an integer representing
|
||||
the menu item selected
|
||||
|
||||
|
||||
Field will return a string Z_LEN_GUI_FIELD_STR long.
|
||||
|
||||
|
||||
If all the enhanced GUI features are enabled it
|
||||
might look something like this
|
||||
|
||||
===================================================
|
||||
[] Title 1 [X] Title 3
|
||||
[X]Title 2 [X] Title 4
|
||||
|
||||
|
||||
Pulldown Menu ->
|
||||
Menu Choice 1
|
||||
Menu Choice 2
|
||||
Menu Choice 3
|
||||
|
||||
|
||||
Data Field Title 1 ____________________________
|
||||
|
||||
|
||||
Data Field Title 2 ____________________________
|
||||
=====================================================
|
||||
|
||||
This routine defines the numbers of toggles, pulldowns & fields
|
||||
|
||||
|
||||
The following are defined in the global_extern.h
|
||||
Z_MAX_NUM_GUI_PULL_ITEMS max num GUI pulldowns
|
||||
Z_LEN_GUI_PULL_STR max length of GUI pulldown string
|
||||
Z_LEN_GUI_FIELD_STR max length of field string
|
||||
Z_LEN_GUI_TITLE_STR max length of title string
|
||||
|
||||
|
||||
The library is loaded, this routine is
|
||||
called, then the library is unloaded.
|
||||
|
||||
|
||||
Do not define globals in this routine
|
||||
as when the library is unloaded, you'll
|
||||
lose them.
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------
|
||||
USERD_get_extra_gui_defaults
|
||||
@ -4201,17 +4201,17 @@ USERD_get_extra_gui_defaults
|
||||
[Z_LEN_GUI_TITLE_STR] long
|
||||
|
||||
toggle_default_status = Setting for each toggle (TRUE or FALSE)
|
||||
array dimension is [num_toggles] long
|
||||
array dimension is [num_toggles] long
|
||||
|
||||
pulldown_Title = title for each pulldown
|
||||
array dimension is [num_pulldowns] by
|
||||
[Z_LEN_GUI_TITLE_STR] long
|
||||
|
||||
pulldown_number_in_list = number of items in each pulldown
|
||||
array dimension is [num_pulldowns] long
|
||||
array dimension is [num_pulldowns] long
|
||||
|
||||
pulldown_default_selection = pulldown item selection for each pulldown
|
||||
array dimension is [num_pulldowns] long
|
||||
array dimension is [num_pulldowns] long
|
||||
|
||||
pulldown_item_strings = pulldown item strings
|
||||
array is [num_pulldowns] by
|
||||
@ -4231,7 +4231,7 @@ USERD_get_extra_gui_defaults
|
||||
Notes:
|
||||
-----
|
||||
* The library is loaded, this routine is called, then the library is unloaded.
|
||||
|
||||
|
||||
* Do not define globals in this routine as when the library is unloaded, you'll
|
||||
lose them.
|
||||
|
||||
@ -4272,7 +4272,7 @@ USERD_set_extra_gui_data
|
||||
* This routine is called when the library is permanently
|
||||
loaded to the EnSight session, so define your globals
|
||||
in this and later routines.
|
||||
|
||||
|
||||
* It's up to you to change your reader behavior according to
|
||||
user entries!
|
||||
|
||||
@ -4302,7 +4302,7 @@ USERD_get_var_extract_gui_numbers
|
||||
Arguments:
|
||||
---------
|
||||
(OUT) num_Toggles = number of toggles that will be provided
|
||||
|
||||
|
||||
num_pulldowns = number of pulldowns that will be provided
|
||||
|
||||
num_fields = number of fields that will be provided
|
||||
@ -4321,63 +4321,63 @@ USERD_get_var_extract_gui_numbers
|
||||
simply delete these routines, or change their
|
||||
names to something such as
|
||||
USERD_DISABLED_get_var_extract_gui_defaults
|
||||
|
||||
|
||||
The presence of these routines
|
||||
will ensure that EnSight will call them and
|
||||
use their data to modify the extraction parameters set
|
||||
with some or all of the following:
|
||||
toggles, pulldown menu and fields.
|
||||
|
||||
|
||||
The user can then interact with the enhanced
|
||||
GUI and then send their choices to
|
||||
USERD_set_extra_gui_data
|
||||
|
||||
|
||||
Therefore if USERD_get_var_extract_gui_numbers
|
||||
exists then the other two must exist.
|
||||
|
||||
|
||||
If none exist, then the GUI will be unchanged.
|
||||
|
||||
|
||||
Toggle data will return an integer
|
||||
TRUE if checked
|
||||
FALSE if unchecked
|
||||
|
||||
|
||||
Pulldown menu will return an integer representing
|
||||
the menu item selected
|
||||
|
||||
|
||||
Field will return a string Z_LEN_GUI_FIELD_STR long.
|
||||
|
||||
|
||||
If all the enhanced GUI features are enabled it
|
||||
might look something like this
|
||||
|
||||
===================================================
|
||||
[] Title 1 [X] Title 3
|
||||
[X]Title 2 [X] Title 4
|
||||
|
||||
|
||||
Pulldown Menu ->
|
||||
Menu Choice 1
|
||||
Menu Choice 2
|
||||
Menu Choice 3
|
||||
|
||||
|
||||
Data Field Title 1 ____________________________
|
||||
|
||||
|
||||
Data Field Title 2 ____________________________
|
||||
=====================================================
|
||||
|
||||
This routine defines the numbers of toggles, pulldowns & fields
|
||||
|
||||
|
||||
The following are defined in the global_extern.h
|
||||
Z_MAX_NUM_GUI_PULL_ITEMS max num GUI pulldowns
|
||||
Z_LEN_GUI_PULL_STR max length of GUI pulldown string
|
||||
Z_LEN_GUI_FIELD_STR max length of field string
|
||||
Z_LEN_GUI_TITLE_STR max length of title string
|
||||
|
||||
|
||||
The library is loaded, this routine is
|
||||
called, then the library is unloaded.
|
||||
|
||||
|
||||
Do not define globals in this routine
|
||||
as when the library is unloaded, you'll
|
||||
lose them.
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------
|
||||
USERD_get_var_extract_gui_defaults
|
||||
@ -4411,17 +4411,17 @@ USERD_get_var_extract_gui_defaults
|
||||
[Z_LEN_GUI_TITLE_STR] long
|
||||
|
||||
toggle_default_status = Setting for each toggle (TRUE or FALSE)
|
||||
array dimension is [num_toggles] long
|
||||
array dimension is [num_toggles] long
|
||||
|
||||
pulldown_Title = title for each pulldown
|
||||
array dimension is [num_pulldowns] by
|
||||
[Z_LEN_GUI_TITLE_STR] long
|
||||
|
||||
pulldown_number_in_list = number of items in each pulldown
|
||||
array dimension is [num_pulldowns] long
|
||||
array dimension is [num_pulldowns] long
|
||||
|
||||
pulldown_default_selection = pulldown item selection for each pulldown
|
||||
array dimension is [num_pulldowns] long
|
||||
array dimension is [num_pulldowns] long
|
||||
|
||||
pulldown_item_strings = pulldown item strings
|
||||
array is [num_pulldowns] by
|
||||
@ -4441,7 +4441,7 @@ USERD_get_var_extract_gui_defaults
|
||||
Notes:
|
||||
-----
|
||||
* The library is loaded, this routine is called, then the library is unloaded.
|
||||
|
||||
|
||||
* Do not define globals in this routine as when the library is unloaded, you'll
|
||||
lose them.
|
||||
|
||||
@ -4482,7 +4482,7 @@ USERD_set_var_extract_gui_data
|
||||
* This routine is called when the library is permanently
|
||||
loaded to the EnSight session, so define your globals
|
||||
in this and later routines.
|
||||
|
||||
|
||||
* It's up to you to change your reader behavior according to
|
||||
user entries!
|
||||
|
||||
@ -4494,19 +4494,19 @@ USERD_set_var_extract_gui_data
|
||||
/* ----------------------------------------------------------
|
||||
* New in EnSight 8 is the capability to remove (fail) elements
|
||||
* based on variable threshold values. Basically the variable
|
||||
* name, a couple of thresholds, a couple of values and a logic
|
||||
* name, a couple of thresholds, a couple of values and a logic
|
||||
* criteria are read in from this routine. Every element that
|
||||
* satisfies the failure criteria is removed and not used in
|
||||
* EnSight calculations.
|
||||
*
|
||||
* Example Failure criteria
|
||||
*
|
||||
* Example Failure criteria
|
||||
* Let fail_var_name = "fail_flag"
|
||||
* threshold_val1 = 0
|
||||
* threshold_operator1 = Z_EQUAL_TO
|
||||
* threshold_operator1 = Z_EQUAL_TO
|
||||
* logic_criteria2 not used
|
||||
* threshold_val2 not used
|
||||
* threshold_operator2 not used
|
||||
* For each value of "fail_flag" at each element,
|
||||
* For each value of "fail_flag" at each element,
|
||||
* if fail flag == threshold_val1 (0.0) then element fails
|
||||
* Return (Z_ERR) if this is not used.
|
||||
* Return (Z_OK) if failed element feature should be used
|
||||
@ -4535,7 +4535,7 @@ int USERD_get_uns_failed_params(
|
||||
Z_EQUAL_TO */
|
||||
int *threshold_operator2, /* Z_GREATER_THAN, Z_LESS_THAN,
|
||||
Z_EQUAL_TO */
|
||||
int *logic_criteria2
|
||||
int *logic_criteria2
|
||||
|
||||
|
||||
|
||||
|
||||
@ -48,10 +48,10 @@ reader itself. (Can actually be added to pre-2.05 readers)
|
||||
|
||||
|
||||
***>> API 2.04 additional capabilities (beyond API 2.03):
|
||||
Routines to handle failed elements. Basically
|
||||
a.One routine to return a flag indicating the existence of
|
||||
failed elements in at least one part in at least one
|
||||
timestep in the model.
|
||||
Routines to handle failed elements. Basically
|
||||
a.One routine to return a flag indicating the existence of
|
||||
failed elements in at least one part in at least one
|
||||
timestep in the model.
|
||||
b.A second routine to return a matrix of flags indexed by part and
|
||||
element type indicating which parts and element types have failed
|
||||
elements at the current time step.
|
||||
@ -67,7 +67,7 @@ c.Finally a third routine to return an array of flags for a given
|
||||
|
||||
|
||||
****************************************************************************
|
||||
Note: Only the the Ensight Gold example reader, has been moved to
|
||||
Note: Only the the Ensight Gold example reader, has been moved to
|
||||
this 2.06 API level. And it is purely for an example - it does not
|
||||
actually provide a benefit.
|
||||
****************************************************************************
|
||||
@ -99,10 +99,10 @@ The process for producing a user defined reader is:
|
||||
You may find it useful to place your library source in this area as
|
||||
well, but are not limited to this location.
|
||||
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
routines are called, which is provided in this file, along with
|
||||
the example libraries, should make it possible for you to produce
|
||||
code for your own data reader.
|
||||
code for your own data reader.
|
||||
|
||||
|
||||
2. Produce the dynamic shared library.
|
||||
@ -150,7 +150,7 @@ The process for producing a user defined reader is:
|
||||
|
||||
If you choose to use a different build environment for your reader,
|
||||
you should take care to use compatible compilation flags to ensure
|
||||
compatibilty with the EnSight executables, most notably on the SGI
|
||||
compatibility with the EnSight executables, most notably on the SGI
|
||||
and HP-UX 11.0 platforms, which should use the following flags:
|
||||
|
||||
sgi_6.2_o32: -mips2
|
||||
@ -244,7 +244,7 @@ The process for producing a user defined reader is:
|
||||
location, and users can set the ENSIGHT7_READER variable to access them:
|
||||
|
||||
setenv ENSIGHT7_READER /usr/local/lib/e7readers
|
||||
|
||||
|
||||
A user working on a new reader may compile the reader and place it in
|
||||
a directory specified by the library path:
|
||||
|
||||
@ -289,7 +289,7 @@ USERD_get_block_ghost_flags block ghost cell flags
|
||||
These routines, which formerly were only for unstructured data, will now
|
||||
also be called for structured data if you specify that ids will be given
|
||||
in the USERD_get_node_label_status and USERD_get_element_label_status rotuines
|
||||
------------------------------------------------------------------------------
|
||||
------------------------------------------------------------------------------
|
||||
USERD_get_part_node_ids part's node ids
|
||||
USERD_get_part_element_ids_by_type part's element ids
|
||||
|
||||
@ -368,7 +368,7 @@ USERD_bkup archive routine
|
||||
|
||||
USERD_exit_routine cleanup upon exit routine
|
||||
|
||||
USERD_get_uns_failed_params Gets thresholds/criteria for failure
|
||||
USERD_get_uns_failed_params Gets thresholds/criteria for failure
|
||||
|
||||
USERD_rigidbody_existence Returns whether rigid body transformation
|
||||
data exists for the model.
|
||||
@ -391,14 +391,14 @@ Order Routines are called
|
||||
|
||||
The various main operations are given basically in the order they will
|
||||
be performed. Within each operation, the order the routines will be
|
||||
called is given.
|
||||
called is given.
|
||||
|
||||
1. Setting name in the gui, and specifying one or two input fields
|
||||
|
||||
USERD_get_name_of_reader
|
||||
USERD_get_reader_descrip (optional)
|
||||
USERD_get_extra_gui_numbers (optional)
|
||||
USERD_get_extra_gui_defaults (optional)
|
||||
USERD_get_extra_gui_defaults (optional)
|
||||
|
||||
2. Getting the reader version (also distinguishes between API's)
|
||||
|
||||
@ -410,7 +410,7 @@ called is given.
|
||||
USERD_get_extra_gui_defaults routine)
|
||||
USERD_get_structured_reader_cinching
|
||||
USERD_set_server_number
|
||||
USERD_set_extra_gui_data (optional)
|
||||
USERD_set_extra_gui_data (optional)
|
||||
USERD_set_filenames
|
||||
USERD_get_number_of_timesets
|
||||
USERD_get_geom_timeset_number
|
||||
@ -445,7 +445,7 @@ called is given.
|
||||
|
||||
USERD_get_number_of_variables
|
||||
USERD_get_gold_variable_info
|
||||
|
||||
|
||||
6. Part building (per part created)
|
||||
|
||||
both unstructured and structured:
|
||||
@ -487,12 +487,12 @@ called is given.
|
||||
dialog is closed)
|
||||
|
||||
7. Loading Variables
|
||||
|
||||
|
||||
constants:
|
||||
---------
|
||||
USERD_set_time_set_and_step
|
||||
USERD_get_constant_val
|
||||
|
||||
|
||||
scalars/vectors/tensors:
|
||||
------------------------
|
||||
USERD_get_descrip_lines
|
||||
@ -536,7 +536,7 @@ called is given.
|
||||
USERD_get_border_availability (If border representation
|
||||
USERD_get_border_elements_by_type is selected)
|
||||
|
||||
|
||||
|
||||
9. Node or Element queries over time
|
||||
|
||||
USERD_get_var_value_at_specific
|
||||
@ -576,7 +576,7 @@ Detailed Specifications
|
||||
Include files:
|
||||
--------------
|
||||
The following header file is required in any file containing these library
|
||||
routines.
|
||||
routines.
|
||||
|
||||
#include "global_extern.h"
|
||||
|
||||
@ -823,24 +823,24 @@ USERD_get_block_ghost_flags
|
||||
|
||||
(OUT) ghost_flags = 1D array containing ghost flag value
|
||||
for each block cell.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
(i-1)*(j-1)*(k-1) for the block long)
|
||||
|
||||
|
||||
possible values are: 0 = non-ghost cell (normal cell)
|
||||
>0 = ghost cell
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* This routine is new in the 2.01 API
|
||||
|
||||
* This will be based on Current_time_step
|
||||
|
||||
|
||||
* Only called for structured "block" parts that have some ghost cells
|
||||
as indicated by the USERD_get_ghost_in_block_flag. The model must
|
||||
of course also have been indicated to have some ghost cells in the
|
||||
USERD_get_ghost_in_model_flag routine.
|
||||
|
||||
|
||||
* It is sufficient to set the value to be 1 to flag as a ghost cell,
|
||||
but the value can be any non-zero value, so you could use it to
|
||||
indicate which block or which server (for Server-of-server use) the
|
||||
@ -908,7 +908,7 @@ USERD_get_border_elements_by_type
|
||||
|
||||
Description:
|
||||
-----------
|
||||
Provides border element connectivity and parent information.
|
||||
Provides border element connectivity and parent information.
|
||||
|
||||
Specification:
|
||||
-------------
|
||||
@ -977,7 +977,7 @@ USERD_get_border_elements_by_type
|
||||
(Array will have been allocated
|
||||
num_of_elements of the type long)
|
||||
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* Not called unless USERD_get_border_availability returned Z_OK
|
||||
@ -1079,7 +1079,7 @@ USERD_get_dataset_query_file_info
|
||||
(Typically obtained with a call to the
|
||||
"stat" system routine) (Is a long)
|
||||
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
(Z_MAXTIMLEN is the dimensioned length
|
||||
of this string)
|
||||
(Typically obtained with a call to the
|
||||
@ -1186,7 +1186,7 @@ USERD_get_element_label_status
|
||||
on a per part, per type basis, if TRUE status is returned here.
|
||||
|
||||
For structured parts, EnSight will assign ids if you return a
|
||||
status of TRUE here. You cannot assign them youself!!
|
||||
status of TRUE here. You cannot assign them yourself!!
|
||||
|
||||
* Starting at API 2.01:
|
||||
--------------------
|
||||
@ -1213,7 +1213,7 @@ USERD_get_geom_timeset_number -
|
||||
|
||||
Returns:
|
||||
-------
|
||||
Geom_timeset_number = The timeset number that will be used for geometry.
|
||||
Geom_timeset_number = The timeset number that will be used for geometry.
|
||||
For example, if USERD_get_number_of timesets
|
||||
returns 2, the valid timeset numbers would be
|
||||
1 or 2.
|
||||
@ -1329,7 +1329,7 @@ USERD_get_gold_part_build_info
|
||||
long)
|
||||
|
||||
(OUT) number_of_nodes = Number of unstructured nodes in the part
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Numparts_available long)
|
||||
|
||||
@ -1612,23 +1612,23 @@ USERD_get_gold_variable_info
|
||||
Z_PER_ELEM
|
||||
|
||||
(OUT) var_complex = TRUE if complex, FALSE otherwise
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
|
||||
(OUT) var_ifilename = Variable imaginary filenames (if complex)
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables by Z_BUFL long)
|
||||
|
||||
(OUT) var_freq = complex frequency (if complex)
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
|
||||
(OUT) var_contran = TRUE if constant changes per time step
|
||||
FALSE if constant truly same at all time steps
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
@ -1702,7 +1702,7 @@ USERD_get_ghosts_in_block_flag
|
||||
-----
|
||||
* This routine is new in the 2.01 API
|
||||
* This will be based on Current_time_step
|
||||
|
||||
|
||||
* Intended for structured parts only, value will be ignored for
|
||||
unstructured parts
|
||||
|
||||
@ -1726,7 +1726,7 @@ USERD_get_ghosts_in_model_flag
|
||||
|
||||
Arguments:
|
||||
---------
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* This routine is new in the 2.01 API
|
||||
@ -1841,7 +1841,7 @@ USERD_get_maxsize_info
|
||||
---------
|
||||
(OUT) max_number_of_nodes = Maximum number of unstructured nodes
|
||||
in the part (over all time).
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Numparts_available long)
|
||||
|
||||
@ -1964,7 +1964,7 @@ USERD_get_name_of_reader
|
||||
Specification:
|
||||
-------------
|
||||
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
|
||||
int *two_fields)
|
||||
int *two_fields)
|
||||
|
||||
Returns:
|
||||
-------
|
||||
@ -1976,17 +1976,17 @@ USERD_get_name_of_reader
|
||||
(OUT) reader_name = the name of the your reader or data format.
|
||||
(max length is Z_MAX_USERD_NAME, which is 20)
|
||||
|
||||
(OUT) two_fields = FALSE if only one data field is
|
||||
required.
|
||||
TRUE if two data fields required
|
||||
|
||||
-1 if one field (Geom) required
|
||||
(OUT) two_fields = FALSE if only one data field is
|
||||
required.
|
||||
TRUE if two data fields required
|
||||
|
||||
-1 if one field (Geom) required
|
||||
and one field (Param) is optional
|
||||
Param field can contain any text
|
||||
for example a file name, modifiers,
|
||||
etc. that can be used to modify the
|
||||
reader's behavior.
|
||||
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
@ -2804,37 +2804,37 @@ USERD_get_number_of_timesets
|
||||
|
||||
* If you have a static model, both geometry and variables, you should
|
||||
return a value of zero.
|
||||
|
||||
|
||||
* If you have a transient model, then you should return one or more.
|
||||
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
Geometry Variables No. of timesets
|
||||
--------- ------------------------------ ---------------
|
||||
static static 0
|
||||
static transient, all using same timeset 1
|
||||
|
||||
|
||||
transient transient, all using same timeset as geom 1
|
||||
|
||||
|
||||
static transient, using 3 different timesets 3
|
||||
|
||||
|
||||
transient transient, using 3 different timesets and
|
||||
none of them the same as the
|
||||
geometry timeset 4
|
||||
etc.
|
||||
|
||||
|
||||
NOTE: ALL GEOMETRY MUST USE THE SAME TIMESET!!! You will have to provide
|
||||
the timeset number to use
|
||||
for geometry in:
|
||||
USERD_get_geom_timeset_number
|
||||
|
||||
|
||||
Variables can use the same timeset as the geometry, or can use
|
||||
other timesets. More than one variable can use the same timeset.
|
||||
|
||||
|
||||
example: changing geometry at 5 steps, 0.0, 1.0, 2.0, 3.0, 4.0
|
||||
variable 1 provided at these same five steps
|
||||
variable 2 provided at 3 steps, 0.5, 1.25, 3.33
|
||||
|
||||
|
||||
This routine should return a value of 2, because only
|
||||
two different timesets are needed. Timeset 1 would be for the
|
||||
geometry and variable 1 (they both use it). Timeset 2 would
|
||||
@ -3116,7 +3116,7 @@ USERD_get_part_elements_by_type
|
||||
conn_array[100][4] when called with Z_QUA04
|
||||
|
||||
conn_array[30][8] when called with Z_HEX08
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* Not called unless Num_unstructured_parts is > 0
|
||||
@ -3250,7 +3250,7 @@ USERD_get_sol_times
|
||||
|
||||
Description:
|
||||
-----------
|
||||
Get the solution times associated with each time step for
|
||||
Get the solution times associated with each time step for
|
||||
desired timeset.
|
||||
|
||||
Specification:
|
||||
@ -3266,7 +3266,7 @@ USERD_get_sol_times
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid
|
||||
timeset_number's would be 1 and 2
|
||||
@ -3302,7 +3302,7 @@ USERD_get_timeset_description -
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid
|
||||
timeset_number's would be 1 and 2
|
||||
@ -3415,22 +3415,22 @@ USERD_get_var_by_component
|
||||
|
||||
(IN) imag_data = TRUE if imag component
|
||||
FALSE if real component
|
||||
|
||||
|
||||
(IN) component = The component: (0 if Z_SCALAR)
|
||||
(0 - 2 if Z_VECTOR)
|
||||
(0 - 5 if Z_TENSOR)
|
||||
(0 - 8 if Z_TENSOR9)
|
||||
|
||||
* 6 Symmetric Indicies, 0:5 *
|
||||
|
||||
* 6 Symmetric Indices, 0:5 *
|
||||
* ---------------------------- *
|
||||
* | 11 12 13 | | 0 3 4 | *
|
||||
* | | | | *
|
||||
* T = | 22 23 | = | 1 5 | *
|
||||
* | | | | *
|
||||
* | 33 | | 2 | *
|
||||
|
||||
|
||||
* 9 General Indicies, 0:8 *
|
||||
|
||||
* 9 General Indices, 0:8 *
|
||||
* ---------------------------- *
|
||||
* | 11 12 13 | | 0 3 4 | *
|
||||
* | | | | *
|
||||
@ -3438,7 +3438,7 @@ USERD_get_var_by_component
|
||||
* | | | | *
|
||||
* | 31 32 33 | | 7 8 2 | *
|
||||
|
||||
(OUT) var_array
|
||||
(OUT) var_array
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
(IMPORTANT: this array is 1-based for both Z_PER_NODE and Z_PER_ELEM!!!)
|
||||
@ -3460,7 +3460,7 @@ USERD_get_var_by_component
|
||||
if Z_PER_ELEM: = 1D array containing variable component
|
||||
value for each element of a particular
|
||||
part and type.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
(number_of_elements[which_part][which_type] + 1)
|
||||
long. See USERD_get_gold_part_build_info)
|
||||
@ -3522,7 +3522,7 @@ USERD_get_var_value_at_specific
|
||||
|
||||
If Z_PER_NODE:
|
||||
= The node number. This is not the id, but is
|
||||
the index of the global node
|
||||
the index of the global node
|
||||
list (1 based), or the block's
|
||||
node list (1 based).
|
||||
|
||||
@ -3731,17 +3731,17 @@ USERD_set_filenames
|
||||
|
||||
(IN) param_2 = The usage of this string depends on
|
||||
'two_fields' in USERD_get_name_of_reader.
|
||||
|
||||
|
||||
If two_fields is FALSE then it's empty.
|
||||
|
||||
If two_fields is TRUE, this is the
|
||||
manditory results file entered
|
||||
|
||||
If two_fields is TRUE, this is the
|
||||
manditory results file entered
|
||||
into the result field of the data dialog.
|
||||
|
||||
|
||||
If two_fields is -1, then this contains
|
||||
optional text (filenames, modifiers, etc.)
|
||||
that can be parsed and used to modify
|
||||
reader
|
||||
that can be parsed and used to modify
|
||||
reader
|
||||
|
||||
(IN) the_path = the path info from the data dialog.
|
||||
Note: filename_1 and filename_2 have already
|
||||
@ -3790,7 +3790,7 @@ USERD_set_server_number
|
||||
something that you can take advantage of. If your data is already
|
||||
partitioned in some manner, such that you can access the proper
|
||||
portions using this information.
|
||||
|
||||
|
||||
For all non-SOS uses, this will simply be 1 of 1
|
||||
|
||||
|
||||
@ -3816,7 +3816,7 @@ USERD_set_time_set_and_step
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number (1 based).
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid timeset_number's
|
||||
would be 1 and 2.
|
||||
@ -3985,14 +3985,14 @@ USERD_rigidbody_values
|
||||
Arguments:
|
||||
---------
|
||||
(IN) part_number = The part number
|
||||
|
||||
|
||||
(1-based index of part table, namely:
|
||||
|
||||
|
||||
1 ... Numparts_available.
|
||||
|
||||
|
||||
It is NOT the part_id that
|
||||
is loaded in USERD_get_gold_part_build_info)
|
||||
|
||||
|
||||
(OUT) values values[0] = IX (x location)
|
||||
values[1] = IY (y location)
|
||||
values[2] = IZ (z location)
|
||||
@ -4037,7 +4037,7 @@ USERD_set_right_side
|
||||
|
||||
|
||||
------------------------------------------------------------------
|
||||
ENHANCED GUI ROUTINES
|
||||
ENHANCED GUI ROUTINES
|
||||
|
||||
--------------------------------------------------------------------
|
||||
USERD_get_extra_gui_numbers
|
||||
@ -4061,7 +4061,7 @@ USERD_get_extra_gui_numbers
|
||||
Arguments:
|
||||
---------
|
||||
(OUT) num_Toggles = number of toggles that will be provided
|
||||
|
||||
|
||||
num_pulldowns = number of pulldowns that will be provided
|
||||
|
||||
num_fields = number of fields that will be provided
|
||||
@ -4081,63 +4081,63 @@ USERD_get_extra_gui_numbers
|
||||
simply delete these routines, or change their
|
||||
names to something such as
|
||||
USERD_DISABLED_get_extra_gui_defaults
|
||||
|
||||
|
||||
The presence of these routines
|
||||
will ensure that EnSight will call them and
|
||||
use their data to modify the extraction parameters set
|
||||
with some or all of the following:
|
||||
toggles, pulldown menu and fields.
|
||||
|
||||
|
||||
The user can then interact with the enhanced
|
||||
GUI and then send their choices to
|
||||
USERD_set_extra_gui_data
|
||||
|
||||
|
||||
Therefore if USERD_get_extra_gui_numbers
|
||||
exists then the other two must exist.
|
||||
|
||||
|
||||
If none exist, then the GUI will be unchanged.
|
||||
|
||||
|
||||
Toggle data will return an integer
|
||||
TRUE if checked
|
||||
FALSE if unchecked
|
||||
|
||||
|
||||
Pulldown menu will return an integer representing
|
||||
the menu item selected
|
||||
|
||||
|
||||
Field will return a string Z_LEN_GUI_FIELD_STR long.
|
||||
|
||||
|
||||
If all the enhanced GUI features are enabled it
|
||||
might look something like this
|
||||
|
||||
===================================================
|
||||
[] Title 1 [X] Title 3
|
||||
[X]Title 2 [X] Title 4
|
||||
|
||||
|
||||
Pulldown Menu ->
|
||||
Menu Choice 1
|
||||
Menu Choice 2
|
||||
Menu Choice 3
|
||||
|
||||
|
||||
Data Field Title 1 ____________________________
|
||||
|
||||
|
||||
Data Field Title 2 ____________________________
|
||||
=====================================================
|
||||
|
||||
This routine defines the numbers of toggles, pulldowns & fields
|
||||
|
||||
|
||||
The following are defined in the global_extern.h
|
||||
Z_MAX_NUM_GUI_PULL_ITEMS max num GUI pulldowns
|
||||
Z_LEN_GUI_PULL_STR max length of GUI pulldown string
|
||||
Z_LEN_GUI_FIELD_STR max length of field string
|
||||
Z_LEN_GUI_TITLE_STR max length of title string
|
||||
|
||||
|
||||
The library is loaded, this routine is
|
||||
called, then the library is unloaded.
|
||||
|
||||
|
||||
Do not define globals in this routine
|
||||
as when the library is unloaded, you'll
|
||||
lose them.
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------
|
||||
USERD_get_extra_gui_defaults
|
||||
@ -4171,17 +4171,17 @@ USERD_get_extra_gui_defaults
|
||||
[Z_LEN_GUI_TITLE_STR] long
|
||||
|
||||
toggle_default_status = Setting for each toggle (TRUE or FALSE)
|
||||
array dimension is [num_toggles] long
|
||||
array dimension is [num_toggles] long
|
||||
|
||||
pulldown_Title = title for each pulldown
|
||||
array dimension is [num_pulldowns] by
|
||||
[Z_LEN_GUI_TITLE_STR] long
|
||||
|
||||
pulldown_number_in_list = number of items in each pulldown
|
||||
array dimension is [num_pulldowns] long
|
||||
array dimension is [num_pulldowns] long
|
||||
|
||||
pulldown_default_selection = pulldown item selection for each pulldown
|
||||
array dimension is [num_pulldowns] long
|
||||
array dimension is [num_pulldowns] long
|
||||
|
||||
pulldown_item_strings = pulldown item strings
|
||||
array is [num_pulldowns] by
|
||||
@ -4201,7 +4201,7 @@ USERD_get_extra_gui_defaults
|
||||
Notes:
|
||||
-----
|
||||
* The library is loaded, this routine is called, then the library is unloaded.
|
||||
|
||||
|
||||
* Do not define globals in this routine as when the library is unloaded, you'll
|
||||
lose them.
|
||||
|
||||
@ -4242,7 +4242,7 @@ USERD_set_extra_gui_data
|
||||
* This routine is called when the library is permanently
|
||||
loaded to the EnSight session, so define your globals
|
||||
in this and later routines.
|
||||
|
||||
|
||||
* It's up to you to change your reader behavior according to
|
||||
user entries!
|
||||
|
||||
@ -4272,7 +4272,7 @@ USERD_get_var_extract_gui_numbers
|
||||
Arguments:
|
||||
---------
|
||||
(OUT) num_Toggles = number of toggles that will be provided
|
||||
|
||||
|
||||
num_pulldowns = number of pulldowns that will be provided
|
||||
|
||||
num_fields = number of fields that will be provided
|
||||
@ -4291,63 +4291,63 @@ USERD_get_var_extract_gui_numbers
|
||||
simply delete these routines, or change their
|
||||
names to something such as
|
||||
USERD_DISABLED_get_var_extract_gui_defaults
|
||||
|
||||
|
||||
The presence of these routines
|
||||
will ensure that EnSight will call them and
|
||||
use their data to modify the extraction parameters set
|
||||
with some or all of the following:
|
||||
toggles, pulldown menu and fields.
|
||||
|
||||
|
||||
The user can then interact with the enhanced
|
||||
GUI and then send their choices to
|
||||
USERD_set_extra_gui_data
|
||||
|
||||
|
||||
Therefore if USERD_get_var_extract_gui_numbers
|
||||
exists then the other two must exist.
|
||||
|
||||
|
||||
If none exist, then the GUI will be unchanged.
|
||||
|
||||
|
||||
Toggle data will return an integer
|
||||
TRUE if checked
|
||||
FALSE if unchecked
|
||||
|
||||
|
||||
Pulldown menu will return an integer representing
|
||||
the menu item selected
|
||||
|
||||
|
||||
Field will return a string Z_LEN_GUI_FIELD_STR long.
|
||||
|
||||
|
||||
If all the enhanced GUI features are enabled it
|
||||
might look something like this
|
||||
|
||||
===================================================
|
||||
[] Title 1 [X] Title 3
|
||||
[X]Title 2 [X] Title 4
|
||||
|
||||
|
||||
Pulldown Menu ->
|
||||
Menu Choice 1
|
||||
Menu Choice 2
|
||||
Menu Choice 3
|
||||
|
||||
|
||||
Data Field Title 1 ____________________________
|
||||
|
||||
|
||||
Data Field Title 2 ____________________________
|
||||
=====================================================
|
||||
|
||||
This routine defines the numbers of toggles, pulldowns & fields
|
||||
|
||||
|
||||
The following are defined in the global_extern.h
|
||||
Z_MAX_NUM_GUI_PULL_ITEMS max num GUI pulldowns
|
||||
Z_LEN_GUI_PULL_STR max length of GUI pulldown string
|
||||
Z_LEN_GUI_FIELD_STR max length of field string
|
||||
Z_LEN_GUI_TITLE_STR max length of title string
|
||||
|
||||
|
||||
The library is loaded, this routine is
|
||||
called, then the library is unloaded.
|
||||
|
||||
|
||||
Do not define globals in this routine
|
||||
as when the library is unloaded, you'll
|
||||
lose them.
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------
|
||||
USERD_get_var_extract_gui_defaults
|
||||
@ -4381,17 +4381,17 @@ USERD_get_var_extract_gui_defaults
|
||||
[Z_LEN_GUI_TITLE_STR] long
|
||||
|
||||
toggle_default_status = Setting for each toggle (TRUE or FALSE)
|
||||
array dimension is [num_toggles] long
|
||||
array dimension is [num_toggles] long
|
||||
|
||||
pulldown_Title = title for each pulldown
|
||||
array dimension is [num_pulldowns] by
|
||||
[Z_LEN_GUI_TITLE_STR] long
|
||||
|
||||
pulldown_number_in_list = number of items in each pulldown
|
||||
array dimension is [num_pulldowns] long
|
||||
array dimension is [num_pulldowns] long
|
||||
|
||||
pulldown_default_selection = pulldown item selection for each pulldown
|
||||
array dimension is [num_pulldowns] long
|
||||
array dimension is [num_pulldowns] long
|
||||
|
||||
pulldown_item_strings = pulldown item strings
|
||||
array is [num_pulldowns] by
|
||||
@ -4411,7 +4411,7 @@ USERD_get_var_extract_gui_defaults
|
||||
Notes:
|
||||
-----
|
||||
* The library is loaded, this routine is called, then the library is unloaded.
|
||||
|
||||
|
||||
* Do not define globals in this routine as when the library is unloaded, you'll
|
||||
lose them.
|
||||
|
||||
@ -4452,7 +4452,7 @@ USERD_set_var_extract_gui_data
|
||||
* This routine is called when the library is permanently
|
||||
loaded to the EnSight session, so define your globals
|
||||
in this and later routines.
|
||||
|
||||
|
||||
* It's up to you to change your reader behavior according to
|
||||
user entries!
|
||||
|
||||
@ -4464,19 +4464,19 @@ USERD_set_var_extract_gui_data
|
||||
/* ----------------------------------------------------------
|
||||
* New in EnSight 8 is the capability to remove (fail) elements
|
||||
* based on variable threshold values. Basically the variable
|
||||
* name, a couple of thresholds, a couple of values and a logic
|
||||
* name, a couple of thresholds, a couple of values and a logic
|
||||
* criteria are read in from this routine. Every element that
|
||||
* satisfies the failure criteria is removed and not used in
|
||||
* EnSight calculations.
|
||||
*
|
||||
* Example Failure criteria
|
||||
*
|
||||
* Example Failure criteria
|
||||
* Let fail_var_name = "fail_flag"
|
||||
* threshold_val1 = 0
|
||||
* threshold_operator1 = Z_EQUAL_TO
|
||||
* threshold_operator1 = Z_EQUAL_TO
|
||||
* logic_criteria2 not used
|
||||
* threshold_val2 not used
|
||||
* threshold_operator2 not used
|
||||
* For each value of "fail_flag" at each element,
|
||||
* For each value of "fail_flag" at each element,
|
||||
* if fail flag == threshold_val1 (0.0) then element fails
|
||||
* Return (Z_ERR) if this is not used.
|
||||
* Return (Z_OK) if failed element feature should be used
|
||||
@ -4505,7 +4505,7 @@ int USERD_get_uns_failed_params(
|
||||
Z_EQUAL_TO */
|
||||
int *threshold_operator2, /* Z_GREATER_THAN, Z_LESS_THAN,
|
||||
Z_EQUAL_TO */
|
||||
int *logic_criteria2
|
||||
int *logic_criteria2
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------
|
||||
|
||||
@ -14,16 +14,16 @@ You should refer to beginning of README_USERD_2.0 and/or README_1.0_to_2.0
|
||||
for a discussion of the differences between API 1.0 and API 2.*.
|
||||
|
||||
***>> API 2.07 additional capabilities (beyond API 2.06):
|
||||
Optional routine to allow userd defined readers to indicate their auto
|
||||
distribute preference when used with SOS. This is used to set the auto
|
||||
distribute flag default in the client. If the function does not exist,
|
||||
then it defaults to 'use auto distribute'. If the function does exist and
|
||||
indicates 'no auto distribute', then it's up to the UDR to decompose a
|
||||
Optional routine to allow userd defined readers to indicate their auto
|
||||
distribute preference when used with SOS. This is used to set the auto
|
||||
distribute flag default in the client. If the function does not exist,
|
||||
then it defaults to 'use auto distribute'. If the function does exist and
|
||||
indicates 'no auto distribute', then it's up to the UDR to decompose a
|
||||
distributed data set.
|
||||
USERD_prefer_auto_distribute
|
||||
Optional routine to allow userd defined readers to indicate their
|
||||
preference for the 'Set file...' button labels in the client's File->Open
|
||||
dialog. If the function does not exist or it returns a null string for
|
||||
Optional routine to allow userd defined readers to indicate their
|
||||
preference for the 'Set file...' button labels in the client's File->Open
|
||||
dialog. If the function does not exist or it returns a null string for
|
||||
an argument, then the default values are used.
|
||||
USERD_set_filename_button_labels
|
||||
|
||||
@ -62,10 +62,10 @@ reader itself. (Can actually be added to pre-2.05 readers)
|
||||
|
||||
|
||||
***>> API 2.04 additional capabilities (beyond API 2.03):
|
||||
Routines to handle failed elements. Basically
|
||||
a.One routine to return a flag indicating the existence of
|
||||
failed elements in at least one part in at least one
|
||||
timestep in the model.
|
||||
Routines to handle failed elements. Basically
|
||||
a.One routine to return a flag indicating the existence of
|
||||
failed elements in at least one part in at least one
|
||||
timestep in the model.
|
||||
b.A second routine to return a matrix of flags indexed by part and
|
||||
element type indicating which parts and element types have failed
|
||||
elements at the current time step.
|
||||
@ -81,7 +81,7 @@ c.Finally a third routine to return an array of flags for a given
|
||||
|
||||
|
||||
****************************************************************************
|
||||
Note: Only the the Ensight Gold example reader, has been moved to
|
||||
Note: Only the the Ensight Gold example reader, has been moved to
|
||||
this 2.06 API level. And it is purely for an example - it does not
|
||||
actually provide a benefit.
|
||||
****************************************************************************
|
||||
@ -113,10 +113,10 @@ The process for producing a user defined reader is:
|
||||
You may find it useful to place your library source in this area as
|
||||
well, but are not limited to this location.
|
||||
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
routines are called, which is provided in this file, along with
|
||||
the example libraries, should make it possible for you to produce
|
||||
code for your own data reader.
|
||||
code for your own data reader.
|
||||
|
||||
|
||||
2. Produce the dynamic shared library.
|
||||
@ -164,7 +164,7 @@ The process for producing a user defined reader is:
|
||||
|
||||
If you choose to use a different build environment for your reader,
|
||||
you should take care to use compatible compilation flags to ensure
|
||||
compatibilty with the EnSight executables, most notably on the SGI
|
||||
compatibility with the EnSight executables, most notably on the SGI
|
||||
and HP-UX 11.0 platforms, which should use the following flags:
|
||||
|
||||
sgi_6.2_o32: -mips2
|
||||
@ -258,7 +258,7 @@ The process for producing a user defined reader is:
|
||||
location, and users can set the ENSIGHT7_READER variable to access them:
|
||||
|
||||
setenv ENSIGHT7_READER /usr/local/lib/e7readers
|
||||
|
||||
|
||||
A user working on a new reader may compile the reader and place it in
|
||||
a directory specified by the library path:
|
||||
|
||||
@ -303,7 +303,7 @@ USERD_get_block_ghost_flags block ghost cell flags
|
||||
These routines, which formerly were only for unstructured data, will now
|
||||
also be called for structured data if you specify that ids will be given
|
||||
in the USERD_get_node_label_status and USERD_get_element_label_status rotuines
|
||||
------------------------------------------------------------------------------
|
||||
------------------------------------------------------------------------------
|
||||
USERD_get_part_node_ids part's node ids
|
||||
USERD_get_part_element_ids_by_type part's element ids
|
||||
|
||||
@ -382,7 +382,7 @@ USERD_bkup archive routine
|
||||
|
||||
USERD_exit_routine cleanup upon exit routine
|
||||
|
||||
USERD_get_uns_failed_params Gets thresholds/criteria for failure
|
||||
USERD_get_uns_failed_params Gets thresholds/criteria for failure
|
||||
|
||||
USERD_rigidbody_existence Returns whether rigid body transformation
|
||||
data exists for the model.
|
||||
@ -405,14 +405,14 @@ Order Routines are called
|
||||
|
||||
The various main operations are given basically in the order they will
|
||||
be performed. Within each operation, the order the routines will be
|
||||
called is given.
|
||||
called is given.
|
||||
|
||||
1. Setting name in the gui, and specifying one or two input fields
|
||||
|
||||
USERD_get_name_of_reader
|
||||
USERD_get_reader_descrip (optional)
|
||||
USERD_get_extra_gui_numbers (optional)
|
||||
USERD_get_extra_gui_defaults (optional)
|
||||
USERD_get_extra_gui_defaults (optional)
|
||||
|
||||
2. Getting the reader version (also distinguishes between API's)
|
||||
|
||||
@ -424,7 +424,7 @@ called is given.
|
||||
USERD_get_extra_gui_defaults routine)
|
||||
USERD_get_structured_reader_cinching
|
||||
USERD_set_server_number
|
||||
USERD_set_extra_gui_data (optional)
|
||||
USERD_set_extra_gui_data (optional)
|
||||
USERD_set_filenames
|
||||
USERD_get_number_of_timesets
|
||||
USERD_get_geom_timeset_number
|
||||
@ -459,7 +459,7 @@ called is given.
|
||||
|
||||
USERD_get_number_of_variables
|
||||
USERD_get_gold_variable_info
|
||||
|
||||
|
||||
6. Part building (per part created)
|
||||
|
||||
both unstructured and structured:
|
||||
@ -501,12 +501,12 @@ called is given.
|
||||
dialog is closed)
|
||||
|
||||
7. Loading Variables
|
||||
|
||||
|
||||
constants:
|
||||
---------
|
||||
USERD_set_time_set_and_step
|
||||
USERD_get_constant_val
|
||||
|
||||
|
||||
scalars/vectors/tensors:
|
||||
------------------------
|
||||
USERD_get_descrip_lines
|
||||
@ -550,7 +550,7 @@ called is given.
|
||||
USERD_get_border_availability (If border representation
|
||||
USERD_get_border_elements_by_type is selected)
|
||||
|
||||
|
||||
|
||||
9. Node or Element queries over time
|
||||
|
||||
USERD_get_var_value_at_specific
|
||||
@ -590,7 +590,7 @@ Detailed Specifications
|
||||
Include files:
|
||||
--------------
|
||||
The following header file is required in any file containing these library
|
||||
routines.
|
||||
routines.
|
||||
|
||||
#include "global_extern.h"
|
||||
|
||||
@ -837,24 +837,24 @@ USERD_get_block_ghost_flags
|
||||
|
||||
(OUT) ghost_flags = 1D array containing ghost flag value
|
||||
for each block cell.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
(i-1)*(j-1)*(k-1) for the block long)
|
||||
|
||||
|
||||
possible values are: 0 = non-ghost cell (normal cell)
|
||||
>0 = ghost cell
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* This routine is new in the 2.01 API
|
||||
|
||||
* This will be based on Current_time_step
|
||||
|
||||
|
||||
* Only called for structured "block" parts that have some ghost cells
|
||||
as indicated by the USERD_get_ghost_in_block_flag. The model must
|
||||
of course also have been indicated to have some ghost cells in the
|
||||
USERD_get_ghost_in_model_flag routine.
|
||||
|
||||
|
||||
* It is sufficient to set the value to be 1 to flag as a ghost cell,
|
||||
but the value can be any non-zero value, so you could use it to
|
||||
indicate which block or which server (for Server-of-server use) the
|
||||
@ -922,7 +922,7 @@ USERD_get_border_elements_by_type
|
||||
|
||||
Description:
|
||||
-----------
|
||||
Provides border element connectivity and parent information.
|
||||
Provides border element connectivity and parent information.
|
||||
|
||||
Specification:
|
||||
-------------
|
||||
@ -991,7 +991,7 @@ USERD_get_border_elements_by_type
|
||||
(Array will have been allocated
|
||||
num_of_elements of the type long)
|
||||
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* Not called unless USERD_get_border_availability returned Z_OK
|
||||
@ -1093,7 +1093,7 @@ USERD_get_dataset_query_file_info
|
||||
(Typically obtained with a call to the
|
||||
"stat" system routine) (Is a long)
|
||||
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
(Z_MAXTIMLEN is the dimensioned length
|
||||
of this string)
|
||||
(Typically obtained with a call to the
|
||||
@ -1200,7 +1200,7 @@ USERD_get_element_label_status
|
||||
on a per part, per type basis, if TRUE status is returned here.
|
||||
|
||||
For structured parts, EnSight will assign ids if you return a
|
||||
status of TRUE here. You cannot assign them youself!!
|
||||
status of TRUE here. You cannot assign them yourself!!
|
||||
|
||||
* Starting at API 2.01:
|
||||
--------------------
|
||||
@ -1227,7 +1227,7 @@ USERD_get_geom_timeset_number -
|
||||
|
||||
Returns:
|
||||
-------
|
||||
Geom_timeset_number = The timeset number that will be used for geometry.
|
||||
Geom_timeset_number = The timeset number that will be used for geometry.
|
||||
For example, if USERD_get_number_of timesets
|
||||
returns 2, the valid timeset numbers would be
|
||||
1 or 2.
|
||||
@ -1343,7 +1343,7 @@ USERD_get_gold_part_build_info
|
||||
long)
|
||||
|
||||
(OUT) number_of_nodes = Number of unstructured nodes in the part
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Numparts_available long)
|
||||
|
||||
@ -1626,23 +1626,23 @@ USERD_get_gold_variable_info
|
||||
Z_PER_ELEM
|
||||
|
||||
(OUT) var_complex = TRUE if complex, FALSE otherwise
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
|
||||
(OUT) var_ifilename = Variable imaginary filenames (if complex)
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables by Z_BUFL long)
|
||||
|
||||
(OUT) var_freq = complex frequency (if complex)
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
|
||||
(OUT) var_contran = TRUE if constant changes per time step
|
||||
FALSE if constant truly same at all time steps
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
@ -1716,7 +1716,7 @@ USERD_get_ghosts_in_block_flag
|
||||
-----
|
||||
* This routine is new in the 2.01 API
|
||||
* This will be based on Current_time_step
|
||||
|
||||
|
||||
* Intended for structured parts only, value will be ignored for
|
||||
unstructured parts
|
||||
|
||||
@ -1740,7 +1740,7 @@ USERD_get_ghosts_in_model_flag
|
||||
|
||||
Arguments:
|
||||
---------
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* This routine is new in the 2.01 API
|
||||
@ -1855,7 +1855,7 @@ USERD_get_maxsize_info
|
||||
---------
|
||||
(OUT) max_number_of_nodes = Maximum number of unstructured nodes
|
||||
in the part (over all time).
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Numparts_available long)
|
||||
|
||||
@ -1978,7 +1978,7 @@ USERD_get_name_of_reader
|
||||
Specification:
|
||||
-------------
|
||||
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
|
||||
int *two_fields)
|
||||
int *two_fields)
|
||||
|
||||
Returns:
|
||||
-------
|
||||
@ -1990,17 +1990,17 @@ USERD_get_name_of_reader
|
||||
(OUT) reader_name = the name of the your reader or data format.
|
||||
(max length is Z_MAX_USERD_NAME, which is 20)
|
||||
|
||||
(OUT) two_fields = FALSE if only one data field is
|
||||
required.
|
||||
TRUE if two data fields required
|
||||
|
||||
-1 if one field (Geom) required
|
||||
(OUT) two_fields = FALSE if only one data field is
|
||||
required.
|
||||
TRUE if two data fields required
|
||||
|
||||
-1 if one field (Geom) required
|
||||
and one field (Param) is optional
|
||||
Param field can contain any text
|
||||
for example a file name, modifiers,
|
||||
etc. that can be used to modify the
|
||||
reader's behavior.
|
||||
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
@ -2818,37 +2818,37 @@ USERD_get_number_of_timesets
|
||||
|
||||
* If you have a static model, both geometry and variables, you should
|
||||
return a value of zero.
|
||||
|
||||
|
||||
* If you have a transient model, then you should return one or more.
|
||||
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
Geometry Variables No. of timesets
|
||||
--------- ------------------------------ ---------------
|
||||
static static 0
|
||||
static transient, all using same timeset 1
|
||||
|
||||
|
||||
transient transient, all using same timeset as geom 1
|
||||
|
||||
|
||||
static transient, using 3 different timesets 3
|
||||
|
||||
|
||||
transient transient, using 3 different timesets and
|
||||
none of them the same as the
|
||||
geometry timeset 4
|
||||
etc.
|
||||
|
||||
|
||||
NOTE: ALL GEOMETRY MUST USE THE SAME TIMESET!!! You will have to provide
|
||||
the timeset number to use
|
||||
for geometry in:
|
||||
USERD_get_geom_timeset_number
|
||||
|
||||
|
||||
Variables can use the same timeset as the geometry, or can use
|
||||
other timesets. More than one variable can use the same timeset.
|
||||
|
||||
|
||||
example: changing geometry at 5 steps, 0.0, 1.0, 2.0, 3.0, 4.0
|
||||
variable 1 provided at these same five steps
|
||||
variable 2 provided at 3 steps, 0.5, 1.25, 3.33
|
||||
|
||||
|
||||
This routine should return a value of 2, because only
|
||||
two different timesets are needed. Timeset 1 would be for the
|
||||
geometry and variable 1 (they both use it). Timeset 2 would
|
||||
@ -3130,7 +3130,7 @@ USERD_get_part_elements_by_type
|
||||
conn_array[100][4] when called with Z_QUA04
|
||||
|
||||
conn_array[30][8] when called with Z_HEX08
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* Not called unless Num_unstructured_parts is > 0
|
||||
@ -3264,7 +3264,7 @@ USERD_get_sol_times
|
||||
|
||||
Description:
|
||||
-----------
|
||||
Get the solution times associated with each time step for
|
||||
Get the solution times associated with each time step for
|
||||
desired timeset.
|
||||
|
||||
Specification:
|
||||
@ -3280,7 +3280,7 @@ USERD_get_sol_times
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid
|
||||
timeset_number's would be 1 and 2
|
||||
@ -3316,7 +3316,7 @@ USERD_get_timeset_description -
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid
|
||||
timeset_number's would be 1 and 2
|
||||
@ -3429,22 +3429,22 @@ USERD_get_var_by_component
|
||||
|
||||
(IN) imag_data = TRUE if imag component
|
||||
FALSE if real component
|
||||
|
||||
|
||||
(IN) component = The component: (0 if Z_SCALAR)
|
||||
(0 - 2 if Z_VECTOR)
|
||||
(0 - 5 if Z_TENSOR)
|
||||
(0 - 8 if Z_TENSOR9)
|
||||
|
||||
* 6 Symmetric Indicies, 0:5 *
|
||||
|
||||
* 6 Symmetric Indices, 0:5 *
|
||||
* ---------------------------- *
|
||||
* | 11 12 13 | | 0 3 4 | *
|
||||
* | | | | *
|
||||
* T = | 22 23 | = | 1 5 | *
|
||||
* | | | | *
|
||||
* | 33 | | 2 | *
|
||||
|
||||
|
||||
* 9 General Indicies, 0:8 *
|
||||
|
||||
* 9 General Indices, 0:8 *
|
||||
* ---------------------------- *
|
||||
* | 11 12 13 | | 0 3 4 | *
|
||||
* | | | | *
|
||||
@ -3452,7 +3452,7 @@ USERD_get_var_by_component
|
||||
* | | | | *
|
||||
* | 31 32 33 | | 7 8 2 | *
|
||||
|
||||
(OUT) var_array
|
||||
(OUT) var_array
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
(IMPORTANT: this array is 1-based for both Z_PER_NODE and Z_PER_ELEM!!!)
|
||||
@ -3474,7 +3474,7 @@ USERD_get_var_by_component
|
||||
if Z_PER_ELEM: = 1D array containing variable component
|
||||
value for each element of a particular
|
||||
part and type.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
(number_of_elements[which_part][which_type] + 1)
|
||||
long. See USERD_get_gold_part_build_info)
|
||||
@ -3536,7 +3536,7 @@ USERD_get_var_value_at_specific
|
||||
|
||||
If Z_PER_NODE:
|
||||
= The node number. This is not the id, but is
|
||||
the index of the global node
|
||||
the index of the global node
|
||||
list (1 based), or the block's
|
||||
node list (1 based).
|
||||
|
||||
@ -3745,17 +3745,17 @@ USERD_set_filenames
|
||||
|
||||
(IN) param_2 = The usage of this string depends on
|
||||
'two_fields' in USERD_get_name_of_reader.
|
||||
|
||||
|
||||
If two_fields is FALSE then it's empty.
|
||||
|
||||
If two_fields is TRUE, this is the
|
||||
manditory results file entered
|
||||
|
||||
If two_fields is TRUE, this is the
|
||||
manditory results file entered
|
||||
into the result field of the data dialog.
|
||||
|
||||
|
||||
If two_fields is -1, then this contains
|
||||
optional text (filenames, modifiers, etc.)
|
||||
that can be parsed and used to modify
|
||||
reader
|
||||
that can be parsed and used to modify
|
||||
reader
|
||||
|
||||
(IN) the_path = the path info from the data dialog.
|
||||
Note: filename_1 and filename_2 have already
|
||||
@ -3804,7 +3804,7 @@ USERD_set_server_number
|
||||
something that you can take advantage of. If your data is already
|
||||
partitioned in some manner, such that you can access the proper
|
||||
portions using this information.
|
||||
|
||||
|
||||
For all non-SOS uses, this will simply be 1 of 1
|
||||
|
||||
|
||||
@ -3830,7 +3830,7 @@ USERD_set_time_set_and_step
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number (1 based).
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid timeset_number's
|
||||
would be 1 and 2.
|
||||
@ -3999,14 +3999,14 @@ USERD_rigidbody_values
|
||||
Arguments:
|
||||
---------
|
||||
(IN) part_number = The part number
|
||||
|
||||
|
||||
(1-based index of part table, namely:
|
||||
|
||||
|
||||
1 ... Numparts_available.
|
||||
|
||||
|
||||
It is NOT the part_id that
|
||||
is loaded in USERD_get_gold_part_build_info)
|
||||
|
||||
|
||||
(OUT) values values[0] = IX (x location)
|
||||
values[1] = IY (y location)
|
||||
values[2] = IZ (z location)
|
||||
@ -4051,7 +4051,7 @@ USERD_set_right_side
|
||||
|
||||
|
||||
------------------------------------------------------------------
|
||||
ENHANCED GUI ROUTINES
|
||||
ENHANCED GUI ROUTINES
|
||||
|
||||
--------------------------------------------------------------------
|
||||
USERD_get_extra_gui_numbers
|
||||
@ -4075,7 +4075,7 @@ USERD_get_extra_gui_numbers
|
||||
Arguments:
|
||||
---------
|
||||
(OUT) num_Toggles = number of toggles that will be provided
|
||||
|
||||
|
||||
num_pulldowns = number of pulldowns that will be provided
|
||||
|
||||
num_fields = number of fields that will be provided
|
||||
@ -4095,63 +4095,63 @@ USERD_get_extra_gui_numbers
|
||||
simply delete these routines, or change their
|
||||
names to something such as
|
||||
USERD_DISABLED_get_extra_gui_defaults
|
||||
|
||||
|
||||
The presence of these routines
|
||||
will ensure that EnSight will call them and
|
||||
use their data to modify the extraction parameters set
|
||||
with some or all of the following:
|
||||
toggles, pulldown menu and fields.
|
||||
|
||||
|
||||
The user can then interact with the enhanced
|
||||
GUI and then send their choices to
|
||||
USERD_set_extra_gui_data
|
||||
|
||||
|
||||
Therefore if USERD_get_extra_gui_numbers
|
||||
exists then the other two must exist.
|
||||
|
||||
|
||||
If none exist, then the GUI will be unchanged.
|
||||
|
||||
|
||||
Toggle data will return an integer
|
||||
TRUE if checked
|
||||
FALSE if unchecked
|
||||
|
||||
|
||||
Pulldown menu will return an integer representing
|
||||
the menu item selected
|
||||
|
||||
|
||||
Field will return a string Z_LEN_GUI_FIELD_STR long.
|
||||
|
||||
|
||||
If all the enhanced GUI features are enabled it
|
||||
might look something like this
|
||||
|
||||
===================================================
|
||||
[] Title 1 [X] Title 3
|
||||
[X]Title 2 [X] Title 4
|
||||
|
||||
|
||||
Pulldown Menu ->
|
||||
Menu Choice 1
|
||||
Menu Choice 2
|
||||
Menu Choice 3
|
||||
|
||||
|
||||
Data Field Title 1 ____________________________
|
||||
|
||||
|
||||
Data Field Title 2 ____________________________
|
||||
=====================================================
|
||||
|
||||
This routine defines the numbers of toggles, pulldowns & fields
|
||||
|
||||
|
||||
The following are defined in the global_extern.h
|
||||
Z_MAX_NUM_GUI_PULL_ITEMS max num GUI pulldowns
|
||||
Z_LEN_GUI_PULL_STR max length of GUI pulldown string
|
||||
Z_LEN_GUI_FIELD_STR max length of field string
|
||||
Z_LEN_GUI_TITLE_STR max length of title string
|
||||
|
||||
|
||||
The library is loaded, this routine is
|
||||
called, then the library is unloaded.
|
||||
|
||||
|
||||
Do not define globals in this routine
|
||||
as when the library is unloaded, you'll
|
||||
lose them.
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------
|
||||
USERD_get_extra_gui_defaults
|
||||
@ -4185,17 +4185,17 @@ USERD_get_extra_gui_defaults
|
||||
[Z_LEN_GUI_TITLE_STR] long
|
||||
|
||||
toggle_default_status = Setting for each toggle (TRUE or FALSE)
|
||||
array dimension is [num_toggles] long
|
||||
array dimension is [num_toggles] long
|
||||
|
||||
pulldown_Title = title for each pulldown
|
||||
array dimension is [num_pulldowns] by
|
||||
[Z_LEN_GUI_TITLE_STR] long
|
||||
|
||||
pulldown_number_in_list = number of items in each pulldown
|
||||
array dimension is [num_pulldowns] long
|
||||
array dimension is [num_pulldowns] long
|
||||
|
||||
pulldown_default_selection = pulldown item selection for each pulldown
|
||||
array dimension is [num_pulldowns] long
|
||||
array dimension is [num_pulldowns] long
|
||||
|
||||
pulldown_item_strings = pulldown item strings
|
||||
array is [num_pulldowns] by
|
||||
@ -4215,7 +4215,7 @@ USERD_get_extra_gui_defaults
|
||||
Notes:
|
||||
-----
|
||||
* The library is loaded, this routine is called, then the library is unloaded.
|
||||
|
||||
|
||||
* Do not define globals in this routine as when the library is unloaded, you'll
|
||||
lose them.
|
||||
|
||||
@ -4256,7 +4256,7 @@ USERD_set_extra_gui_data
|
||||
* This routine is called when the library is permanently
|
||||
loaded to the EnSight session, so define your globals
|
||||
in this and later routines.
|
||||
|
||||
|
||||
* It's up to you to change your reader behavior according to
|
||||
user entries!
|
||||
|
||||
@ -4286,7 +4286,7 @@ USERD_get_var_extract_gui_numbers
|
||||
Arguments:
|
||||
---------
|
||||
(OUT) num_Toggles = number of toggles that will be provided
|
||||
|
||||
|
||||
num_pulldowns = number of pulldowns that will be provided
|
||||
|
||||
num_fields = number of fields that will be provided
|
||||
@ -4305,63 +4305,63 @@ USERD_get_var_extract_gui_numbers
|
||||
simply delete these routines, or change their
|
||||
names to something such as
|
||||
USERD_DISABLED_get_var_extract_gui_defaults
|
||||
|
||||
|
||||
The presence of these routines
|
||||
will ensure that EnSight will call them and
|
||||
use their data to modify the extraction parameters set
|
||||
with some or all of the following:
|
||||
toggles, pulldown menu and fields.
|
||||
|
||||
|
||||
The user can then interact with the enhanced
|
||||
GUI and then send their choices to
|
||||
USERD_set_extra_gui_data
|
||||
|
||||
|
||||
Therefore if USERD_get_var_extract_gui_numbers
|
||||
exists then the other two must exist.
|
||||
|
||||
|
||||
If none exist, then the GUI will be unchanged.
|
||||
|
||||
|
||||
Toggle data will return an integer
|
||||
TRUE if checked
|
||||
FALSE if unchecked
|
||||
|
||||
|
||||
Pulldown menu will return an integer representing
|
||||
the menu item selected
|
||||
|
||||
|
||||
Field will return a string Z_LEN_GUI_FIELD_STR long.
|
||||
|
||||
|
||||
If all the enhanced GUI features are enabled it
|
||||
might look something like this
|
||||
|
||||
===================================================
|
||||
[] Title 1 [X] Title 3
|
||||
[X]Title 2 [X] Title 4
|
||||
|
||||
|
||||
Pulldown Menu ->
|
||||
Menu Choice 1
|
||||
Menu Choice 2
|
||||
Menu Choice 3
|
||||
|
||||
|
||||
Data Field Title 1 ____________________________
|
||||
|
||||
|
||||
Data Field Title 2 ____________________________
|
||||
=====================================================
|
||||
|
||||
This routine defines the numbers of toggles, pulldowns & fields
|
||||
|
||||
|
||||
The following are defined in the global_extern.h
|
||||
Z_MAX_NUM_GUI_PULL_ITEMS max num GUI pulldowns
|
||||
Z_LEN_GUI_PULL_STR max length of GUI pulldown string
|
||||
Z_LEN_GUI_FIELD_STR max length of field string
|
||||
Z_LEN_GUI_TITLE_STR max length of title string
|
||||
|
||||
|
||||
The library is loaded, this routine is
|
||||
called, then the library is unloaded.
|
||||
|
||||
|
||||
Do not define globals in this routine
|
||||
as when the library is unloaded, you'll
|
||||
lose them.
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------
|
||||
USERD_get_var_extract_gui_defaults
|
||||
@ -4395,17 +4395,17 @@ USERD_get_var_extract_gui_defaults
|
||||
[Z_LEN_GUI_TITLE_STR] long
|
||||
|
||||
toggle_default_status = Setting for each toggle (TRUE or FALSE)
|
||||
array dimension is [num_toggles] long
|
||||
array dimension is [num_toggles] long
|
||||
|
||||
pulldown_Title = title for each pulldown
|
||||
array dimension is [num_pulldowns] by
|
||||
[Z_LEN_GUI_TITLE_STR] long
|
||||
|
||||
pulldown_number_in_list = number of items in each pulldown
|
||||
array dimension is [num_pulldowns] long
|
||||
array dimension is [num_pulldowns] long
|
||||
|
||||
pulldown_default_selection = pulldown item selection for each pulldown
|
||||
array dimension is [num_pulldowns] long
|
||||
array dimension is [num_pulldowns] long
|
||||
|
||||
pulldown_item_strings = pulldown item strings
|
||||
array is [num_pulldowns] by
|
||||
@ -4425,7 +4425,7 @@ USERD_get_var_extract_gui_defaults
|
||||
Notes:
|
||||
-----
|
||||
* The library is loaded, this routine is called, then the library is unloaded.
|
||||
|
||||
|
||||
* Do not define globals in this routine as when the library is unloaded, you'll
|
||||
lose them.
|
||||
|
||||
@ -4466,7 +4466,7 @@ USERD_set_var_extract_gui_data
|
||||
* This routine is called when the library is permanently
|
||||
loaded to the EnSight session, so define your globals
|
||||
in this and later routines.
|
||||
|
||||
|
||||
* It's up to you to change your reader behavior according to
|
||||
user entries!
|
||||
|
||||
@ -4478,19 +4478,19 @@ USERD_set_var_extract_gui_data
|
||||
/* ----------------------------------------------------------
|
||||
* New in EnSight 8 is the capability to remove (fail) elements
|
||||
* based on variable threshold values. Basically the variable
|
||||
* name, a couple of thresholds, a couple of values and a logic
|
||||
* name, a couple of thresholds, a couple of values and a logic
|
||||
* criteria are read in from this routine. Every element that
|
||||
* satisfies the failure criteria is removed and not used in
|
||||
* EnSight calculations.
|
||||
*
|
||||
* Example Failure criteria
|
||||
*
|
||||
* Example Failure criteria
|
||||
* Let fail_var_name = "fail_flag"
|
||||
* threshold_val1 = 0
|
||||
* threshold_operator1 = Z_EQUAL_TO
|
||||
* threshold_operator1 = Z_EQUAL_TO
|
||||
* logic_criteria2 not used
|
||||
* threshold_val2 not used
|
||||
* threshold_operator2 not used
|
||||
* For each value of "fail_flag" at each element,
|
||||
* For each value of "fail_flag" at each element,
|
||||
* if fail flag == threshold_val1 (0.0) then element fails
|
||||
* Return (Z_ERR) if this is not used.
|
||||
* Return (Z_OK) if failed element feature should be used
|
||||
@ -4519,7 +4519,7 @@ int USERD_get_uns_failed_params(
|
||||
Z_EQUAL_TO */
|
||||
int *threshold_operator2, /* Z_GREATER_THAN, Z_LESS_THAN,
|
||||
Z_EQUAL_TO */
|
||||
int *logic_criteria2
|
||||
int *logic_criteria2
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------
|
||||
|
||||
@ -18,16 +18,16 @@ Namely, rotational (yaw,pitch,roll) values were added to the values
|
||||
argument of USERD_rigidbody_values routine.
|
||||
|
||||
***>> API 2.07 additional capabilities (beyond API 2.06):
|
||||
Optional routine to allow userd defined readers to indicate their auto
|
||||
distribute preference when used with SOS. This is used to set the auto
|
||||
distribute flag default in the client. If the function does not exist,
|
||||
then it defaults to 'use auto distribute'. If the function does exist and
|
||||
indicates 'no auto distribute', then it's up to the UDR to decompose a
|
||||
Optional routine to allow userd defined readers to indicate their auto
|
||||
distribute preference when used with SOS. This is used to set the auto
|
||||
distribute flag default in the client. If the function does not exist,
|
||||
then it defaults to 'use auto distribute'. If the function does exist and
|
||||
indicates 'no auto distribute', then it's up to the UDR to decompose a
|
||||
distributed data set.
|
||||
USERD_prefer_auto_distribute
|
||||
Optional routine to allow userd defined readers to indicate their
|
||||
preference for the 'Set file...' button labels in the client's File->Open
|
||||
dialog. If the function does not exist or it returns a null string for
|
||||
Optional routine to allow userd defined readers to indicate their
|
||||
preference for the 'Set file...' button labels in the client's File->Open
|
||||
dialog. If the function does not exist or it returns a null string for
|
||||
an argument, then the default values are used.
|
||||
USERD_set_filename_button_labels
|
||||
|
||||
@ -66,10 +66,10 @@ reader itself. (Can actually be added to pre-2.05 readers)
|
||||
|
||||
|
||||
***>> API 2.04 additional capabilities (beyond API 2.03):
|
||||
Routines to handle failed elements. Basically
|
||||
a.One routine to return a flag indicating the existence of
|
||||
failed elements in at least one part in at least one
|
||||
timestep in the model.
|
||||
Routines to handle failed elements. Basically
|
||||
a.One routine to return a flag indicating the existence of
|
||||
failed elements in at least one part in at least one
|
||||
timestep in the model.
|
||||
b.A second routine to return a matrix of flags indexed by part and
|
||||
element type indicating which parts and element types have failed
|
||||
elements at the current time step.
|
||||
@ -85,7 +85,7 @@ c.Finally a third routine to return an array of flags for a given
|
||||
|
||||
|
||||
****************************************************************************
|
||||
Note: Only the the Ensight Gold example reader, has been moved to
|
||||
Note: Only the the Ensight Gold example reader, has been moved to
|
||||
this 2.06 API level. And it is purely for an example - it does not
|
||||
actually provide a benefit.
|
||||
****************************************************************************
|
||||
@ -117,10 +117,10 @@ The process for producing a user defined reader is:
|
||||
You may find it useful to place your library source in this area as
|
||||
well, but are not limited to this location.
|
||||
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
* ===> The descriptions of each library routine and the order that the
|
||||
routines are called, which is provided in this file, along with
|
||||
the example libraries, should make it possible for you to produce
|
||||
code for your own data reader.
|
||||
code for your own data reader.
|
||||
|
||||
|
||||
2. Produce the dynamic shared library.
|
||||
@ -168,7 +168,7 @@ The process for producing a user defined reader is:
|
||||
|
||||
If you choose to use a different build environment for your reader,
|
||||
you should take care to use compatible compilation flags to ensure
|
||||
compatibilty with the EnSight executables, most notably on the SGI
|
||||
compatibility with the EnSight executables, most notably on the SGI
|
||||
and HP-UX 11.0 platforms, which should use the following flags:
|
||||
|
||||
sgi_6.2_o32: -mips2
|
||||
@ -262,7 +262,7 @@ The process for producing a user defined reader is:
|
||||
location, and users can set the ENSIGHT7_READER variable to access them:
|
||||
|
||||
setenv ENSIGHT7_READER /usr/local/lib/e7readers
|
||||
|
||||
|
||||
A user working on a new reader may compile the reader and place it in
|
||||
a directory specified by the library path:
|
||||
|
||||
@ -307,7 +307,7 @@ USERD_get_block_ghost_flags block ghost cell flags
|
||||
These routines, which formerly were only for unstructured data, will now
|
||||
also be called for structured data if you specify that ids will be given
|
||||
in the USERD_get_node_label_status and USERD_get_element_label_status rotuines
|
||||
------------------------------------------------------------------------------
|
||||
------------------------------------------------------------------------------
|
||||
USERD_get_part_node_ids part's node ids
|
||||
USERD_get_part_element_ids_by_type part's element ids
|
||||
|
||||
@ -386,7 +386,7 @@ USERD_bkup archive routine
|
||||
|
||||
USERD_exit_routine cleanup upon exit routine
|
||||
|
||||
USERD_get_uns_failed_params Gets thresholds/criteria for failure
|
||||
USERD_get_uns_failed_params Gets thresholds/criteria for failure
|
||||
|
||||
USERD_rigidbody_existence Returns whether rigid body transformation
|
||||
data exists for the model.
|
||||
@ -409,14 +409,14 @@ Order Routines are called
|
||||
|
||||
The various main operations are given basically in the order they will
|
||||
be performed. Within each operation, the order the routines will be
|
||||
called is given.
|
||||
called is given.
|
||||
|
||||
1. Setting name in the gui, and specifying one or two input fields
|
||||
|
||||
USERD_get_name_of_reader
|
||||
USERD_get_reader_descrip (optional)
|
||||
USERD_get_extra_gui_numbers (optional)
|
||||
USERD_get_extra_gui_defaults (optional)
|
||||
USERD_get_extra_gui_defaults (optional)
|
||||
|
||||
2. Getting the reader version (also distinguishes between API's)
|
||||
|
||||
@ -428,7 +428,7 @@ called is given.
|
||||
USERD_get_extra_gui_defaults routine)
|
||||
USERD_get_structured_reader_cinching
|
||||
USERD_set_server_number
|
||||
USERD_set_extra_gui_data (optional)
|
||||
USERD_set_extra_gui_data (optional)
|
||||
USERD_set_filenames
|
||||
USERD_get_number_of_timesets
|
||||
USERD_get_geom_timeset_number
|
||||
@ -463,7 +463,7 @@ called is given.
|
||||
|
||||
USERD_get_number_of_variables
|
||||
USERD_get_gold_variable_info
|
||||
|
||||
|
||||
6. Part building (per part created)
|
||||
|
||||
both unstructured and structured:
|
||||
@ -505,12 +505,12 @@ called is given.
|
||||
dialog is closed)
|
||||
|
||||
7. Loading Variables
|
||||
|
||||
|
||||
constants:
|
||||
---------
|
||||
USERD_set_time_set_and_step
|
||||
USERD_get_constant_val
|
||||
|
||||
|
||||
scalars/vectors/tensors:
|
||||
------------------------
|
||||
USERD_get_descrip_lines
|
||||
@ -554,7 +554,7 @@ called is given.
|
||||
USERD_get_border_availability (If border representation
|
||||
USERD_get_border_elements_by_type is selected)
|
||||
|
||||
|
||||
|
||||
9. Node or Element queries over time
|
||||
|
||||
USERD_get_var_value_at_specific
|
||||
@ -594,7 +594,7 @@ Detailed Specifications
|
||||
Include files:
|
||||
--------------
|
||||
The following header file is required in any file containing these library
|
||||
routines.
|
||||
routines.
|
||||
|
||||
#include "global_extern.h"
|
||||
|
||||
@ -841,24 +841,24 @@ USERD_get_block_ghost_flags
|
||||
|
||||
(OUT) ghost_flags = 1D array containing ghost flag value
|
||||
for each block cell.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
(i-1)*(j-1)*(k-1) for the block long)
|
||||
|
||||
|
||||
possible values are: 0 = non-ghost cell (normal cell)
|
||||
>0 = ghost cell
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* This routine is new in the 2.01 API
|
||||
|
||||
* This will be based on Current_time_step
|
||||
|
||||
|
||||
* Only called for structured "block" parts that have some ghost cells
|
||||
as indicated by the USERD_get_ghost_in_block_flag. The model must
|
||||
of course also have been indicated to have some ghost cells in the
|
||||
USERD_get_ghost_in_model_flag routine.
|
||||
|
||||
|
||||
* It is sufficient to set the value to be 1 to flag as a ghost cell,
|
||||
but the value can be any non-zero value, so you could use it to
|
||||
indicate which block or which server (for Server-of-server use) the
|
||||
@ -926,7 +926,7 @@ USERD_get_border_elements_by_type
|
||||
|
||||
Description:
|
||||
-----------
|
||||
Provides border element connectivity and parent information.
|
||||
Provides border element connectivity and parent information.
|
||||
|
||||
Specification:
|
||||
-------------
|
||||
@ -995,7 +995,7 @@ USERD_get_border_elements_by_type
|
||||
(Array will have been allocated
|
||||
num_of_elements of the type long)
|
||||
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* Not called unless USERD_get_border_availability returned Z_OK
|
||||
@ -1097,7 +1097,7 @@ USERD_get_dataset_query_file_info
|
||||
(Typically obtained with a call to the
|
||||
"stat" system routine) (Is a long)
|
||||
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
qfiles[].timemod = The time the file was last modified
|
||||
(Z_MAXTIMLEN is the dimensioned length
|
||||
of this string)
|
||||
(Typically obtained with a call to the
|
||||
@ -1204,7 +1204,7 @@ USERD_get_element_label_status
|
||||
on a per part, per type basis, if TRUE status is returned here.
|
||||
|
||||
For structured parts, EnSight will assign ids if you return a
|
||||
status of TRUE here. You cannot assign them youself!!
|
||||
status of TRUE here. You cannot assign them yourself!!
|
||||
|
||||
* Starting at API 2.01:
|
||||
--------------------
|
||||
@ -1231,7 +1231,7 @@ USERD_get_geom_timeset_number -
|
||||
|
||||
Returns:
|
||||
-------
|
||||
Geom_timeset_number = The timeset number that will be used for geometry.
|
||||
Geom_timeset_number = The timeset number that will be used for geometry.
|
||||
For example, if USERD_get_number_of timesets
|
||||
returns 2, the valid timeset numbers would be
|
||||
1 or 2.
|
||||
@ -1347,7 +1347,7 @@ USERD_get_gold_part_build_info
|
||||
long)
|
||||
|
||||
(OUT) number_of_nodes = Number of unstructured nodes in the part
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Numparts_available long)
|
||||
|
||||
@ -1630,23 +1630,23 @@ USERD_get_gold_variable_info
|
||||
Z_PER_ELEM
|
||||
|
||||
(OUT) var_complex = TRUE if complex, FALSE otherwise
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
|
||||
(OUT) var_ifilename = Variable imaginary filenames (if complex)
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables by Z_BUFL long)
|
||||
|
||||
(OUT) var_freq = complex frequency (if complex)
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
|
||||
(OUT) var_contran = TRUE if constant changes per time step
|
||||
FALSE if constant truly same at all time steps
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Num_variables long)
|
||||
|
||||
@ -1720,7 +1720,7 @@ USERD_get_ghosts_in_block_flag
|
||||
-----
|
||||
* This routine is new in the 2.01 API
|
||||
* This will be based on Current_time_step
|
||||
|
||||
|
||||
* Intended for structured parts only, value will be ignored for
|
||||
unstructured parts
|
||||
|
||||
@ -1744,7 +1744,7 @@ USERD_get_ghosts_in_model_flag
|
||||
|
||||
Arguments:
|
||||
---------
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* This routine is new in the 2.01 API
|
||||
@ -1859,7 +1859,7 @@ USERD_get_maxsize_info
|
||||
---------
|
||||
(OUT) max_number_of_nodes = Maximum number of unstructured nodes
|
||||
in the part (over all time).
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
Numparts_available long)
|
||||
|
||||
@ -1982,7 +1982,7 @@ USERD_get_name_of_reader
|
||||
Specification:
|
||||
-------------
|
||||
int USERD_get_name_of_reader(char reader_name[Z_MAX_USERD_NAME],
|
||||
int *two_fields)
|
||||
int *two_fields)
|
||||
|
||||
Returns:
|
||||
-------
|
||||
@ -1994,17 +1994,17 @@ USERD_get_name_of_reader
|
||||
(OUT) reader_name = the name of the your reader or data format.
|
||||
(max length is Z_MAX_USERD_NAME, which is 20)
|
||||
|
||||
(OUT) two_fields = FALSE if only one data field is
|
||||
required.
|
||||
TRUE if two data fields required
|
||||
|
||||
-1 if one field (Geom) required
|
||||
(OUT) two_fields = FALSE if only one data field is
|
||||
required.
|
||||
TRUE if two data fields required
|
||||
|
||||
-1 if one field (Geom) required
|
||||
and one field (Param) is optional
|
||||
Param field can contain any text
|
||||
for example a file name, modifiers,
|
||||
etc. that can be used to modify the
|
||||
reader's behavior.
|
||||
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
@ -2822,37 +2822,37 @@ USERD_get_number_of_timesets
|
||||
|
||||
* If you have a static model, both geometry and variables, you should
|
||||
return a value of zero.
|
||||
|
||||
|
||||
* If you have a transient model, then you should return one or more.
|
||||
|
||||
|
||||
For example:
|
||||
|
||||
|
||||
Geometry Variables No. of timesets
|
||||
--------- ------------------------------ ---------------
|
||||
static static 0
|
||||
static transient, all using same timeset 1
|
||||
|
||||
|
||||
transient transient, all using same timeset as geom 1
|
||||
|
||||
|
||||
static transient, using 3 different timesets 3
|
||||
|
||||
|
||||
transient transient, using 3 different timesets and
|
||||
none of them the same as the
|
||||
geometry timeset 4
|
||||
etc.
|
||||
|
||||
|
||||
NOTE: ALL GEOMETRY MUST USE THE SAME TIMESET!!! You will have to provide
|
||||
the timeset number to use
|
||||
for geometry in:
|
||||
USERD_get_geom_timeset_number
|
||||
|
||||
|
||||
Variables can use the same timeset as the geometry, or can use
|
||||
other timesets. More than one variable can use the same timeset.
|
||||
|
||||
|
||||
example: changing geometry at 5 steps, 0.0, 1.0, 2.0, 3.0, 4.0
|
||||
variable 1 provided at these same five steps
|
||||
variable 2 provided at 3 steps, 0.5, 1.25, 3.33
|
||||
|
||||
|
||||
This routine should return a value of 2, because only
|
||||
two different timesets are needed. Timeset 1 would be for the
|
||||
geometry and variable 1 (they both use it). Timeset 2 would
|
||||
@ -3134,7 +3134,7 @@ USERD_get_part_elements_by_type
|
||||
conn_array[100][4] when called with Z_QUA04
|
||||
|
||||
conn_array[30][8] when called with Z_HEX08
|
||||
|
||||
|
||||
Notes:
|
||||
-----
|
||||
* Not called unless Num_unstructured_parts is > 0
|
||||
@ -3268,7 +3268,7 @@ USERD_get_sol_times
|
||||
|
||||
Description:
|
||||
-----------
|
||||
Get the solution times associated with each time step for
|
||||
Get the solution times associated with each time step for
|
||||
desired timeset.
|
||||
|
||||
Specification:
|
||||
@ -3284,7 +3284,7 @@ USERD_get_sol_times
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid
|
||||
timeset_number's would be 1 and 2
|
||||
@ -3320,7 +3320,7 @@ USERD_get_timeset_description -
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid
|
||||
timeset_number's would be 1 and 2
|
||||
@ -3433,22 +3433,22 @@ USERD_get_var_by_component
|
||||
|
||||
(IN) imag_data = TRUE if imag component
|
||||
FALSE if real component
|
||||
|
||||
|
||||
(IN) component = The component: (0 if Z_SCALAR)
|
||||
(0 - 2 if Z_VECTOR)
|
||||
(0 - 5 if Z_TENSOR)
|
||||
(0 - 8 if Z_TENSOR9)
|
||||
|
||||
* 6 Symmetric Indicies, 0:5 *
|
||||
|
||||
* 6 Symmetric Indices, 0:5 *
|
||||
* ---------------------------- *
|
||||
* | 11 12 13 | | 0 3 4 | *
|
||||
* | | | | *
|
||||
* T = | 22 23 | = | 1 5 | *
|
||||
* | | | | *
|
||||
* | 33 | | 2 | *
|
||||
|
||||
|
||||
* 9 General Indicies, 0:8 *
|
||||
|
||||
* 9 General Indices, 0:8 *
|
||||
* ---------------------------- *
|
||||
* | 11 12 13 | | 0 3 4 | *
|
||||
* | | | | *
|
||||
@ -3456,7 +3456,7 @@ USERD_get_var_by_component
|
||||
* | | | | *
|
||||
* | 31 32 33 | | 7 8 2 | *
|
||||
|
||||
(OUT) var_array
|
||||
(OUT) var_array
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
(IMPORTANT: this array is 1-based for both Z_PER_NODE and Z_PER_ELEM!!!)
|
||||
@ -3478,7 +3478,7 @@ USERD_get_var_by_component
|
||||
if Z_PER_ELEM: = 1D array containing variable component
|
||||
value for each element of a particular
|
||||
part and type.
|
||||
|
||||
|
||||
(Array will have been allocated
|
||||
(number_of_elements[which_part][which_type] + 1)
|
||||
long. See USERD_get_gold_part_build_info)
|
||||
@ -3540,7 +3540,7 @@ USERD_get_var_value_at_specific
|
||||
|
||||
If Z_PER_NODE:
|
||||
= The node number. This is not the id, but is
|
||||
the index of the global node
|
||||
the index of the global node
|
||||
list (1 based), or the block's
|
||||
node list (1 based).
|
||||
|
||||
@ -3749,17 +3749,17 @@ USERD_set_filenames
|
||||
|
||||
(IN) param_2 = The usage of this string depends on
|
||||
'two_fields' in USERD_get_name_of_reader.
|
||||
|
||||
|
||||
If two_fields is FALSE then it's empty.
|
||||
|
||||
If two_fields is TRUE, this is the
|
||||
manditory results file entered
|
||||
|
||||
If two_fields is TRUE, this is the
|
||||
manditory results file entered
|
||||
into the result field of the data dialog.
|
||||
|
||||
|
||||
If two_fields is -1, then this contains
|
||||
optional text (filenames, modifiers, etc.)
|
||||
that can be parsed and used to modify
|
||||
reader
|
||||
that can be parsed and used to modify
|
||||
reader
|
||||
|
||||
(IN) the_path = the path info from the data dialog.
|
||||
Note: filename_1 and filename_2 have already
|
||||
@ -3808,7 +3808,7 @@ USERD_set_server_number
|
||||
something that you can take advantage of. If your data is already
|
||||
partitioned in some manner, such that you can access the proper
|
||||
portions using this information.
|
||||
|
||||
|
||||
For all non-SOS uses, this will simply be 1 of 1
|
||||
|
||||
|
||||
@ -3834,7 +3834,7 @@ USERD_set_time_set_and_step
|
||||
Arguments:
|
||||
---------
|
||||
(IN) timeset_number = the timeset number (1 based).
|
||||
|
||||
|
||||
For example: If USERD_get_number_of_timesets
|
||||
returns 2, the valid timeset_number's
|
||||
would be 1 and 2.
|
||||
@ -4003,14 +4003,14 @@ USERD_rigidbody_values
|
||||
Arguments:
|
||||
---------
|
||||
(IN) part_number = The part number
|
||||
|
||||
|
||||
(1-based index of part table, namely:
|
||||
|
||||
|
||||
1 ... Numparts_available.
|
||||
|
||||
|
||||
It is NOT the part_id that
|
||||
is loaded in USERD_get_gold_part_build_info)
|
||||
|
||||
|
||||
(OUT) values values[0] = IX (x location)
|
||||
values[1] = IY (y location)
|
||||
values[2] = IZ (z location)
|
||||
@ -4032,7 +4032,7 @@ USERD_rigidbody_values
|
||||
operation. This is useful to get parts from one
|
||||
standard layout to a different standard layout.
|
||||
(example, flex body parts computed in an axis system
|
||||
different than that of rigid body parts manipulation)
|
||||
different than that of rigid body parts manipulation)
|
||||
If not needed or desired, set these to 0.0
|
||||
|
||||
values[10] = rot_order (order the roations are applied
|
||||
@ -4087,7 +4087,7 @@ USERD_set_right_side
|
||||
|
||||
|
||||
------------------------------------------------------------------
|
||||
ENHANCED GUI ROUTINES
|
||||
ENHANCED GUI ROUTINES
|
||||
|
||||
--------------------------------------------------------------------
|
||||
USERD_get_extra_gui_numbers
|
||||
@ -4111,7 +4111,7 @@ USERD_get_extra_gui_numbers
|
||||
Arguments:
|
||||
---------
|
||||
(OUT) num_Toggles = number of toggles that will be provided
|
||||
|
||||
|
||||
num_pulldowns = number of pulldowns that will be provided
|
||||
|
||||
num_fields = number of fields that will be provided
|
||||
@ -4131,63 +4131,63 @@ USERD_get_extra_gui_numbers
|
||||
simply delete these routines, or change their
|
||||
names to something such as
|
||||
USERD_DISABLED_get_extra_gui_defaults
|
||||
|
||||
|
||||
The presence of these routines
|
||||
will ensure that EnSight will call them and
|
||||
use their data to modify the extraction parameters set
|
||||
with some or all of the following:
|
||||
toggles, pulldown menu and fields.
|
||||
|
||||
|
||||
The user can then interact with the enhanced
|
||||
GUI and then send their choices to
|
||||
USERD_set_extra_gui_data
|
||||
|
||||
|
||||
Therefore if USERD_get_extra_gui_numbers
|
||||
exists then the other two must exist.
|
||||
|
||||
|
||||
If none exist, then the GUI will be unchanged.
|
||||
|
||||
|
||||
Toggle data will return an integer
|
||||
TRUE if checked
|
||||
FALSE if unchecked
|
||||
|
||||
|
||||
Pulldown menu will return an integer representing
|
||||
the menu item selected
|
||||
|
||||
|
||||
Field will return a string Z_LEN_GUI_FIELD_STR long.
|
||||
|
||||
|
||||
If all the enhanced GUI features are enabled it
|
||||
might look something like this
|
||||
|
||||
===================================================
|
||||
[] Title 1 [X] Title 3
|
||||
[X]Title 2 [X] Title 4
|
||||
|
||||
|
||||
Pulldown Menu ->
|
||||
Menu Choice 1
|
||||
Menu Choice 2
|
||||
Menu Choice 3
|
||||
|
||||
|
||||
Data Field Title 1 ____________________________
|
||||
|
||||
|
||||
Data Field Title 2 ____________________________
|
||||
=====================================================
|
||||
|
||||
This routine defines the numbers of toggles, pulldowns & fields
|
||||
|
||||
|
||||
The following are defined in the global_extern.h
|
||||
Z_MAX_NUM_GUI_PULL_ITEMS max num GUI pulldowns
|
||||
Z_LEN_GUI_PULL_STR max length of GUI pulldown string
|
||||
Z_LEN_GUI_FIELD_STR max length of field string
|
||||
Z_LEN_GUI_TITLE_STR max length of title string
|
||||
|
||||
|
||||
The library is loaded, this routine is
|
||||
called, then the library is unloaded.
|
||||
|
||||
|
||||
Do not define globals in this routine
|
||||
as when the library is unloaded, you'll
|
||||
lose them.
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------
|
||||
USERD_get_extra_gui_defaults
|
||||
@ -4221,17 +4221,17 @@ USERD_get_extra_gui_defaults
|
||||
[Z_LEN_GUI_TITLE_STR] long
|
||||
|
||||
toggle_default_status = Setting for each toggle (TRUE or FALSE)
|
||||
array dimension is [num_toggles] long
|
||||
array dimension is [num_toggles] long
|
||||
|
||||
pulldown_Title = title for each pulldown
|
||||
array dimension is [num_pulldowns] by
|
||||
[Z_LEN_GUI_TITLE_STR] long
|
||||
|
||||
pulldown_number_in_list = number of items in each pulldown
|
||||
array dimension is [num_pulldowns] long
|
||||
array dimension is [num_pulldowns] long
|
||||
|
||||
pulldown_default_selection = pulldown item selection for each pulldown
|
||||
array dimension is [num_pulldowns] long
|
||||
array dimension is [num_pulldowns] long
|
||||
|
||||
pulldown_item_strings = pulldown item strings
|
||||
array is [num_pulldowns] by
|
||||
@ -4251,7 +4251,7 @@ USERD_get_extra_gui_defaults
|
||||
Notes:
|
||||
-----
|
||||
* The library is loaded, this routine is called, then the library is unloaded.
|
||||
|
||||
|
||||
* Do not define globals in this routine as when the library is unloaded, you'll
|
||||
lose them.
|
||||
|
||||
@ -4292,7 +4292,7 @@ USERD_set_extra_gui_data
|
||||
* This routine is called when the library is permanently
|
||||
loaded to the EnSight session, so define your globals
|
||||
in this and later routines.
|
||||
|
||||
|
||||
* It's up to you to change your reader behavior according to
|
||||
user entries!
|
||||
|
||||
@ -4322,7 +4322,7 @@ USERD_get_var_extract_gui_numbers
|
||||
Arguments:
|
||||
---------
|
||||
(OUT) num_Toggles = number of toggles that will be provided
|
||||
|
||||
|
||||
num_pulldowns = number of pulldowns that will be provided
|
||||
|
||||
num_fields = number of fields that will be provided
|
||||
@ -4341,63 +4341,63 @@ USERD_get_var_extract_gui_numbers
|
||||
simply delete these routines, or change their
|
||||
names to something such as
|
||||
USERD_DISABLED_get_var_extract_gui_defaults
|
||||
|
||||
|
||||
The presence of these routines
|
||||
will ensure that EnSight will call them and
|
||||
use their data to modify the extraction parameters set
|
||||
with some or all of the following:
|
||||
toggles, pulldown menu and fields.
|
||||
|
||||
|
||||
The user can then interact with the enhanced
|
||||
GUI and then send their choices to
|
||||
USERD_set_extra_gui_data
|
||||
|
||||
|
||||
Therefore if USERD_get_var_extract_gui_numbers
|
||||
exists then the other two must exist.
|
||||
|
||||
|
||||
If none exist, then the GUI will be unchanged.
|
||||
|
||||
|
||||
Toggle data will return an integer
|
||||
TRUE if checked
|
||||
FALSE if unchecked
|
||||
|
||||
|
||||
Pulldown menu will return an integer representing
|
||||
the menu item selected
|
||||
|
||||
|
||||
Field will return a string Z_LEN_GUI_FIELD_STR long.
|
||||
|
||||
|
||||
If all the enhanced GUI features are enabled it
|
||||
might look something like this
|
||||
|
||||
===================================================
|
||||
[] Title 1 [X] Title 3
|
||||
[X]Title 2 [X] Title 4
|
||||
|
||||
|
||||
Pulldown Menu ->
|
||||
Menu Choice 1
|
||||
Menu Choice 2
|
||||
Menu Choice 3
|
||||
|
||||
|
||||
Data Field Title 1 ____________________________
|
||||
|
||||
|
||||
Data Field Title 2 ____________________________
|
||||
=====================================================
|
||||
|
||||
This routine defines the numbers of toggles, pulldowns & fields
|
||||
|
||||
|
||||
The following are defined in the global_extern.h
|
||||
Z_MAX_NUM_GUI_PULL_ITEMS max num GUI pulldowns
|
||||
Z_LEN_GUI_PULL_STR max length of GUI pulldown string
|
||||
Z_LEN_GUI_FIELD_STR max length of field string
|
||||
Z_LEN_GUI_TITLE_STR max length of title string
|
||||
|
||||
|
||||
The library is loaded, this routine is
|
||||
called, then the library is unloaded.
|
||||
|
||||
|
||||
Do not define globals in this routine
|
||||
as when the library is unloaded, you'll
|
||||
lose them.
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------
|
||||
USERD_get_var_extract_gui_defaults
|
||||
@ -4431,17 +4431,17 @@ USERD_get_var_extract_gui_defaults
|
||||
[Z_LEN_GUI_TITLE_STR] long
|
||||
|
||||
toggle_default_status = Setting for each toggle (TRUE or FALSE)
|
||||
array dimension is [num_toggles] long
|
||||
array dimension is [num_toggles] long
|
||||
|
||||
pulldown_Title = title for each pulldown
|
||||
array dimension is [num_pulldowns] by
|
||||
[Z_LEN_GUI_TITLE_STR] long
|
||||
|
||||
pulldown_number_in_list = number of items in each pulldown
|
||||
array dimension is [num_pulldowns] long
|
||||
array dimension is [num_pulldowns] long
|
||||
|
||||
pulldown_default_selection = pulldown item selection for each pulldown
|
||||
array dimension is [num_pulldowns] long
|
||||
array dimension is [num_pulldowns] long
|
||||
|
||||
pulldown_item_strings = pulldown item strings
|
||||
array is [num_pulldowns] by
|
||||
@ -4461,7 +4461,7 @@ USERD_get_var_extract_gui_defaults
|
||||
Notes:
|
||||
-----
|
||||
* The library is loaded, this routine is called, then the library is unloaded.
|
||||
|
||||
|
||||
* Do not define globals in this routine as when the library is unloaded, you'll
|
||||
lose them.
|
||||
|
||||
@ -4502,7 +4502,7 @@ USERD_set_var_extract_gui_data
|
||||
* This routine is called when the library is permanently
|
||||
loaded to the EnSight session, so define your globals
|
||||
in this and later routines.
|
||||
|
||||
|
||||
* It's up to you to change your reader behavior according to
|
||||
user entries!
|
||||
|
||||
@ -4514,19 +4514,19 @@ USERD_set_var_extract_gui_data
|
||||
/* ----------------------------------------------------------
|
||||
* New in EnSight 8 is the capability to remove (fail) elements
|
||||
* based on variable threshold values. Basically the variable
|
||||
* name, a couple of thresholds, a couple of values and a logic
|
||||
* name, a couple of thresholds, a couple of values and a logic
|
||||
* criteria are read in from this routine. Every element that
|
||||
* satisfies the failure criteria is removed and not used in
|
||||
* EnSight calculations.
|
||||
*
|
||||
* Example Failure criteria
|
||||
*
|
||||
* Example Failure criteria
|
||||
* Let fail_var_name = "fail_flag"
|
||||
* threshold_val1 = 0
|
||||
* threshold_operator1 = Z_EQUAL_TO
|
||||
* threshold_operator1 = Z_EQUAL_TO
|
||||
* logic_criteria2 not used
|
||||
* threshold_val2 not used
|
||||
* threshold_operator2 not used
|
||||
* For each value of "fail_flag" at each element,
|
||||
* For each value of "fail_flag" at each element,
|
||||
* if fail flag == threshold_val1 (0.0) then element fails
|
||||
* Return (Z_ERR) if this is not used.
|
||||
* Return (Z_OK) if failed element feature should be used
|
||||
@ -4555,7 +4555,7 @@ int USERD_get_uns_failed_params(
|
||||
Z_EQUAL_TO */
|
||||
int *threshold_operator2, /* Z_GREATER_THAN, Z_LESS_THAN,
|
||||
Z_EQUAL_TO */
|
||||
int *logic_criteria2
|
||||
int *logic_criteria2
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------
|
||||
|
||||
@ -799,7 +799,7 @@ USERD_get_part_element_ids_by_type_in_buffers(int part_number,
|
||||
* (0 - 5 if Z_TENSOR)
|
||||
* (0 - 8 if Z_TENSOR9)
|
||||
*
|
||||
* * 6 Symmetric Indicies, 0:5 *
|
||||
* * 6 Symmetric Indices, 0:5 *
|
||||
* * ---------------------------- *
|
||||
* * | 11 12 13 | | 0 3 4 | *
|
||||
* * | | | | *
|
||||
@ -807,7 +807,7 @@ USERD_get_part_element_ids_by_type_in_buffers(int part_number,
|
||||
* * | | | | *
|
||||
* * | 33 | | 2 | *
|
||||
*
|
||||
* * 9 General Indicies, 0:8 *
|
||||
* * 9 General Indices, 0:8 *
|
||||
* * ---------------------------- *
|
||||
* * | 11 12 13 | | 0 1 2 | *
|
||||
* * | | | | *
|
||||
|
||||
@ -93,7 +93,7 @@ int USERD_set_filenames
|
||||
fieldNames = objects.names();
|
||||
|
||||
// because of the spray being a 'field' ...
|
||||
// get the availabe number of variables and
|
||||
// get the available number of variables and
|
||||
// check for type (scalar/vector/tensor)
|
||||
|
||||
label nVar = 0;
|
||||
|
||||
@ -365,7 +365,7 @@ enum z_matset_via_file_type
|
||||
#define DATA_TARGET_MASK 0x0000000f
|
||||
|
||||
/* ---------------------------------------
|
||||
* Failed elemenet enums
|
||||
* Failed element enums
|
||||
* --------------------------------------- */
|
||||
|
||||
enum z_element_failure_criteria
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -61,10 +61,10 @@ Description
|
||||
|
||||
@endverbatim
|
||||
|
||||
When the operation is peformed - for union, all of the edges generates where
|
||||
one surfaces cuts another are all "internal" for union, and "external" for
|
||||
intersection, b - a and a - b. This has been assumed, formal (dis)proof is
|
||||
invited.
|
||||
When the operation is performed - for union, all of the edges generates
|
||||
where one surfaces cuts another are all "internal" for union, and "external"
|
||||
for intersection, b - a and a - b. This has been assumed, formal (dis)proof
|
||||
is invited.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
@ -681,7 +681,7 @@ static void getSplitVerts
|
||||
}
|
||||
else
|
||||
{
|
||||
// Copy upto (but not including) e[1]
|
||||
// Copy up to (but not including) e[1]
|
||||
label i1 = findIndex(orderedVerts, e[1]);
|
||||
splitVerts = SubList<label>(orderedVerts, i1, 0);
|
||||
splitWeights = SubList<scalar>(orderedWeights, i1, 0);
|
||||
@ -714,7 +714,7 @@ static void getSplitVerts
|
||||
{
|
||||
// Reverse.
|
||||
|
||||
// Copy upto (but not including) e[0]
|
||||
// Copy up to (but not including) e[0]
|
||||
|
||||
label i0 = findIndex(orderedVerts, e[0]);
|
||||
splitVerts = SubList<label>(orderedVerts, i0, 0);
|
||||
|
||||
@ -40,7 +40,7 @@ Quaternion model_orientation; // orientation of bunny
|
||||
// We just set up this system here in this module
|
||||
// so that we could retrieve the model at any desired vertex count.
|
||||
// Therefore if this part of the program confuses you, then
|
||||
// dont worry about it. It might help to look over the progmesh.cpp
|
||||
// don't worry about it. It might help to look over the progmesh.cpp
|
||||
// module first.
|
||||
|
||||
// Map()
|
||||
@ -93,7 +93,7 @@ void DrawModelTriangles() {
|
||||
// could have been made into a "break" statement.
|
||||
if(p0==p1 || p1==p2 || p2==p0) continue;
|
||||
renderpolycount++;
|
||||
// if we are not currenly morphing between 2 levels of detail
|
||||
// if we are not currently morphing between 2 levels of detail
|
||||
// (i.e. if morph=1.0) then q0,q1, and q2 are not necessary.
|
||||
int q0= Map(p0,(int)(render_num*lodbase));
|
||||
int q1= Map(p1,(int)(render_num*lodbase));
|
||||
|
||||
@ -273,7 +273,7 @@ void AddFaces(List<tridata> &tri){
|
||||
|
||||
Vertex *MinimumCostEdge(){
|
||||
// Find the edge that when collapsed will affect model the least.
|
||||
// This funtion actually returns a Vertex, the second vertex
|
||||
// This function actually returns a Vertex, the second vertex
|
||||
// of the edge (collapse candidate) is stored in the vertex data.
|
||||
// Serious optimization opportunity here: this function currently
|
||||
// does a sequential search through an unsorted list :-(
|
||||
|
||||
@ -14,7 +14,7 @@ float magnitude(Vector v) {
|
||||
Vector normalize(Vector v) {
|
||||
float d=magnitude(v);
|
||||
if (d==0) {
|
||||
printf("Cant normalize ZERO vector\n");
|
||||
printf("Can't normalize ZERO vector\n");
|
||||
assert(0);
|
||||
d=0.1f;
|
||||
}
|
||||
|
||||
@ -76,7 +76,7 @@ void CalcFPSDeltaT(){
|
||||
}
|
||||
DeltaT = (float)(current-last)/CLOCKS_PER_SEC;
|
||||
if(current==last) {
|
||||
DeltaT = 0.1f/CLOCKS_PER_SEC; // it just cant be 0
|
||||
DeltaT = 0.1f/CLOCKS_PER_SEC; // it just can't be 0
|
||||
}
|
||||
// if(DeltaT>1.0) DeltaT=1.0;
|
||||
FPS = (float)rv;
|
||||
|
||||
@ -242,7 +242,7 @@ label markBorderPoints
|
||||
}
|
||||
|
||||
|
||||
// Get minumum length of edges connected to pointi
|
||||
// Get minimum length of edges connected to pointi
|
||||
// Serves to get some local length scale.
|
||||
scalar minEdgeLen(const triSurface& surf, const label pointi)
|
||||
{
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
EXTENDED THIRD MILLENIUM IDEAL GAS AND CONDENSED PHASE THERMOCHEMICAL DATABASE
|
||||
EXTENDED THIRD MILLENNIUM IDEAL GAS AND CONDENSED PHASE THERMOCHEMICAL DATABASE
|
||||
FOR COMBUSTION WITH UPDATES FROM ACTIVE THERMOCHEMICAL TABLES
|
||||
Authors: Elke Goos, Alexander Burcat and Branko Ruscic.
|
||||
|
||||
It is strictly forbiden to include this database as is or parts of it in any
|
||||
It is strictly forbidden to include this database as is or parts of it in any
|
||||
commercial software firmware or hardware without permission from the authors.
|
||||
Contact: Elke.Goos@dlr.de
|
||||
|
||||
*WARNING***The original 7-coeficient polynomials can accept molecules
|
||||
containing only four different elements. The new CHEMKIN program was changed to
|
||||
accept polynomials with 5 diferent elements. See the CHEMKIN manual.
|
||||
accept polynomials with 5 different elements. See the CHEMKIN manual.
|
||||
Where the fifth element exist, the new Chemkin convention was folowed.
|
||||
|
||||
THERMO ALL
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
/*
|
||||
EXTENDED THIRD MILLENIUM IDEAL GAS AND CONDENSED PHASE THERMOCHEMICAL DATABASE
|
||||
EXTENDED THIRD MILLENNIUM IDEAL GAS AND CONDENSED PHASE THERMOCHEMICAL DATABASE
|
||||
FOR COMBUSTION WITH UPDATES FROM ACTIVE THERMOCHEMICAL TABLES
|
||||
Authors: Elke Goos, Alexander Burcat and Branko Ruscic.
|
||||
|
||||
It is strictly forbiden to include this database as is or parts of it in any
|
||||
It is strictly forbidden to include this database as is or parts of it in any
|
||||
commercial software firmware or hardware without permission from the authors.
|
||||
Contact: Elke.Goos@dlr.de
|
||||
|
||||
*WARNING***The original 7-coeficient polynomials can accept molecules
|
||||
containing only four different elements. The new CHEMKIN program was changed to
|
||||
accept polynomials with 5 diferent elements. See the CHEMKIN manual.
|
||||
accept polynomials with 5 different elements. See the CHEMKIN manual.
|
||||
Where the fifth element exist, the new Chemkin convention was folowed.
|
||||
|
||||
This file was generated from therm.dat provided in this directory.
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -186,7 +186,7 @@ public:
|
||||
|
||||
inline void resizeMatrix(scalarSquareMatrix& m) const;
|
||||
|
||||
//- Solve the ODE system as far as possible upto dxTry
|
||||
//- Solve the ODE system as far as possible up to dxTry
|
||||
// adjusting the step as necessary to provide a solution within
|
||||
// the specified tolerance.
|
||||
// Update the state and return an estimate for the next step in dxTry
|
||||
@ -197,7 +197,7 @@ public:
|
||||
scalar& dxTry
|
||||
) const;
|
||||
|
||||
//- Solve the ODE system as far as possible upto dxTry
|
||||
//- Solve the ODE system as far as possible up to dxTry
|
||||
// adjusting the step as necessary to provide a solution within
|
||||
// the specified tolerance.
|
||||
// Update the state and return an estimate for the next step in dxTry
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -259,7 +259,7 @@ Foam::fileName Foam::cwd()
|
||||
}
|
||||
else if(errno == ERANGE)
|
||||
{
|
||||
// Increment path length upto the pathLengthMax limit
|
||||
// Increment path length up to the pathLengthMax limit
|
||||
if
|
||||
(
|
||||
(pathLengthLimit += POSIX::pathLengthChunk)
|
||||
@ -687,7 +687,7 @@ Foam::fileNameList Foam::readDir
|
||||
{
|
||||
fileName fName(list->d_name);
|
||||
|
||||
// ignore files begining with ., i.e. '.', '..' and '.*'
|
||||
// ignore files beginning with ., i.e. '.', '..' and '.*'
|
||||
if (fName.size() && fName[0] != '.')
|
||||
{
|
||||
word fExt = fName.ext();
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,9 +25,9 @@ Class
|
||||
Foam::sigInt
|
||||
|
||||
Description
|
||||
Signal handler for INT interupt.
|
||||
Signal handler for INT interrupt.
|
||||
|
||||
The standard interupt handler is overridden to ensure that the
|
||||
The standard interrupt handler is overridden to ensure that the
|
||||
runningJob file is removed.
|
||||
|
||||
See also
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,9 +25,9 @@ Class
|
||||
Foam::sigQuit
|
||||
|
||||
Description
|
||||
Signal handler for QUIT interupt.
|
||||
Signal handler for QUIT interrupt.
|
||||
|
||||
The standard interupt handler is overridden to ensure that the
|
||||
The standard interrupt handler is overridden to ensure that the
|
||||
runningJob file is removed.
|
||||
|
||||
See also
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,9 +25,9 @@ Class
|
||||
Foam::sigSegv
|
||||
|
||||
Description
|
||||
Signal handler for SEGV interupt.
|
||||
Signal handler for SEGV interrupt.
|
||||
|
||||
The standard interupt handler is overridden to ensure that the
|
||||
The standard interrupt handler is overridden to ensure that the
|
||||
runningJob file is removed.
|
||||
|
||||
See also
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,7 +25,7 @@ Class
|
||||
Foam::sigStopAtWriteNow
|
||||
|
||||
Description
|
||||
Signal handler for interupt defined by
|
||||
Signal handler for interrupt defined by
|
||||
OptimisationSwitches::stopAtWriteNowSignal
|
||||
|
||||
Write and stop the job.
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,7 +25,7 @@ Class
|
||||
Foam::sigWriteNow
|
||||
|
||||
Description
|
||||
Signal handler for interupt defined by OptimisationSwitches::writeNowSignal
|
||||
Signal handler for interrupt defined by OptimisationSwitches::writeNowSignal
|
||||
|
||||
Write once and continue.
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -67,7 +67,7 @@ SourceFiles
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
//- Check it a timeout has occured
|
||||
//- Check it a timeout has occurred
|
||||
// keep setjmp in same stack frame so no function calls
|
||||
#define timedOut(x) \
|
||||
(((x).newTimeOut_ > 0) ? setjmp(Foam::timer::envAlarm) : false)
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -158,7 +158,7 @@ List<OutList> invertManyToMany(const label len, const UList<InList>& in)
|
||||
//- Create identity map (map[i] == i) of given length
|
||||
labelList identity(const label len);
|
||||
|
||||
//- Find first occurence of given element and return index,
|
||||
//- Find first occurrence of given element and return index,
|
||||
// return -1 if not found. Linear search.
|
||||
template<class ListType>
|
||||
label findIndex
|
||||
@ -168,7 +168,7 @@ label findIndex
|
||||
const label start=0
|
||||
);
|
||||
|
||||
//- Find all occurences of given element. Linear search.
|
||||
//- Find all occurrences of given element. Linear search.
|
||||
template<class ListType>
|
||||
labelList findIndices
|
||||
(
|
||||
@ -208,7 +208,7 @@ template<class ListType>
|
||||
label findMin(const ListType&, const label start=0);
|
||||
|
||||
|
||||
//- Find first occurence of given element in sorted list and return index,
|
||||
//- Find first occurrence of given element in sorted list and return index,
|
||||
// return -1 if not found. Binary search.
|
||||
template<class ListType>
|
||||
label findSortedIndex
|
||||
|
||||
@ -311,11 +311,11 @@ public:
|
||||
// Check
|
||||
|
||||
//- Check IOstream status for given operation
|
||||
// print IOstream state if error has occured
|
||||
// print IOstream state if error has occurred
|
||||
virtual bool check(const char* operation) const;
|
||||
|
||||
//- Check IOstream status for given operation
|
||||
// print IOstream state if error has occured and exit
|
||||
// print IOstream state if error has occurred and exit
|
||||
void fatalCheck(const char* operation) const;
|
||||
|
||||
//- Return true if stream has been opened
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -97,7 +97,7 @@ Foam::token::compound& Foam::token::transferCompoundToken(const Istream& is)
|
||||
if (compoundTokenPtr_->empty())
|
||||
{
|
||||
FatalIOErrorInFunction(is)
|
||||
<< "compound has already been transfered from token\n "
|
||||
<< "compound has already been transferred from token\n "
|
||||
<< info() << abort(FatalIOError);
|
||||
}
|
||||
else
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -138,7 +138,7 @@ public:
|
||||
// if registerCopy is true
|
||||
regIOobject(const regIOobject&, bool registerCopy);
|
||||
|
||||
//- Construct as copy with new name, transfering registry registration
|
||||
//- Construct as copy with new name, transferring registry registration
|
||||
// to copy as specified
|
||||
regIOobject(const word& newName, const regIOobject&, bool registerCopy);
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -408,7 +408,7 @@ Foam::Istream& Foam::dimensionSet::read
|
||||
{
|
||||
multiplier = 1.0;
|
||||
|
||||
// Read begining of dimensionSet
|
||||
// Read beginning of dimensionSet
|
||||
token startToken(is);
|
||||
|
||||
if (startToken != token::BEGIN_SQR)
|
||||
@ -503,7 +503,7 @@ Foam::Istream& Foam::dimensionSet::read
|
||||
{
|
||||
multiplier = 1.0;
|
||||
|
||||
// Read begining of dimensionSet
|
||||
// Read beginning of dimensionSet
|
||||
token startToken(is);
|
||||
|
||||
if (startToken != token::BEGIN_SQR)
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -207,7 +207,7 @@ public:
|
||||
|
||||
|
||||
// This function is added to overide the hack in pointPatchField.H
|
||||
// which enables simple backward compatability with verions using
|
||||
// which enables simple backward compatibility with verions using
|
||||
// referenceLevel in GeometicField
|
||||
template<class Type>
|
||||
tmp<Field<Type>> operator+
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -489,7 +489,7 @@ public:
|
||||
};
|
||||
|
||||
|
||||
// This function is added as a hack to enable simple backward compatability
|
||||
// This function is added as a hack to enable simple backward compatibility
|
||||
// with verions using referenceLevel in GeometicField
|
||||
template<class Type>
|
||||
const pointPatchField<Type>& operator+
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield |2011 OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -140,7 +140,7 @@ Foam::autoPtr<Foam::pointPatchField<Type>> Foam::pointPatchField<Type>::New
|
||||
}
|
||||
}
|
||||
|
||||
// Construct (but not necesarily returned)
|
||||
// Construct (but not necessarily returned)
|
||||
autoPtr<pointPatchField<Type>> pfPtr(cstrIter()(p, iF, dict));
|
||||
|
||||
if
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2017-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -598,7 +598,7 @@ bool Foam::fileOperations::uncollatedFileOperation::read
|
||||
if (masterOnly && Pstream::parRun())
|
||||
{
|
||||
// Master reads headerclassname from file. Make sure this gets
|
||||
// transfered as well as contents.
|
||||
// transferred as well as contents.
|
||||
Pstream::scatter(io.headerClassName());
|
||||
Pstream::scatter(io.note());
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -144,7 +144,7 @@ public:
|
||||
const tmp<Field<Type>>& tff
|
||||
) const;
|
||||
|
||||
//- Do what is neccessary if the mesh has moved
|
||||
//- Do what is necessary if the mesh has moved
|
||||
bool movePoints();
|
||||
};
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,7 +25,7 @@ Class
|
||||
Foam::uniformInterpolationTable
|
||||
|
||||
Description
|
||||
Table with uniform interval in independant variable, with linear
|
||||
Table with uniform interval in independent variable, with linear
|
||||
interpolation
|
||||
|
||||
Example usage (scalar): values specified within a dictionary:
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -32,7 +32,7 @@ Description
|
||||
Addressing arrays must be supplied for the upper and lower triangles.
|
||||
|
||||
Note
|
||||
It might be better if this class were organised as a hierachy starting
|
||||
It might be better if this class were organised as a hierarchy starting
|
||||
from an empty matrix, then deriving diagonal, symmetric and asymmetric
|
||||
matrices.
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -135,7 +135,7 @@ Foam::LduMatrix<Type, DType, LUType>::faceH(const Field<Type>& psi) const
|
||||
const Field<LUType>& Lower = const_cast<const LduMatrix&>(*this).lower();
|
||||
const Field<LUType>& Upper = const_cast<const LduMatrix&>(*this).upper();
|
||||
|
||||
// Take refereces to addressing
|
||||
// Take references to addressing
|
||||
const unallocLabelList& l = lduAddr().lowerAddr();
|
||||
const unallocLabelList& u = lduAddr().upperAddr();
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,7 +25,7 @@ Class
|
||||
Foam::SmoothSolver
|
||||
|
||||
Description
|
||||
Iterative solver for symmetric and assymetric matrices which uses a
|
||||
Iterative solver for symmetric and asymmetric matrices which uses a
|
||||
run-time selected smoother e.g. GaussSeidel to converge the solution to
|
||||
the required tolerance. To improve efficiency, the residual is evaluated
|
||||
after every nSweeps smoothing iterations.
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -31,7 +31,7 @@ Description
|
||||
|
||||
Addressing arrays must be supplied for the upper and lower triangles.
|
||||
|
||||
It might be better if this class were organised as a hierachy starting
|
||||
It might be better if this class were organised as a hierarchy starting
|
||||
from an empty matrix, then deriving diagonal, symmetric and asymmetric
|
||||
matrices.
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -161,7 +161,7 @@ public:
|
||||
//- Assignment to pointer changing this tmp to a temporary T
|
||||
inline void operator=(T*);
|
||||
|
||||
//- Assignment transfering the temporary T to this tmp
|
||||
//- Assignment transferring the temporary T to this tmp
|
||||
inline void operator=(const tmp<T>&);
|
||||
};
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2016-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -151,7 +151,7 @@ public:
|
||||
//- Assignment to pointer changing this tmpNrc to a temporary T
|
||||
inline void operator=(T*);
|
||||
|
||||
//- Assignment transfering the temporary T to this tmpNrc
|
||||
//- Assignment transferring the temporary T to this tmpNrc
|
||||
inline void operator=(const tmpNrc<T>&);
|
||||
};
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -39,7 +39,7 @@ Description
|
||||
- procSchedule()[proci] gives per proci
|
||||
|
||||
Does not care whether 'talking' is first send, second receive or maybe
|
||||
full swap. This is all responsability of caller. See ProcessorTopology
|
||||
full swap. This is all responsibility of caller. See ProcessorTopology
|
||||
class for use in scheduling processor boundary swaps.
|
||||
|
||||
SourceFiles
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -68,7 +68,7 @@ Foam::label Foam::cell::opposingFaceLabel
|
||||
{
|
||||
bool sharedPoint = false;
|
||||
|
||||
// Compare every vertex of the current face agains the
|
||||
// Compare every vertex of the current face against the
|
||||
// vertices of the master face
|
||||
forAll(curFace, pointi)
|
||||
{
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -277,7 +277,7 @@ void Foam::globalMeshData::countSharedEdges
|
||||
{
|
||||
if (globalFnd() == -1)
|
||||
{
|
||||
// Second time occurence of this edge. Assign proper
|
||||
// Second time occurrence of this edge. Assign proper
|
||||
// edge label.
|
||||
globalFnd() = sharedEdgeI++;
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -892,7 +892,7 @@ bool Foam::polyBoundaryMesh::checkParallelSync(const bool report) const
|
||||
Pout<< " ***Problem with boundary patch " << patchi
|
||||
<< " named " << bm[patchi].name()
|
||||
<< " of type " << bm[patchi].type()
|
||||
<< ". The patch seems to be preceeded by processor"
|
||||
<< ". The patch seems to be preceded by processor"
|
||||
<< " patches. This is can give problems."
|
||||
<< endl;
|
||||
}
|
||||
|
||||
@ -1427,7 +1427,7 @@ bool Foam::cyclicPolyPatch::order
|
||||
|
||||
ownerPatchPtr_.clear();
|
||||
|
||||
// Return false if no change neccesary, true otherwise.
|
||||
// Return false if no change necessary, true otherwise.
|
||||
|
||||
forAll(faceMap, facei)
|
||||
{
|
||||
|
||||
@ -1204,7 +1204,7 @@ bool Foam::oldCyclicPolyPatch::order
|
||||
rotation
|
||||
);
|
||||
|
||||
// Return false if no change neccesary, true otherwise.
|
||||
// Return false if no change necessary, true otherwise.
|
||||
|
||||
forAll(faceMap, facei)
|
||||
{
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -99,7 +99,7 @@ class oldCyclicPolyPatch
|
||||
// Face ordering
|
||||
|
||||
//- Find the two parts of the faces of pp using feature edges.
|
||||
// Returns true if successfull.
|
||||
// Returns true if successful.
|
||||
bool getGeometricHalves
|
||||
(
|
||||
const primitivePatch&,
|
||||
|
||||
@ -151,7 +151,7 @@ class primitiveMesh
|
||||
mutable labelListList* cpPtr_;
|
||||
|
||||
|
||||
// On-the-fly edge addresing storage
|
||||
// On-the-fly edge addressing storage
|
||||
|
||||
//- Temporary storage for addressing.
|
||||
mutable DynamicList<label> labels_;
|
||||
@ -516,7 +516,7 @@ public:
|
||||
//- Return faces
|
||||
virtual const faceList& faces() const = 0;
|
||||
|
||||
//- Face face-owner addresing
|
||||
//- Face face-owner addressing
|
||||
virtual const labelList& faceOwner() const = 0;
|
||||
|
||||
//- Face face-neighbour addressing
|
||||
|
||||
@ -22,7 +22,7 @@ License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Description
|
||||
Calulate the face centres and areas.
|
||||
Calculate the face centres and areas.
|
||||
|
||||
Calculate the centre by breaking the face into triangles using the face
|
||||
centre and area-weighted averaging their centres. This method copes with
|
||||
|
||||
@ -64,7 +64,7 @@ static const doubleScalar doubleScalarRootVSmall = ::sqrt(doubleScalarVSmall);
|
||||
static const doubleScalar doubleScalarRootGreat = ::sqrt(doubleScalarGreat);
|
||||
static const doubleScalar doubleScalarRootSmall = ::sqrt(doubleScalarSmall);
|
||||
|
||||
//- Read whole of buf as a scalar. Return true if succesful.
|
||||
//- Read whole of buf as a scalar. Return true if successful.
|
||||
inline bool readScalar(const char* buf, doubleScalar& s)
|
||||
{
|
||||
char* endPtr;
|
||||
|
||||
@ -64,7 +64,7 @@ static const floatScalar floatScalarRootVSmall = ::sqrt(floatScalarVSmall);
|
||||
static const floatScalar floatScalarRootGreat = ::sqrt(floatScalarGreat);
|
||||
static const floatScalar floatScalarRootSmall = ::sqrt(floatScalarSmall);
|
||||
|
||||
//- Read whole of buf as a scalar. Return true if succesful.
|
||||
//- Read whole of buf as a scalar. Return true if successful.
|
||||
inline bool readScalar(const char* buf, floatScalar& s)
|
||||
{
|
||||
char* endPtr;
|
||||
|
||||
@ -72,7 +72,7 @@ static const longDoubleScalar longDoubleScalarRootGreat
|
||||
static const longDoubleScalar longDoubleScalarRootSmall
|
||||
= ::sqrtl(longDoubleScalarSmall);
|
||||
|
||||
//- Read whole of buf as a scalar. Return true if succesful.
|
||||
//- Read whole of buf as a scalar. Return true if successful.
|
||||
inline bool readScalar(const char* buf, longDoubleScalar& s)
|
||||
{
|
||||
char* endPtr;
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -31,7 +31,7 @@ Description
|
||||
|
||||
A centre() member function which returns the Vector for which it is called
|
||||
is defined so that point which is a typedef to Vector\<scalar\> behaves as
|
||||
other shapes in the shape hierachy.
|
||||
other shapes in the shape hierarchy.
|
||||
|
||||
SourceFiles
|
||||
VectorI.H
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -154,7 +154,7 @@ public:
|
||||
//- Avoid masking the normal std::string replace
|
||||
using std::string::replace;
|
||||
|
||||
//- Replace first occurence of sub-string oldStr with newStr
|
||||
//- Replace first occurrence of sub-string oldStr with newStr
|
||||
// starting at start
|
||||
string& replace
|
||||
(
|
||||
@ -163,7 +163,7 @@ public:
|
||||
size_type start = 0
|
||||
);
|
||||
|
||||
//- Replace all occurences of sub-string oldStr with newStr
|
||||
//- Replace all occurrences of sub-string oldStr with newStr
|
||||
// starting at start
|
||||
string& replaceAll
|
||||
(
|
||||
@ -172,7 +172,7 @@ public:
|
||||
size_type start = 0
|
||||
);
|
||||
|
||||
//- Expand initial tildes and all occurences of environment variables
|
||||
//- Expand initial tildes and all occurrences of environment variables
|
||||
// Expansion includes:
|
||||
// -# environment variables
|
||||
// - "$VAR", "${VAR}"
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -50,7 +50,7 @@ namespace Foam
|
||||
|
||||
namespace stringOps
|
||||
{
|
||||
//- Expand occurences of variables according to the mapping
|
||||
//- Expand occurrences of variables according to the mapping
|
||||
// Expansion includes:
|
||||
// -# variables
|
||||
// - "$VAR", "${VAR}"
|
||||
@ -84,7 +84,7 @@ namespace stringOps
|
||||
);
|
||||
|
||||
|
||||
//- Inplace expand occurences of variables according to the mapping
|
||||
//- Inplace expand occurrences of variables according to the mapping
|
||||
// Expansion includes:
|
||||
// -# variables
|
||||
// - "$VAR", "${VAR}"
|
||||
@ -117,7 +117,7 @@ namespace stringOps
|
||||
const char sigil = '$'
|
||||
);
|
||||
|
||||
//- Expand occurences of variables according to the dictionary
|
||||
//- Expand occurrences of variables according to the dictionary
|
||||
// Expansion includes:
|
||||
// -# variables
|
||||
// - "$VAR", "${VAR}"
|
||||
@ -156,7 +156,7 @@ namespace stringOps
|
||||
);
|
||||
|
||||
|
||||
//- Inplace expand occurences of variables according to the dictionary
|
||||
//- Inplace expand occurrences of variables according to the dictionary
|
||||
// and optionally environment variables
|
||||
// Expansion includes:
|
||||
// -# variables
|
||||
@ -177,7 +177,7 @@ namespace stringOps
|
||||
);
|
||||
|
||||
|
||||
//- Inplace expand occurences of variables according to the dictionary
|
||||
//- Inplace expand occurrences of variables according to the dictionary
|
||||
// Expansion includes:
|
||||
// -# variables
|
||||
// - "$VAR", "${VAR}"
|
||||
@ -194,7 +194,7 @@ namespace stringOps
|
||||
);
|
||||
|
||||
|
||||
//- Expand initial tildes and all occurences of environment variables
|
||||
//- Expand initial tildes and all occurrences of environment variables
|
||||
// Expansion includes:
|
||||
// -# environment variables
|
||||
// - "$VAR", "${VAR}"
|
||||
@ -233,7 +233,7 @@ namespace stringOps
|
||||
);
|
||||
|
||||
|
||||
//- Expand initial tildes and all occurences of environment variables
|
||||
//- Expand initial tildes and all occurrences of environment variables
|
||||
// Expansion includes:
|
||||
// -# environment variables
|
||||
// - "$VAR", "${VAR}"
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -149,7 +149,7 @@ public:
|
||||
//- Return the model 'active' status - default active = true
|
||||
virtual bool active() const;
|
||||
|
||||
//- Cache dependant sub-model fields
|
||||
//- Cache dependent sub-model fields
|
||||
virtual void cacheFields(const bool store);
|
||||
|
||||
//- Flag to indicate when to write a property
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -79,7 +79,7 @@ Foam::UIPstream::UIPstream
|
||||
}
|
||||
|
||||
|
||||
// If the buffer size is not specified, probe the incomming message
|
||||
// If the buffer size is not specified, probe the incoming message
|
||||
// and set it
|
||||
if (!wantedSize)
|
||||
{
|
||||
@ -180,7 +180,7 @@ Foam::UIPstream::UIPstream(const int fromProcNo, PstreamBuffers& buffers)
|
||||
<< Foam::endl;
|
||||
}
|
||||
|
||||
// If the buffer size is not specified, probe the incomming message
|
||||
// If the buffer size is not specified, probe the incoming message
|
||||
// and set it
|
||||
if (!wantedSize)
|
||||
{
|
||||
@ -274,7 +274,7 @@ Foam::label Foam::UIPstream::read
|
||||
)
|
||||
{
|
||||
FatalErrorInFunction
|
||||
<< "MPI_Recv cannot receive incomming message"
|
||||
<< "MPI_Recv cannot receive incoming message"
|
||||
<< Foam::abort(FatalError);
|
||||
|
||||
return 0;
|
||||
@ -298,7 +298,7 @@ Foam::label Foam::UIPstream::read
|
||||
{
|
||||
FatalErrorInFunction
|
||||
<< "buffer (" << label(bufSize)
|
||||
<< ") not large enough for incomming message ("
|
||||
<< ") not large enough for incoming message ("
|
||||
<< messageSize << ')'
|
||||
<< Foam::abort(FatalError);
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -59,7 +59,7 @@ class totalFlowRateAdvectiveDiffusiveFvPatchScalarField
|
||||
word phiName_;
|
||||
|
||||
//- Name of the density field used to normalise the mass flux
|
||||
// if neccessary
|
||||
// if necessary
|
||||
word rhoName_;
|
||||
|
||||
//- Mass flux fraction
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -173,7 +173,7 @@ public:
|
||||
|
||||
// Member functions
|
||||
|
||||
// Acces functions
|
||||
// Access functions
|
||||
|
||||
// Return z0
|
||||
scalarField& z0()
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -171,7 +171,7 @@ public:
|
||||
|
||||
// Member functions
|
||||
|
||||
// Acces functions
|
||||
// Access functions
|
||||
|
||||
// Return Ks
|
||||
scalarField& Ks()
|
||||
|
||||
@ -1186,7 +1186,7 @@ Foam::dynamicRefineFvMesh::~dynamicRefineFvMesh()
|
||||
|
||||
bool Foam::dynamicRefineFvMesh::update()
|
||||
{
|
||||
// Re-read dictionary. Choosen since usually -small so trivial amount
|
||||
// Re-read dictionary. Chosen since usually -small so trivial amount
|
||||
// of time compared to actual refinement. Also very useful to be able
|
||||
// to modify on-the-fly.
|
||||
dictionary refineDict
|
||||
@ -1376,7 +1376,7 @@ bool Foam::dynamicRefineFvMesh::update()
|
||||
|
||||
if ((nRefinementIterations_ % 10) == 0)
|
||||
{
|
||||
// Compact refinement history occassionally (how often?).
|
||||
// Compact refinement history occasionally (how often?).
|
||||
// Unrefinement causes holes in the refinementHistory.
|
||||
const_cast<refinementHistory&>(meshCutter().history()).compact();
|
||||
}
|
||||
|
||||
@ -520,7 +520,7 @@ void Foam::cellCuts::calcFaceCuts() const
|
||||
// string of connected cuts; we don't want to start somewhere in the
|
||||
// middle.
|
||||
|
||||
// Pass1: find first point cut not preceeded by a cut.
|
||||
// Pass1: find first point cut not preceded by a cut.
|
||||
label startFp = -1;
|
||||
|
||||
forAll(f, fp)
|
||||
@ -544,7 +544,7 @@ void Foam::cellCuts::calcFaceCuts() const
|
||||
}
|
||||
}
|
||||
|
||||
// Pass2: first edge cut not preceeded by point cut
|
||||
// Pass2: first edge cut not preceded by point cut
|
||||
if (startFp == -1)
|
||||
{
|
||||
forAll(f, fp)
|
||||
@ -1086,7 +1086,7 @@ bool Foam::cellCuts::walkCell
|
||||
{
|
||||
// Cut along existing edge. So is in fact on two faces.
|
||||
// Get faces on both sides of the edge to make
|
||||
// sure we dont fold back on to those.
|
||||
// sure we don't fold back on to those.
|
||||
|
||||
label f0, f1;
|
||||
meshTools::getEdgeFaces(mesh(), celli, edgeI, f0, f1);
|
||||
@ -1595,7 +1595,7 @@ bool Foam::cellCuts::calcAnchors
|
||||
{
|
||||
if (hasSet1)
|
||||
{
|
||||
// Second occurence of set1.
|
||||
// Second occurrence of set1.
|
||||
WarningInFunction
|
||||
<< "Invalid loop " << loop << " for cell " << celli
|
||||
<< " since face " << f << " would be split into"
|
||||
@ -1612,7 +1612,7 @@ bool Foam::cellCuts::calcAnchors
|
||||
{
|
||||
if (hasSet2)
|
||||
{
|
||||
// Second occurence of set1.
|
||||
// Second occurrence of set1.
|
||||
WarningInFunction
|
||||
<< "Invalid loop " << loop << " for cell " << celli
|
||||
<< " since face " << f << " would be split into"
|
||||
@ -1650,7 +1650,7 @@ bool Foam::cellCuts::calcAnchors
|
||||
{
|
||||
if (hasSet1)
|
||||
{
|
||||
// Second occurence of set1.
|
||||
// Second occurrence of set1.
|
||||
WarningInFunction
|
||||
<< "Invalid loop " << loop << " for cell " << celli
|
||||
<< " since face " << f << " would be split into"
|
||||
@ -1667,7 +1667,7 @@ bool Foam::cellCuts::calcAnchors
|
||||
{
|
||||
if (hasSet2)
|
||||
{
|
||||
// Second occurence of set1.
|
||||
// Second occurrence of set1.
|
||||
WarningInFunction
|
||||
<< "Invalid loop " << loop << " for cell " << celli
|
||||
<< " since face " << f << " would be split into"
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -442,7 +442,7 @@ class cellCuts
|
||||
//- Set orientation of loops
|
||||
void orientPlanesAndLoops();
|
||||
|
||||
//- Top level driver: adressing calculation and loop detection
|
||||
//- Top level driver: addressing calculation and loop detection
|
||||
// (loops splitting cells).
|
||||
void calcLoopsAndAddressing(const labelList& cutCells);
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -257,7 +257,7 @@ bool Foam::boundaryCutter::splitFace
|
||||
else if (nSplitEdges + nModPoints == 1)
|
||||
{
|
||||
// single or multiple cuts on a single edge or single modified point
|
||||
// Dont cut and let caller handle this.
|
||||
// Don't cut and let caller handle this.
|
||||
Warning << "Face " << facei << " has only one edge cut " << endl;
|
||||
return false;
|
||||
}
|
||||
@ -759,7 +759,7 @@ void Foam::boundaryCutter::setRefinement
|
||||
// Is external face so split
|
||||
if (splitFace(facei, pointToPos, edgeToAddedPoints, meshMod))
|
||||
{
|
||||
// Successfull split
|
||||
// Successful split
|
||||
faceUptodate[facei] = true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -177,7 +177,7 @@ class motionSmootherAlgo
|
||||
const scalarField& edgeWeight
|
||||
) const;
|
||||
|
||||
//- Average postion of connected points.
|
||||
//- Average position of connected points.
|
||||
template<class Type>
|
||||
tmp<GeometricField<Type, pointPatchField, pointMesh>> avgPositions
|
||||
(
|
||||
|
||||
@ -891,7 +891,7 @@ void Foam::polyMeshAdder::mergePointZones
|
||||
// Zone(s) per point. Two levels: if only one zone
|
||||
// stored in pointToZone. Any extra stored in additionalPointToZones.
|
||||
// This is so we only allocate labelLists per point if absolutely
|
||||
// necesary.
|
||||
// necessary.
|
||||
labelList pointToZone(nAllPoints, -1);
|
||||
labelListList addPointToZones(nAllPoints);
|
||||
|
||||
@ -1216,7 +1216,7 @@ void Foam::polyMeshAdder::mergeCellZones
|
||||
// Zone(s) per cell. Two levels: if only one zone
|
||||
// stored in cellToZone. Any extra stored in additionalCellToZones.
|
||||
// This is so we only allocate labelLists per cell if absolutely
|
||||
// necesary.
|
||||
// necessary.
|
||||
labelList cellToZone(nAllCells, -1);
|
||||
labelListList addCellToZones(nAllCells);
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -291,7 +291,7 @@ void Foam::faceCollapser::setRefinement
|
||||
near.setPoint(newPoint);
|
||||
}
|
||||
|
||||
// Responsability of caller to make sure polyModifyPoint is only
|
||||
// Responsibility of caller to make sure polyModifyPoint is only
|
||||
// called once per point. (so max only one collapse face per
|
||||
// edge)
|
||||
meshMod.setAction
|
||||
@ -344,7 +344,7 @@ void Foam::faceCollapser::setRefinement
|
||||
near.setPoint(newPoint);
|
||||
}
|
||||
|
||||
// Responsability of caller to make sure polyModifyPoint is only
|
||||
// Responsibility of caller to make sure polyModifyPoint is only
|
||||
// called once per point. (so max only one collapse face per
|
||||
// edge)
|
||||
meshMod.setAction
|
||||
|
||||
@ -274,7 +274,7 @@ class hexRef8
|
||||
polyTopoChange& meshMod
|
||||
) const;
|
||||
|
||||
//- Store vertices from startFp upto face split point.
|
||||
//- Store vertices from startFp up to face split point.
|
||||
// Used when splitting face into 4.
|
||||
void walkFaceToMid
|
||||
(
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user