Author Topic: Programma di verifica a presso-flessione deviata di sezioni generiche in c.a  (Read 149428 times)

0 Members and 3 Guests are viewing this topic.

zax2010

  • Guest
Penso di fare cosa gradita nel pubblicare in unico file tutte le funzioni e gli spezzoni di codice che ho pubblicato lungo il topic.

Il file .zip in allegato contiene un header file (estensione .h) in cui sono dichiarati tutte le strutture dati utilizzate nei listati, e tutti i prototipi delle funzioni. Nel file con estensione .cpp sono invece contenuti i "corpi" delle varie funzioni.

Si tratta in ambedue i casi di normalissimi file ASCII di testo.

In teoria bastano questi 2 file e la dichiarazione di qualche variabile globale, in un qualsiasi vostro programma in C, per affrontare la verifica a presso-tenso flessione deviata, sia SLE che SLU, di sezioni di qualsivoglia geometria.

Ho cercato di essere quanto più esaustivo nei commenti alle varie linee di codice. Ovviamente gli aspetti teorici sono stati sviluppati nel presente topic e ad essi si riporta per la comprensione migliore di cosa ogni singola funzione calcola e perchè.

Ovviamente spero non ci siano magagne (fino a stasera ho dovuto sostituire un > con un >= per evitare un pernicioso overflow). Se qualcosa in tal senso dovesse spuntare mi impegno, come ho fatto prima a modificare e risolvere.

Offline Cris

  • Global Moderator
  • Nonno del forum
  • *****
  • Posts: 1514
  • Karma: 218
  • Libero Professionista
Ringraziamento istituzionale a nome del forum....  :)
Quando i nani fanno l'ombra lunga.... è l'ora del tramonto.

Offline xalf70

  • Semi Esperto
  • **
  • Posts: 168
  • Karma: 28
Grande zax.
di programmazione in C non ne capisco niente, ma dai due file vedo che hai fatto un grande lavoro e soprattutto lo hai condiviso.

grazie  :clap:

Offline _automa_

  • Esperto del forum
  • ***
  • Posts: 395
  • Karma: 47
  • ..
Grande zax.
di programmazione in C non ne capisco niente, ma dai due file vedo che hai fatto un grande lavoro e soprattutto lo hai condiviso.

grazie  :clap:

mi associo a entrambi i concetti, ringraziemnto epr condivisione e assoluta ignoranza per tutto cio' che va oltre il turbo pascal ...

Offline BidiBLU

  • Semi Esperto
  • **
  • Posts: 99
  • Karma: 16
grazie zax per aver condiviso il tuo sapere e il tuo lavoro

Bidi :-)

Offline Gilean

  • Administrator
  • Bisnonno Veterano
  • *****
  • Posts: 3292
  • Karma: 202
grazie zax per aver condiviso il tuo lavoro....che ne dici di inserirlo nella sezione download del sito in modo che sia piu' visibile ed indicizzabile dai motori di ricerca?
Il calcolo è come la pelle delle @@, lo tiri dove vuoi tu.
Esempio di programmazione a Loop:
L'enunciato che segue è falso
L'enunciato precedente è vero.

Nonostante la consapevolezza dei rischi che si corrono dopo aver visto le prestazioni da 3° dan

zax2010

  • Guest
Gilean ci avevo pensato, ma devo purtroppo declinare il tuo invito.

Perchè io non voglio scindere le due cose. Il listato è il prodotto finale - tra l'altro parziale, scaturito sostanzialmente come risposta ad un desiderio di afazio, che me lo aveva espressamente richiesto - ma molto più importanti sono i ragionamenti, giusti o sbagliati, che ci stanno dietro. E questi ragionamenti stanno scritti qui. In questo topic.

Scindere, separare le due cose, significa solamente rendere la pappa pronta al downloader di turno che senza la "necessità" di capire quello che fa, copierà e incollerà quanto scaricato da qualche parte, senza capirlo, senza interpretarlo, senza modificarlo (perchè non saprebbe dove metterci le mani), senza impegnarsi, senza ......

Ok. Mi hai capito.

Offline Gilean

  • Administrator
  • Bisnonno Veterano
  • *****
  • Posts: 3292
  • Karma: 202
Re:Programma di verifica a presso-flessione deviata di sezioni generiche in c.a
« Reply #97 on: 29 October , 2011, 12:49:40 PM »
potresti benissimo indicare nella descrizione del download il link a questo post.
Il calcolo è come la pelle delle @@, lo tiri dove vuoi tu.
Esempio di programmazione a Loop:
L'enunciato che segue è falso
L'enunciato precedente è vero.

Nonostante la consapevolezza dei rischi che si corrono dopo aver visto le prestazioni da 3° dan

Offline marchionili

  • Novizio del forum
  • *
  • Posts: 38
  • Karma: 0
  • Novizio
Discussione interessantissima. Ho letto solo l'introduzione del tread e vorrei capire le funzioni dello script. Molto brevemente il codice che hai postato permette di verificare una sezione qualsiasi in c.a.o. e c.a.p. sottoposta alle 6 caratteristiche di sollecitazione, allo SLU e allo SLE, con un numero illimitato di buchi, di vertici, ecc...? Il programma é completo? Su cosa bisognerebbe ancora lavorare?

Inoltre per poter capire come usare il tuo codice bisognerebbe conoscere il C# C++ (quale?). Io fino ad ora ho sempre usato matlab ma vorrei passare ad un linguaggio di programmazione più completo. Secondo te se mi leggo una di queste guide (per favore dimmi quale)
http://programmazione.html.it/guide/
posso arrivare a comprendere il listato che hai postato su questo forum?
Un amico a cui ho chiesto mi ha detto che il C é un ottimo linguaggio e che JAVA é meglio ma che entrambi hanno un grosso difetto: sono difficilissimi da imparare ad usare e non permettono la creazione di interfaccie grafiche in modo agevole in stile visual basic. Mi piacerebbe sentire un tuo parere in merito a questo aspetto e magari qualche consiglio per arrivare a comprendere il tuo codice e se possibile contribuire a progetti importanti come questi e altri trattati su questo forum.

Grazie infinite per questo splendido lavoro a nome mio e di tutto il forum

zax2010

  • Guest
Piano.....piano.....non esageriamo.

Intanto: Verifica di sole sezioni in c.a. e soltanto con N, Mx ed My
Quindi niente torsione, nè taglio, retto o deviato che sia.

Rispondo a te, così come ad altri che me lo hanno chiesto in MP. In ogni caso ne avevo fatto cenno nel corso del topic.
Il codice postato è puro ANSI C, e dovrebbe poter essere compilato da qualsiasi compilatore C, C++, C#, in qualsiasi ambiente (Linux, Windows, Os, ecc.). Come da commenti nei file stessi, è necessario dichiarare le variabili globali, di input, utilizzate all'interno delle varie funzioni.
In ogni caso ritengo, vista la semplicità delle istruzioni interne alle singole funzioni che una eventuale "traduzione" in altri linguaggi sia sempre possibile, con una semplice modifica di sintassi.
Forse però, non saprei se per tutti i linguaggi sono previste le strutture dati, che io, per consentire un rapido passaggio di variabili tra le varie funzioni, ho utilizzato a iosa.

Ciò detto le funzioni che trovi all'interno dello zip sono semplicemente il "motore".
Con questa metafora, ci dovrà essere qualcuno che dovrà costruirci attorno carrozzeria, volante, trasmissione, ruote.
Uscendo fuor di metafora bisognerà costruire tutta l'interfaccia di inserimento dei dati di input (ma potrebbe trattarsi anche di un semplice file di testo che viene letto assegnando le variabili che servono), tutta l'interfaccia di presentazione dei risultati, sia a video che eventualmente su file o direttamente in stampa.
L'ho già detto. Non è poca cosa.

Offline marchionili

  • Novizio del forum
  • *
  • Posts: 38
  • Karma: 0
  • Novizio
Re:Programma di verifica a presso-flessione deviata di sezioni generiche in c.a
« Reply #100 on: 06 November , 2011, 16:55:16 PM »
Ma questo software qui:
http://ingegneriaforum.it/index.php?action=downloads;sa=view;down=327
é un altro programma fatto da gilean oppure é opera tua?

Se mi aiuti a capire il codice e come lavorare con il C provo ad aggiungere la torsione, il taglio e sucessivamente anche la precompressione.

Ovviamente solo a condizione che la filosofia resti la stessa: codice libero sempre e comunque.

Offline mg

  • Semi Esperto
  • **
  • Posts: 167
  • Karma: 24
  • Novizio
Re:Programma di verifica a presso-flessione deviata di sezioni generiche in c.a
« Reply #101 on: 07 November , 2011, 09:51:00 AM »
Ciao Zax,

Non sono un grande programmatore e quindi ti chiedo consiglio. Premettendo che non ho ancora dato un occhio al codice, ma mi chiedevo se secondo te è possible creare una DLL che poi sia possibile inserire in qualunque programma scritto anche in C# o VB.net. ?
Quel che so io è che di certo se creo, ad esempio, una classe in VB.net con dei metodi e la compilo creando una DLL poi, inserendo tale DLL come risorsa di un programma C# posso utilizzare i metodi della classe programmati in VB.net. . Pensi sia possibile fare lo stesso partendo dal C?

MArco
« Last Edit: 07 November , 2011, 13:11:55 PM by mg »

Offline marchionili

  • Novizio del forum
  • *
  • Posts: 38
  • Karma: 0
  • Novizio
Re:Programma di verifica a presso-flessione deviata di sezioni generiche in c.a
« Reply #102 on: 13 November , 2011, 22:40:16 PM »
Ho visto solo le prime 2 lezioni di Visual C# e non sono esperto di questo linguaggio però anche io ho lo stesso interesse di mg: vorrei prendere il tuo codice e creare un'interfaccia grafica per esso. Non capisco perché dici che "non é poca cosa". Si tratta di mettere una RichTextBox per le coordinate dei punti della figura, una serie di ListBox per i parametri dei materiali e per le coordinate dei ferri ed un pulsante calcola.

Credo che la cosa più sicura e corretta sia quella di tradurre C++ con C#.

A presto e grazie

zax2010

  • Guest
Re:Programma di verifica a presso-flessione deviata di sezioni generiche in c.a
« Reply #103 on: 14 November , 2011, 11:44:29 AM »
Io non ho detto che si tratti di una cosa "difficile" in se. Ho semplicemente detto che si tratta di una cosa non banale, di quelle che per quanto non complicate alla fine ti fanno perdere parecchio tempo.
Ma se tu vuoi lanciarti, non puoi che avere il mio assoluto ed incondizionato incoraggiamento.

Se tu utilizzi un compilatore C++ sono arcisicuro che il listato ver_SLE_SLU.cpp non ha bisogno di nessuna traduzione o correzione.
Dovrai semplicemente inserire tale file tra quelli del tuo progetto (di solito nei compilatori avrai nel menù una voce Project ed una sotto opzione Add), ed 'alimentarlo' con i dati di input (le strutture dati che nei commenti iniziali del file dico che vanno dichiarate).
Ancor di più, senza passare da Project ecc. Copi&Incolli tutto il listato nel tuo, ed hai risolto.
Fai attenzione perchè alla fine del listato (ma è evidenziato da un commento, spero abbastanza visibile), ci sono delle funzioni 'false' che hanno l'unico scopo di far capire come materialmente utilizzare i 'servizi' che le varie funzioni svolgono.
Ti saranno comunque utili per scrivere il codice che dovrà essere eseguito alla pressione del tuo bottone 'Calcola'.

Andando al C# ritengo che non cambi nulla. Ossia un compilatore C# dovrebbe essere in grado di compilare codice C tranquillamente. Ma qui dovrebbe intervenire Gilean che dovrebbe saperne più di me.

Offline Gilean

  • Administrator
  • Bisnonno Veterano
  • *****
  • Posts: 3292
  • Karma: 202
Re:Programma di verifica a presso-flessione deviata di sezioni generiche in c.a
« Reply #104 on: 15 November , 2011, 09:34:18 AM »
il codice c# e' un codice di programmazione orientato agli oggetti. Pertanto ogni metodo, ogni proprietà risiede all'interno di una classe o di una interfaccia. Ti invito a guardati per bene le mie videolezioni per capire qualcosa di piu'.
Il calcolo è come la pelle delle @@, lo tiri dove vuoi tu.
Esempio di programmazione a Loop:
L'enunciato che segue è falso
L'enunciato precedente è vero.

Nonostante la consapevolezza dei rischi che si corrono dopo aver visto le prestazioni da 3° dan

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24