6 #define WIN32_LEAN_AND_MEAN
44 #define STRCMP strcasecmp
52 #define ZERO_NC 1.0e-9
57 #define PIconst 3.1415926535
74 class ComponentGeometry;
75 class ComponentGeometry1D;
76 class ComponentGeometry2D;
77 class ComponentGeometry2Dtriangle;
78 class ComponentGeometry2Dquadrangle;
79 class ComponentGeometry3D;
80 class ComponentGeometry3Dhexahedron;
87 class GeometrySubject;
88 class GeometryComponent;
109 class GeomCompSubject;
110 class PointDOFsAttributes;
112 class PointDOFsRANHN;
113 class PointDOFsCondense;
130 class LoadTimeFunction;
131 class ProblemAnalysis;
136 class LocalCoordSystemA;
285 default:
_errorr2(
"Unknown stiffness matrix type %d", (
int)val);
310 default:
_errorr2(
"Unknown linear solver type %d", (
int)val);
320 case 1:
return 0;
break;
321 case 2:
return 1;
break;
322 case 3:
return 2;
break;
323 case 4:
return 3;
break;
324 case 5:
return 2;
break;
325 case 6:
return 2;
break;
326 default:
_errorr2(
"Unknown linear solver type %d", (
int)val);
393 default:
_errorr2(
"Unknown problem type %d", (
int)val);
406 else _errorr2 (
"Unknown OOFEM analysis type \"%s\"", str);
426 default:
_errorr2(
"Unknown problem type %d", (
int)val);
466 case 10:
return CST_2d;
break;
472 case 2:
return CST_2d;
break;
484 case CST_2d:
return 10;
break;
486 case CST_3d:
return 0;
break;
487 default:
_errorr2(
"Unknown cross section type %d", (
int)val);
492 case CST_2d:
return 2;
break;
493 default:
_errorr2(
"Unknown cross section type %d", (
int)val);
522 default:
_errorr2(
"Unknown OOFEM material %d", val);
558 _errorr2(
"Unknown material type %d", (
int)val);
580 else if (
STRCMP(val,
"ConstantEdgeLoad") == 0)
return BC_CEL;
581 else if (
STRCMP(val,
"ConstantSurfaceLoad") == 0)
return BC_CFL;
583 else if (
STRCMP(val,
"DeadWeight") == 0)
return BC_DW;
590 case BC_CFL:
return "ConstantSurfaceLoad";
break;
591 default:
_errorr2(
"Unknown OOFEM boundart condition %d", val);
627 else _errorr2 (
"Unknown model mesh processing \"%s\"", val);
670 else _errorr2 (
"Unknown fem file format \"%s\"", fff);
676 case FFF_VTK:
return "vtk";
break;
677 case FFF_VTP:
return "vtp";
break;
678 case FFF_VTU:
return "vtu";
break;
679 case FFF_UNV:
return "unv";
break;
680 case FFF_JKTK:
return "jktk";
break;
682 case FFF_T3d:
return "t3d";
break;
690 default:
_errorr(
"Unknown fem file format in alias.h");
722 else _errorr2 (
"Unknown type of domain \"%s\"", val);
737 else _errorr (
"Unknown OOFEM domain in alias.h");
750 case DPN_Void: fprintf (stderr,
"OOdom_Void has assigned no string");
751 default: fprintf (stderr,
"Unknown OOFEM domain in alias.h");
768 default:
_errorr (
"Unknown OOFEM domain in alias.h");
783 default:
_errorr (
"Unknown OOFEM domain in alias.h");
792 case DPN_Dxy_R___: m =
new int[2]; m[0]=1; m[1]=2;
break;
793 case DPN_DxyzR___: m =
new int[3]; m[0]=1; m[1]=2; m[2]=3;
break;
794 case DPN_Dxy_R__z: m =
new int[3]; m[0]=1; m[1]=2; m[2]=6;
break;
795 case DPN_D__zRxy_: m =
new int[3]; m[0]=3; m[1]=4; m[2]=5;
break;
796 case DPN_DxyzRxyz: m =
new int[6]; m[0]=1; m[1]=2; m[2]=3; m[3]=4; m[4]=5; m[5]=6;
break;
798 case DPN_TR_1 : m =
new int[1]; m[0]=1;
break;
799 case DPN_TR_2 : m =
new int[2]; m[0]=1; m[1]=2;
break;
802 default:
_errorr (
"Unknown DOFsPerNode");
810 case DOF_Dx:
return "UX";
break;
811 case DOF_Dy:
return "UY";
break;
812 case DOF_Dz:
return "UZ";
break;
813 case DOF_Rx:
return "ROTX";
break;
814 case DOF_Ry:
return "ROTY";
break;
815 case DOF_Rz:
return "ROTZ";
break;
816 default:
_errorr (
"Unknown DOFtype");
823 case DOF_Dx:
return "FX";
break;
824 case DOF_Dy:
return "FY";
break;
825 case DOF_Dz:
return "FZ";
break;
826 case DOF_Rx:
return "MX";
break;
827 case DOF_Ry:
return "MY";
break;
828 case DOF_Rz:
return "MZ";
break;
829 default:
_errorr (
"Unknown DOFtype");
850 case 211:
return CG_Line;
break;
859 default:
_errorr(
"Unknown cell geometry");
876 default:
_errorr(
"Unknown cell geometry");
888 default:
_errorr(
"Unknown cell geometry");
907 default:
_errorr(
"Unknown cell geometry in alias.h");
921 default:
_errorr(
"Unknown cell geometry in alias.h");
949 else _errorr (
"Unknown approximation in alias.h");
966 else _errorr (
"Unknown approximation in alias.h");
986 default:
_errorr(
"Unknown SIFEL stress strain state");
1057 else _errorr (
"Unknown finite element type");
1086 else _errorr (
"Unknown OOFEM finite element");
1135 default:
_errorr (
"Unknown finite element type");
1159 else _errorr (
"Unknown finite element type set");
1164 else _errorr (
"Unknown finite element type set");
1173 else _errorr (
"Unknown finite element type set");
1178 else _errorr (
"Unknown finite element type set");
1180 else _errorr(
"Unknown problem group");
1201 default:
_errorr (
"Unknown OOFEM finite element");
1216 default:
_errorr (
"Unknown SIFEL finite element");
1226 default:
_errorr2(
"Unknown ANSYS element type %d", fet);
1299 default:
_errorr2(
"Unknown IPS %ld", (
int)val);
1311 else _errorr (
"Unknown integration points set in alias.h");
1327 default:
_errorr2(
"Unknown IntPointSet %d", (
int)ips);
1337 if (i == 0) { coords.
x = coords.
y = coords.
z = 1 / 3.0;
return 0.5; }
1341 if (i == 0) { coords.
x = 4 / 6.0; coords.
y = 1 / 6.0; coords.
z = 1 / 6.0;
return 1 / 6.0; }
1342 else if (i == 1) { coords.
x = 1 / 6.0; coords.
y = 4 / 6.0; coords.
z = 1 / 6.0;
return 1 / 6.0; }
1343 else if (i == 2) { coords.
x = 1 / 6.0; coords.
y = 1 / 6.0; coords.
z = 4 / 6.0;
return 1 / 6.0; }
1347 if (i == 0) { coords.
x = 0.6; coords.
y = 0.2; coords.
z = 0.2;
return 25./96.; }
1348 else if (i == 1) { coords.
x = 0.2; coords.
y = 0.6; coords.
z = 0.2;
return 25./96.; }
1349 else if (i == 2) { coords.
x = 0.2; coords.
y = 0.2; coords.
z = 0.6;
return 25./96.; }
1350 else if (i == 3) { coords.
x = 1 / 3.0; coords.
y = 1 / 3.0; coords.
z = 1 / 3.0;
return -9./32.; }
1355 if (i == 0) { coords.
x = -0.577350269189626; coords.
y = -0.577350269189626;
return 1.0; }
1356 else if (i == 1) { coords.
x = -0.577350269189626; coords.
y = 0.577350269189626;
return 1.0; }
1357 else if (i == 2) { coords.
x = 0.577350269189626; coords.
y = -0.577350269189626;
return 1.0; }
1358 else if (i == 3) { coords.
x = 0.577350269189626; coords.
y = 0.577350269189626;
return 1.0; }
1361 default:
_errorr2(
"Unknown IntPointSet %d", (
int)ips);
1435 default:
_errorr (
"Unknown finite element type");
1465 default:
_errorr (
"Unknown finite element type");
1506 if (ord != -4)
errol;
1515 default:
_errorr(
"unsupported cell geometry");
1524 default:
_errorr(
"unsupported cell geometry");
1531 default:
_errorr(
"unsupported cell geometry");
1534 default:
_errorr(
"unsupported dimension of converted component");
1551 default:
_errorr(
"unsupported cell geometry");
1556 case CG_Line:
return id;
break;
1560 default:
_errorr(
"unsupported cell geometry");
1566 default:
_errorr(
"unsupported cell geometry");
1569 default:
_errorr(
"unsupported dimension of converted component");
1611 default:
_errorr(
"unsupported fem file format");
1627 case FFF_T3d:
return id;
break;
1629 default:
_errorr(
"unsupported fem file format");
1658 default:
_errorr(
"unsupported fem file format");
1665 default:
_errorr(
"unsupported fem file format");
1701 default:
_errorr(
"unsupported fem file format");
1719 default:
_errorr(
"unsupported fem file format");
1739 default:
_errorr(
"unsupported fem file format");
1787 default:
_errorr(
"unsupported fem file format");
1807 static const int BRICK_EN_OOFEM[12] = { 1, 2, 3, 4, 9, 10, 11, 12, 5, 6, 7, 8 };
1809 static const int BRICK_EN_SIFEL_I2E[12] = { 2, 1, 4, 3, 10, 9, 12, 11, 7, 6, 5, 8 };
1810 static const int BRICK_EN_SIFEL_E2I[12] = { 2, 1, 4, 3, 11, 10, 9, 12, 6, 5, 8, 7 };
1819 default:
_errorr(
"unsupported fem file format");
1849 default:
_errorr(
"unsupported fem file format");
1875 default:
_errorr(
"unsupported fem file format");
2078 #endif // MIDAS_ALIAS_H
FiniteElementType FETSet_si2e(const char *str, int val, Solver sol, PAGroup pg)
string/int to FET
DOFsPerNode DOFsPerNode_s2e(const char *val)
FiniteElementType FET_s2e(const char *str)
string to FET
static const int BRICK_EN_SIFEL_I2E[12]
PAType PAType_i2e_SIFEL(int val)
IntPointSet IntPointSet_fet2e_rslts(IntPointSet IPset, FiniteElementType fet)
FET to IPS for results.
LinearSolverType LinearSolverType_i2e_SIFEL(int val)
Conversion from "SIFEL int" to "enum" identificator of "linear solver type".
const char * DOFsPerNode2OOFEMdomain(DOFsPerNode od)
SStype SStype_s2e(const char *val)
static const int BRICK_FN_SIFEL_I2E[6]
int MaterialType_e2i_SIFEL(MaterialType val, PAGroup pg)
IntPointSet IPS_inputfile_value_i2e_OOFEM(int val, FiniteElementTypeSet *fets)
val je cislo ze vstupaku oofemu, keyword NIP
int DOFsPerNode2nDOFs(DOFsPerNode od)
static const int TRIANGLE_IPN_OOFEM_3_I2E[3]
int FETSet_e2i_SIFEL(FiniteElementType fet)
special one time format for sculpture GDF142
int PAType_e2i_SIFEL(PAType val)
const char * FETSet_e2s_OOFEM(FiniteElementType feto)
int ECN_convert_edges_brick(bool i2e, int id, femFileFormat fff)
bool is_equal_to(const FiniteElementTypeSet fets) const
equality
void FETSet_e2set(FiniteElementType fet, FiniteElementTypeSet *set)
FET to FETset.
IntPointSet IntPointSet_fet2e_comp(FiniteElementType fet)
FET to IPS for displacement computation (integration of stiffness matrix)
static const int TRIANGLE_IPN_OOFEM_4_I2E[4]
unknows in transport, N=ndofs
static const int BRICK_EN_OOFEM[12]
int CellGeometry_e2i_VTK(CellGeometry cg)
const char * femFileFormatEtoS(femFileFormat fff)
int ECN_convert_ips_triangle(bool i2e, int id, femFileFormat fff, IntPointSet ips)
StiffMatrixType StiffMatrixType_i2e_SIFEL(int val)
Conversion from "SIFEL int" to "enum" identificator of "stiffness matrix type".
SStype SStype_i2e_SIFEL(int val)
bar=1,plbeam=2,spacebeam=5,,plate=15,axisymm=20,shell=25,spacestress=30
MaterialType MaterialType_i2e_SIFEL(int val, PAGroup pg)
static const int BRICK_EN_SIFEL_E2I[12]
double IPS_give_ip_coord_native(int i, IntPointSet ips, PoinT &coords)
int ECN_convert_e2i(int id, int compdim, int ord, CellGeometry cg, femFileFormat fff)
External to Internal conversion.
int ECN_convert_nodes_quadrangle(bool i2e, int id, femFileFormat fff)
SPRpatchType
typ spr patche, závisà na typu/geometrii elementů
Structs Elem3D, PoinT and VectoR; classes Array, Array1d, Xscal, Dscal, Xvctr, Lvctr, Dvctr, Xmtrx, Lmtrx and Dmtrx.
int CrossSectType_e2i_SIFEL(CrossSectType val, PAGroup pg)
static const int TRIANGLE_IPN_OOFEM_3_E2I[3]
CellGeometry CellGeometry_i2e_HN(int val)
LinearSolverType
Linear solver type.
MeshGenerator
type of mesh generator
int * DOFsPerNode2dofBCmask(DOFsPerNode od)
int ECN_convert_edges_quadrangle(bool i2e, int id, femFileFormat fff)
int ECN_convert_nodes_brick(bool i2e, int id, femFileFormat fff)
static const int BRICK_FN_SIFEL_E2I[6]
int ECN_convert_ips_brick(bool i2e, int id, femFileFormat fff, IntPointSet ips)
int ECN_convert_faces_brick(bool i2e, int id, femFileFormat fff)
MMprocessing MMprocessingStoE(const char *val)
static const int BRICK_NN_SIFEL[8]
FEApproximation FEApproximation_s2e(const char *val)
BCType BCType_s2e_OOFEM(const char *val)
const char * DOFtype_i2s_ANSYS(DOFtype dt)
int ECN_convert_edges_beam(bool i2e, int id, femFileFormat fff)
MaterialType MaterialType_s2e_OOFEM(const char *val)
const char * FETSet_set2s_OOFEM(const FiniteElementTypeSet *set, PAGroup pg)
int LinearSolverType_e2i_SIFEL(LinearSolverType val)
Conversion from "enum" to "SIFEL int" identificator of "linear solver type".
IntPointSet IntPointSet_fets2ips(const FiniteElementTypeSet *set)
adaptivity, element characteristic size, actual
SStype
type of stress/strain state of element; especially results depends on this variable => described at M...
DOFtype
DOF type == physical meaning of dof; see help.txt.
int ECN_convert_nodes_beam(bool i2e, int id, femFileFormat fff)
FiniteElementType FETSet_set2e(const FiniteElementTypeSet *set, Solver sol, PAGroup pg)
FETset to FET.
CrossSectType CrossSectType_i2e_SIFEL(int val, PAGroup pg)
adaptivity, refined derivatives
IntPointSet IntPointSet_s2e(const char *val)
DOFsPerNode OOFEMdomain2DOFsPerNode(const char *od)
const char * DOFtype_i2s_force_ANSYS(DOFtype dt)
int EntityType_type2dim_jktkT3d(long val)
Conversion from "entity type by t3d and jktk" to "dimension".
void FETSet_si2set(const char *str, int val, Solver sol, PAGroup pg, FiniteElementTypeSet *set)
int ECN_convert_edges_triangle(bool i2e, int id, femFileFormat fff)
int ECN_convert_nodes_triangle(bool i2e, int id, femFileFormat fff)
ResultTypesAtElem
Result type at element.
const char * MaterialType_e2s_OOFEM(MaterialType val)
int FETSet_set2i_SIFEL(const FiniteElementTypeSet *set, PAGroup pg)
tato struktura by mela obsahovat vsechny potrebne informace pro urceni konkretni implementace konecne...
PAType PAType_s2e_OOFEM(const char *str)
bool DOFsPerNode2rotDOFsPresence(DOFsPerNode od)
StiffMatrixType
Stiffness matrix type.
void beCopyOf(const FiniteElementTypeSet src)
copy
int IPS_inputfile_value_e2i_OOFEM(IntPointSet val)
val je cislo ze vstupaku oofemu
int ECN_convert_faces_triangle(bool i2e, int id, femFileFormat fff)
ResultTypesAtNode
Result type at node.
int CellGeometry_e2i_JKTK(CellGeometry cg)
static const int TRIANGLE_IPN_OOFEM_4_E2I[4]
CellGeometry CellGeometry_i2e_VTK(int val)
RVType
Result variable type.
virtual ~FiniteElementTypeSet()
int SStype_e2i_SIFEL(SStype val)
int IntPointSet_give_number_ips(IntPointSet ips)
give number of int. points
int EntityType_dim2type_jktkT3d(int val)
Conversion from "dimension" to "entity type by t3d and jktk".
adaptivity, element characteristic size, new
MIDAS input native ff - for mesh of polylines.
VTKPDtopology
VTK type of cell topology for POLYDATA.
PAGroup
The group of problem analysis.
special one time format for bridge in Melnik
CellGeometry CellGeometry_i2e_JKTK(int val)
PAGroup PAGroup_t2g(PAType val)
const char * BCType_e2s_OOFEM(BCType val)
int StiffMatrixType_e2i_SIFEL(StiffMatrixType val)
Conversion from "enum" to "SIFEL int" identificator of "stiffness matrix type".
femFileFormat femFileFormatStoE(const char *fff)
FEApproximation
finite element approximation
int ECN_convert_i2e(int id, int compdim, int ord, CellGeometry cg, femFileFormat fff)
INTERNAL to EXTERNAL conversion.
const char * FETSet_e2s_ANSYS(FiniteElementType fet)
int ECN_convert_ips_quadrangle(bool i2e, int id, femFileFormat fff, IntPointSet ips)
MIDAS input native ff - pro specialni potreby.
FiniteElementType expltype