libsurf
Programmer's Documentation

Public Member Functions | Protected Attributes | Private Member Functions | List of all members
LoadIpol Class Reference

Detailed Description

Aerodynamic load interpolator.

LoadIpol serves as a container for pressure distributions associated with state information. The purpose of this class is to act as a frontend for aerodynamic load reconstruction from flight simulation data.

See Also
FsiMesh

#include <loadipol.h>

Inheritance diagram for LoadIpol:
[legend]
Collaboration diagram for LoadIpol:
[legend]

Public Member Functions

 LoadIpol ()
 empty interpolator
 
uint nstate () const
 number of states
 
const std::string & stateInfo (uint i, Real &lo, Real &hi) const
 access state
 
uint newState (const std::string &name, Real lo=0.0, Real hi=1.0)
 define a new state
 
void markReference (uint k, const Vector &x)
 mark field k as reference solution, provide state
 
void markDerivative (uint kf, uint kx)
 mark field kf as derivative for state kx, will normalize field kf!
 
uint cpimport (const MxMesh &mx, uint ifield)
 import Cp data from another mesh file (exception on mismatch)
 
void eval (const Vector &x, Vector &cp) const
 evaluate pressure coefficient field for given state
 
void createNote ()
 create xml annotation
 
bool extractNote ()
 extract annotations after MxMesh::fromXml()
 
- Public Member Functions inherited from MxMesh
uint nelements () const
 
uint nnodes () const
 
const Vct3 & node (uint i) const
 
Vct3 & node (uint i)
 
const PointList< 3 > & nodes () const
 
PointList< 3 > & nodes ()
 
uint appendNode (const Vct3 &p)
 
uint appendNodes (const PointList< 3 > &nds)
 
uint appendNodes (NodeIter nbegin, NodeIter nend)
 
uint nsections () const
 
const MxMeshSectionsection (uint i) const
 
MxMeshSectionsection (uint i)
 
uint findSection (uint eix) const
 
uint findSection (const std::string &sname) const
 
const uint * globalElement (uint gix, uint &n, uint &isec) const
 
void elementSections (const Indices &gix, ConnectMap &s2e) const
 
uint appendSection (const MxMeshSection &ms)
 
uint appendSection (Mx::ElementType t, const Indices &idx)
 
uint appendSection (const TriMesh &m)
 
uint appendSection (const PointGrid< 3 > &pg)
 
uint appendSection (const PointList< 3 > &pts)
 
uint appendSection (const CgMesh &cgm)
 
void eraseSection (uint k)
 
uint mirrorCopyNodes (const Indices &snodes, const Plane &pln)
 
uint mirrorCopySection (uint k, uint voff, const Indices &snodes, bool merge=true)
 
uint nbocos () const
 
const MxMeshBocoboco (uint i) const
 
MxMeshBocoboco (uint i)
 
uint appendBoco (Mx::BocoType t, const Indices &idx)
 
uint appendBoco (const MxMeshBoco &bc)
 
uint appendBoco (MxMeshBoco &&bc)
 
void eraseBoco (uint k)
 
void clearBocos ()
 
uint findBoco (const std::string &s) const
 
uint mappedSection (uint iboco) const
 
uint containedInSection (uint iboco) const
 
uint nfields () const
 
uint nDimFields (uint nd=3) const
 
const MxMeshFieldfield (uint i) const
 
MxMeshFieldfield (uint i)
 
void bindFields ()
 
void reserveFields (uint n)
 
uint appendField (const MxMeshField &f)
 
uint appendField (MxMeshField &&f)
 
uint swapField (MxMeshField &f)
 
uint appendField (const std::string &s, const Vector &v)
 
uint appendField (const std::string &s, const DVector< float > &v)
 
uint appendField (const std::string &s, const DVector< int > &v)
 
uint appendField (const std::string &s, const PointList< 3 > &v)
 
uint appendField (const std::string &s, const PointList< 3, float > &v)
 
uint appendField (const std::string &s, const PointList< 6 > &v)
 
uint appendField (const std::string &s, const PointList< 6, float > &v)
 
uint appendRigidBodyMode (int mindex, const Vct3 &rotctr, Real gm=1.0, Real gk=0.0)
 
uint findField (const std::string &s) const
 
void findFields (int valClass, Indices &flds) const
 
void eraseField (uint k)
 
void clearFields ()
 
bool generateMaxFields (bool useMaxAbs)
 
MxSolutionTreePtr solutionTree () const
 
void solutionTree (MxSolutionTreePtr p)
 
void merge (const MxMesh &a, bool mergeFieldsByName)
 
uint ndeform () const
 
const MxMeshDeformdeform (uint i) const
 
MxMeshDeformdeform (uint i)
 
void eraseDeform (uint i)
 
uint appendDeform (const MxMeshDeform &d)
 
uint appendTrajectory (const std::string &fn, const Indices &useCols=Indices())
 
uint appendFlutterMode (Complex p, const CpxVector &z, int nsample=32)
 
void smoothTetNodes (uint npass=1, Real omega=0.5)
 
uint planeCut (const Plane &p, Indices &ise) const
 
void nodesBelow (const Plane &p, std::vector< bool > &nbelow) const
 
virtual void reorder (const Indices &perm)
 
uint dropUnusedNodes ()
 
uint dropDegenerateElements ()
 
uint mergeNodes (Real threshold=gmepsilon)
 
virtual bool loadAny (const std::string &fname)
 
void importMvz (const MeshFields &mvz)
 
TriMeshPtr toTriMesh () const
 
CgMeshPtr toCgMesh () const
 
void writeAs (const std::string &fname, int fmt, int compression) const
 
void writeSTL (const std::string &fname, bool binaryStl=false) const
 
void writePLY (const std::string &fname, bool binary) const
 
void writeSmesh (const std::string &fname, const PointList< 3 > &holes=PointList< 3 >(), const PointList< 3 > &regionMarkers=PointList< 3 >(), const Vector &regionAttr=Vector()) const
 
void readTetgen (const std::string &basename, DVector< uint > *ftags=0)
 
void readCgns (const std::string &fname)
 
void writeCgns (const std::string &fname, bool bcAsSections=false) const
 
void readAbaqus (const std::string &fname)
 
void writeAbaqus (const std::string &fname) const
 
void writeNastran (const std::string &fname, size_t nodeOffset=0, size_t eidOffset=0) const
 
void writeNastran (std::ostream &os, size_t nodeOffset, size_t eidOffset) const
 
BinFileNodePtr gbfNode (bool share=true) const
 
void fromGbf (const BinFileNodePtr &np, bool digestNode=false)
 
virtual XmlElement toXml (bool share=false) const
 
virtual void fromXml (const XmlElement &xe)
 
void writeZml (const std::string &fname, int compression=1) const
 
void readZml (const std::string &fname)
 
XmlElement toVTK () const
 
void writeLegacyVtk (const std::string &fname) const
 
void readLegacyVtk (const std::string &fname)
 
void readAerel (const std::string &fname)
 
void writeFFA (const std::string &fname) const
 
void readFFA (const std::string &bmeshFile)
 
bool appendFFAFields (const std::string &boutFile)
 
size_t writeFieldsBdis (const std::string &basename) const
 
void writeSU2 (const std::string &fname) const
 
void readSU2 (const std::string &fname)
 
void writeEnsight (const std::string &basename) const
 
void readEnsight (const std::string &casename)
 
void fakeNastran (const std::string &fname) const
 
void countElements ()
 
void fixate ()
 
const ConnectMapv2eMap () const
 
void v2vMap (ConnectMap &v2v) const
 
void e2eMap (ConnectMap &e2e) const
 
bool containsNodesOf (uint e1, uint e2) const
 
uint connectedComponents (Indices &ecmp, bool crossTypes=false) const
 
virtual void clear ()
 
virtual float megabytes () const
 
int resetSectionColors (int hue, int sat=120, int val=140)
 
int resetBocoColors (int hue, int sat=160, int val=170)
 
- Public Member Functions inherited from MxAnnotated
 MxAnnotated (const MxAnnotated &)=default
 
 MxAnnotated (MxAnnotated &&a)
 
MxAnnotatedoperator= (const MxAnnotated &)=default
 
MxAnnotatedoperator= (MxAnnotated &&a)
 
void note (const XmlElement &xe)
 
const XmlElementnote () const
 
void annotate (const XmlElement &xe)
 
XmlElement::const_iterator noteBegin () const
 
XmlElement::const_iterator noteEnd () const
 
void attribute (const std::string &key, const std::string &value)
 
std::string attribute (const std::string &key) const
 

Protected Attributes

StringArray stateNames
 names of the model states
 
Vector xlo
 lower limits for state variables (used for normalization)
 
Vector xhi
 upper limits for state variables (used for normalization)
 
Vector xnref
 normalized reference state for linearization
 
uint iReference
 index of the field containing Cp for reference state
 
Indices iDeriv
 index of the field which contains derivative, if applicable
 
- Protected Attributes inherited from MxMesh
PointList< 3 > vtx
 
std::vector< MxMeshSectionsections
 
std::vector< MxMeshBocobocos
 
std::vector< MxMeshFieldfields
 
std::vector< MxMeshDeformdeforms
 
MxSolutionTreePtr soltree
 
ConnectMap v2e
 
std::string meshName
 
uint nelm
 
- Protected Attributes inherited from MxAnnotated
XmlElement xnote
 

Private Member Functions

void normState (const Vector &x, Vector &xn) const
 compute normalized state
 

Additional Inherited Members

- Static Public Member Functions inherited from MxMesh
static uint nElementNodes (Mx::ElementType t)
 
- Protected Member Functions inherited from MxMesh
void assembleVectorFields ()
 
virtual int readTetgenNodes (std::istream &is)
 
virtual void readTetgenFaces (std::istream &is, int offset, DVector< uint > *ptags=0)
 
virtual void readTetgenElements (std::istream &is, int offset)
 
void readFFARegion (const FFANode &node)
 
void readFFABoundary (const FFANode &node)
 
MxSolutionTreePtr appendSubcase (FFANodePtr pregion)
 
std::string readAbaqusNodes (std::istream &in, DVector< int > &gid)
 
std::string readAbaqusElements (const std::string &header, std::istream &in, DVector< int > &eid)
 
std::string readAbaqusSet (const std::string &header, const DVector< int > &eid, std::istream &in)
 
std::string readAbaqusKeyword (const std::string &header, std::istream &in, XmlElement &xabq)
 
MxSolutionTreePtr generateMaxFields (MxSolutionTreePtr root, bool useMaxAbs)
 
- Static Protected Member Functions inherited from MxMesh
static void fileFloatPrecision (TypeCode tc)
 
- Static Protected Attributes inherited from MxMesh
static TypeCode s_fileFloatPrecision
 

The documentation for this class was generated from the following files:
Generated on Mon Jan 24 2022 03:03:18 for libsurf by   doxygen 1.8.5