Page 3 - Demo
P. 3


                                    Planar Truss Examplefor ComrelAdd-onRCPConsult, 2023-2025Page 3The first set of statements fromFLIM(1)toDEFFUNC(1)operate with procedure PlanarTrussimplemented in CppPlanarTrussGC.saoas export function that definition placed in source file PlanarTruss_GC.cpp. In this sourcefile the values from global vector v_XP_and global nameswill be accessed. Note the large 2ndpart of the sourceto create various plots after the line //*Visualization.//* Code based on Max Ehre work https://github.com/maxehre/polynomial_surrogates//* Used with his kind permission as version from 2017 that adapted to Strurel.//* Include file with internal STRUREL definitions#include\#include\#include\#include\extern\{//* Export function definition for usage in STRURELDllExportdoublePlanarTruss(long*);}// Support functionsvoidMATRAN(double*,double*,long,long);voidMATMLT(double*,double*,double*,long,long,long);doublePlanarTruss(long*ier){/*============================================================================Planar Truss Example for C/C++============================================================================Inputs:X = [A1, A2, E1, E2, P1, P2, P3, P4, P5, P6, u_y]E1,E2: Youngs modulus of horizontal and inclined bars resp. -log-normally distributedA1,A2: cross section of horizontal and inclined bars resp. lognormally distributedP1P6: negative vertical forces attacking in nodes 813. Gumbel distributedu_y: maximal allowed vertical deflection in node 4. constantOutput:uout: vertical truss deflection at bottom center (N04)============================================================================Truss description taken from Lee, S.H., Kwak, B.M. (2006).Response surface augmented moment method for efficient reliability analysis.Structural Safety 28(3), 261 272.https://www.sciencedirect.com/science/article/abs/pii/S0167473005000421Based on Diego Andr%u00e9s Alvarez Mar%u00edn work -https://github.com/diegoandresalvarez/elementosfinitos/tree/master/codigo/repaso_matricial/cercha_2dN: NodesR: Rods============================================================================N13__R4___N12__R8___N11__R12__N10__R16__N09__R20__N08/\\/\\/\\/\\/\\/\\/ \\/ \\/ \\/ \\/ \\/ \\R1 R3 R5 R7 R9 R11 R13 R15 R17 R19 R21 R23/ \\/ \\/ \\/ \\/ \\/ \\/___R2___\\/___R6___\\/__R10___\\/__R14___\\/__R18___\\/__R22___\\N01 N02 N03 N04 N05 N06 N07||\\/uout => u_y @ N04============================================================================*///* Global flags to manage plot facilities of engineStrurelPlot=true;strcpy(StrurelPlotName,\_GC_\strcpy(StrurelPlotType,\.png\StrurelPlotMode=3;//*---------------------------------------------------------------------------//* Planar truss model//*//* Vector inputs -order from Stochastic ModelA1=v_XP_[0];// cross section of horizontal barsA2=v_XP_[1];// cross section of inclined barsE1=v_XP_[2];// Youngs modulus of horizontal barsE2=v_XP_[3];// Youngs modulus of inclined barsdouble*P=v_XP_+4;// negative vertical forces attacking in nodes 813. (1x6 vector)//* FEM constants#definenfe 23#definened 2#definennp 13#definendof 2*13#definenbd 2*2//* Element, nodes and dofs association//* IEN: connectivity matrix, nfe x nodes -bar 1 has nodes 1 and 13, bar 2 has nodes 1 and 2 ...longIEN[nfe][ned]={{1,13},{1,2},{13,2},{13,12},{2,12},{2,3},{12,3},{12,11},{3,11},{3,4},{11,4},{11,10},{4,10},{4,5},{10,5},{10,9},{5,9},{5,6},{9,6},{9,8},{6,8},{6,7},{8,7}};//* LM: localization matrix, nfe x dof longLM[nfe][nbd];for(intn=0;n
   1   2   3   4   5   6   7   8   9   10