Path: blob/devel/ElmerGUI/Application/plugins/egmesh.h
3203 views
/* femknot.h -> egmesh.h */1/* This module includes utilities that operate on single knots. It builds2structures where the knots can be saved, it finds boundaries,3copies knots from structures to others and destroys structures that4become obsolete. The routines mostly operate on structures5FemType and BoundaryType. */67int GetElementDimension(int elementtype);8int GetMaxElementType(struct FemType *data);9int GetMinElementType(struct FemType *data);1011int GetMaxBodyIndex(struct FemType *data);12int GetMaxBCIndex(struct BoundaryType *bound);1314int GetMaxElementDimension(struct FemType *data);15int GetCoordinateDimension(struct FemType *data,int info);16void GetElementInfo(int element,struct FemType *data,17Real *globalcoord,int *ind,int *material);18void GetBoundaryElement(int sideind,struct BoundaryType *bound,struct FemType *data,int *ind,int *sideelemtype);19void GetElementSide(int element,int side,int normal,20struct FemType *data,int *ind,int *sideelemtype);21int GetElementFaces(int elemtype);22void NumberVariables(struct FemType *data,int variable);23int CalculateIndexwidth(struct FemType *data,int indxis,int *indx);24void InitializeKnots(struct FemType *data);25void AllocateKnots(struct FemType *data);26void CreateKnots(struct GridType *grid,struct CellType *cell,27struct FemType *data,int noknots,int info);28int CreateVariable(struct FemType *data,int variable,int unknowns,29Real value,const char *variablename,int eorder);30void DestroyKnots(struct FemType *data);31int CreateBoundary(struct CellType *cell,struct FemType *data,32struct BoundaryType *bound,int material1,int material2,33int solidmat,int boundarytype,int info);34int AllocateBoundary(struct BoundaryType *bound,int size);35int DestroyBoundary(struct BoundaryType *bound);36int CreateBoundaries(struct CellType *cell,struct FemType *data,37struct BoundaryType *boundaries,int info);38int CreatePoints(struct CellType *cell,struct FemType *data,39struct BoundaryType *bound,40int param1,int param2,int pointmode,int pointtype,int info);41int CreateNewNodes(struct FemType *data,int *order,int material,int newknots);42int SetDiscontinuousBoundary(struct FemType *data,struct BoundaryType *bound,43int boundtype,int endnodes,int info);44int SetConnectedNodes(struct FemType *data,struct BoundaryType *bound,45int bctype,int connecttype,int info);46int SetConnectedElements(struct FemType *data,int info);47int FindCorners(struct GridType *grid,struct CellType *cell,48struct FemType *data,int info);4950int ConstantToBilinear(struct FemType *data,int var1,int var2);51int ElementsToTriangles(struct FemType *data,struct BoundaryType *bound,52Real critangle,int info);53int IncreaseElementOrder(struct FemType *data,int info);54int PolarCoordinates(struct FemType *data,Real rad,int info);55int CylinderCoordinates(struct FemType *data,int info);56int UniteMeshes(struct FemType *data1,struct FemType *data2,57struct BoundaryType *bound1,struct BoundaryType *bound2,58int nooverlap, int info);59int CloneMeshes(struct FemType *data,struct BoundaryType *bound,60int *ncopies,Real *meshsize,int diffmats,int info);61int MirrorMeshes(struct FemType *data,struct BoundaryType *bound,62int *symmaxis,int diffmats,Real *meshsize,int symmbound,int info);63void ReorderElements(struct FemType *data,struct BoundaryType *bound,64int manual,Real corder[],int info);65int RemoveUnusedNodes(struct FemType *data,int info);66void RenumberBoundaryTypes(struct FemType *data,struct BoundaryType *bound,67int renumber, int bcoffset, int info);68void RenumberMaterialTypes(struct FemType *data,struct BoundaryType *bound,int info);69void CreateKnotsExtruded(struct FemType *dataxy,struct BoundaryType *boundxy,70struct GridType *grid,71struct FemType *data,struct BoundaryType *bound,72int info);73void CylindricalCoordinateCurve(struct FemType *data,74Real zet,Real rad,Real angle);75void ReduceElementOrder(struct FemType *data,int matmin,int matmax);76void IsoparametricElements(struct FemType *data,struct BoundaryType *bound,77int bcstoo,int info);78void MergeElements(struct FemType *data,struct BoundaryType *bound,79int manual,Real corder[],Real eps,int mergebounds,int info);80void MergeBoundaries(struct FemType *data,struct BoundaryType *bound,int *doubles,int info);81void SeparateCartesianBoundaries(struct FemType *data,struct BoundaryType *bound,int info);82void ElementsToBoundaryConditions(struct FemType *data,83struct BoundaryType *bound,int retainorphans, int info);84int SideAndBulkMappings(struct FemType *data,struct BoundaryType *bound,struct ElmergridType *eg,int info);85int SideAndBulkBoundaries(struct FemType *data,struct BoundaryType *bound,struct ElmergridType *eg,int info);86void NodesToBoundaryChain(struct FemType *data,struct BoundaryType *bound,87int *bcinds,int *bctags,int nbc,int bccount,88int info);89int FindPeriodicNodes(struct FemType *data,int periodicdim[],int info);90int FindPeriodicParents(struct FemType *data,struct BoundaryType *bound,int info);91int FindNewBoundaries(struct FemType *data,struct BoundaryType *bound,92int *boundnodes,int suggesttype,int dimred,int info);93int FindBulkBoundary(struct FemType *data,int mat1,int mat2,94int *boundnodes,int *noboundnodes,int info);95int FindBoundaryBoundary(struct FemType *data,struct BoundaryType *bound,int mat1,int mat2,96int *boundnodes,int *noboundnodes,int info);97int CreateBoundaryLayer(struct FemType *data,struct BoundaryType *bound,98int nolayers, int *layerbounds, int *layernumber,99Real *layerratios, Real *layerthickness, int *layerparents,100int maxfilters, Real layereps, int info);101int CreateBoundaryLayerDivide(struct FemType *data,struct BoundaryType *bound,102int nolayers, int *layerbounds, int *layernumber,103Real *layerratios, Real *layerthickness, int *layerparents,int info);104int RotateTranslateScale(struct FemType *data,struct ElmergridType *eg,int info);105int RemoveLowerDimensionalBoundaries(struct FemType *data,struct BoundaryType *bound,int info);106int RemoveInternalBoundaries(struct FemType *data,struct BoundaryType *bound,int info);107int CreateNodalGraph(struct FemType *data,int full,int info);108int DestroyNodalGraph(struct FemType *data,int info);109int CreateDualGraph(struct FemType *data,int unconnected,int info);110int DestroyDualGraph(struct FemType *data,int info);111int CreateInverseTopology(struct FemType *data,int info);112int DestroyInverseTopology(struct FemType *data,int info);113int MeshTypeStatistics(struct FemType *data,int info);114int BoundingBox(struct FemType *data,int nomesh,int nomeshes,int info);115116117