Newsgroup: it.discussioni.ingegneria.civile
Titolo: Sviluppo codici di calcolo in comunità

Da appassionato di calcolo strutturale e sviluppatore di programmi
complessi per progetti particolari [progetto gru a torre e dimensiono
tutto, aste, perni, flange, stabilità globale, funi, carrucole fino al
carro base o plinto in un unico file Excel già formattato per la
stampa di qualche centinaio di pagine; moduli di verifica per la
progettazione di strutture in tralicci di alluminio con l'Eurocodice 9
in Excel di oltre 50 MB per progetti da 4-5000 aste dopo aver ottenuto
da Straus7 le caratteristiche di sollecitazione; programmi ad
interfaccia grafica GTK scritti in PNP-GTK] sento il bisogno di
passare a qualcosa di più spinto e professionale e con pretese un
tantino più ambiziose.
I programmi commerciali costano un bel po' se si vogliono in versiona
completa (acciaio, c.a., legno, muratura, solai, nodi, analisi non
lineari, fondazioni, il disegno...) e sono comunque limitati rispetto
a qualcuna delle esigenze particolari [ad esempio la verifica di
strutture in alluminio o l'onerosità delle condizioni di carico e la
conseguente lettura dei risultati per il calcolo di una Gru (diagramma
di portata) che gestisco benissimo in Excel, sapendo ogni condizione i
massimi in quali aste mi determina]
Detto che un solutore serio è follia pensare di scriverlo (anche
perchè in programmazione pura sono molto molto limitato... alla
conoscenza di poche istruzioni che per altro non rinverdisco da
tempo), pensavo di scrivere alcune procedure NON IN EXCEL per
automatizzare pre/post.
Ho dato un'occhiata a Progetto Acciaio di Sebastiano Floridia,
allegato ai suoi libri editi dalla Dario Flaccovio. In effetti
utilizza il solutore Microsap di Tesys limitato a 1000 elementi di
tipo BEAM e 500 nodi e sono uscite già anche le versioni per Legno e
Muratura (nn so se quest'ultima sempre basata su Microsap). Egli
prevede anche una versione per c.a.
Ho visto che hanno una buona interfaccia, però l'input non prevede
acquisizione da formati CAD.
Sul sito di Tesys 
http://www.tesys.it/homeita/microsap/solutore.htm
che:
Versione Library. Ad iniziare dalla Rel.8.3 il solutore Microsap è
anche disponibile in versione libreria statica (.LIB) e dinamica
(.DLL). Esse sono utilizzate dalle software houses che ne acquistano
la licenza d'uso, per integrare in modo ottimale il solutore FEM
Microsap in applicazioni specifiche di progettazione civile o
meccanica. La versione Library può essere fornita con differenti
caratteristiche e personalizzazioni.
E mi è venuto da pensare...
In fondo basterebbe acquisire un DXF come faccio con Straus7 per
modelli 3D complessi e svillupare codice di verifica per alluminio e
altre procedure per velocizzare alcune fasi...
Ricordo che alcuni di voi parlavano di progetti di calcolo F.E.M.
portati avanti dalla comunità in maniera Open Source (Felt, Olobeam,
Tochnog...).
Non so a che stato sono le cose. Potete aggiornarmi e suggerirmi la
strada da seguire? Partecipate a qualche progetto di sviluppo?

 Sebastiano Floridia
E' un frequentatore occasionale di questo newsgroup
http://groups.google.it/groups?q=author%3Afloridia&scoring=d
-- 
Ciao, DOCstone

 strada da seguire? Partecipate a qualche progetto di sviluppo?
Jilani KHALDI interviene spesso su questo e sul NG dell'architettura
contattalo penso che la sua esperienza possa tornarti utile

 ha scritto

Infatti io mi aspetto che Jilani, Nobody, Filippo B. ed altri esperti
conoscitori di codice intervengano per consigliarmi.

Ing. Antonio Sieno ha scritto:
 >
 > Ricordo che alcuni di voi parlavano di progetti di calcolo F.E.M.
 > portati avanti dalla comunità in maniera Open Source (Felt, Olobeam,
 > Tochnog...).
 > Non so a che stato sono le cose. Potete aggiornarmi e suggerirmi la
 > strada da seguire? Partecipate a qualche progetto di sviluppo?
Io di mestiere mi occupo di progettazione di strutture in acciaio 
all'Enel, e in passato avevo pubblicato un software che girava in DOS ( 
"Calcolo dei telai spaziali e verifica delle strutture in acciaio", 
Dario Flaccovio Editore, 1997) che ovviamente è "morto" perchè programmi 
in DOS sono scomodi ormai. Era scritto in C, aveva un Pre e un Post 
grafico, un solutore fatto in casa ma direi affidabile (alcuni utenti lo 
hanno confrontato con programmi più blasonati senza trovare differenze), 
una verificatore automatico con CNR-UNI 10011 e AISC-ASD. Ne avevo fatto 
anche una versione "internazionale" in inglese, che si trova ancora su 
internet:
http://xoomer.alice.it/benedetto.cordova/
Ho poi iniziato a portarlo su Windows ma mi sono arenato per varie 
ragioni, non ultimo che è molto difficile programmare su Windows per uno 
che è uno strutturista e non un programmatore, e che ero stufo di tirare 
le 2 di notte per lavorarci.
La versione Windows l'ho fatta ma la uso solo io perchè ha degli errori 
che non ho mai corretto e a me va comunque bene così.
Non so se alla luce di quello che ho raccontato io possa collaborare ed 
in che modo. Certo mi picerebbe molto.
Se qualcuno ha delle idee, mi associo volentieri.
Benedetto Cordova

strada da seguire? Partecipate a qualche progetto di sviluppo?
Credo che, prima o poi, bisogna passare dalla programmazione al
software engineering. Cioè creare tutto i presupposi per uno sviluppo
a lungo termine. Ecco, secondo me, quello che serve:
1. un sistema per la documentazione tecnica che considero la cosa più
importante dell'intero progetto. In fondo ogni progetto software è una
"traduzione" della relativa documentazione tecnica.
2. La scelta del linguaggio di programmazione è fondamentale.
Trattandosi di progetti a lungo termine, il linguaggio deve essere
altamente stabile, standardizzato, senza limiti e soprattutto adatto a
scrivere applicazioni per i computer multiprocessori. Personalmente
uso Ada per tutti i miei progetti, compresa la nuova versione di
microfelt che ora si chiama AdaFEL (Ada Finite Element Library).
3. Un sistema grafico basato su standard aperti. Personalmente
preferisco OpenGL.
4. I dati per l'input e l'output dei programmi dovrebbero essere
contenuti in database relazionali così scompare del tutto il problema
dei formati e la possibilità di utilizzare gli stessi dati in
programmi gestionali ed altro.
Per quanto mi riguarda, il punto 1) ho provveduto alla creazione di un
piccolo ma efficiente sistema basato su LaTeX e JML
(
http://jkhaldi.oltrelinux.com/jml.jpg
) per scrivere i quaderni (ecco
l'ultimo):
http://jkhaldi.oltrelinux.com/qai/fonda.pdf
Il punto 2) l'ho risolto con Ada.
http://jkhaldi.oltrelinux.com/articoli/ada.html
Per 3)  uso OpenGL ed  ultimamente GDI+ per la grafica 2D.
Per 4)  uso Firebird 
http://it.wikipedia.org/wiki/Firebird_SQL
, anzi,
ho sempre usato Firebird che prima si chiamava InterBase.
Si tratta di tanto software "casereccio" ma è maturo, affidabile e
soprattutto utile scritto dai tempi del glorioso Turbo Pascal ed ora
quasi tutto riscritto in Ada.
Non credo che esisterà una comunità che scriva software tecnico,
libero, professionale e gratuito. Solo il software di sistema e per
programmatori rimarrà gratuito ed aggiornabile in continuazione perché
la comunità è omogenea. Il software tecnico gratuito in giro è datato
e presto sarà obsoleto ed inutilizzabile. La ragione di tutto ciò è
semplice ed evidente. Ansi, sono certo che presto il prezzo del
software di nuova generazione subirà un'impennata perché i costi per
svilupparlo saranno molto elevati e quelli che lo produrranno saranno
in pochi.
Una soluzione "comunitaria" comunque c'è e consiste nella creazione di
un'Associzione Culturale di tecnici/programmatori dedicati allo
sviluppo di software certificato e venduto a prezzi ragionevoli. Non
credo che manchini i tecnici/programmatori, ma i sostenitori di questa
idea.
Jilani KHALDI
http://jkhaldi.oltrelinux.com

>Partecipate a qualche progetto di sviluppo?
L'unico progetto che mi interessa seriamente ora non è di calcolo
strutturale, ma di mdellazione solida: Wings3D
(
http://www.wings3d.com/
). Lo trovo estremamente interessante per il
fatto di essere stato interamente scritto in uno dei linguaggi di
programmazione più avanzati oggi: Erlang 
http://www.erlang.org/
 (*) e
la libreria grafica OpenGL/SDL.
Il bello di Wings3D è il suo sistema di plug-in; cioè la possibilità
di scrivere delle applicazioni dinamiche e completamente integrate in
Wings3D utilizzando Erlang. Qualcosa di simile, ma molto più potente,
di Autocad + Autolisp. Invito chiunque si interessa di 3D o di
programmazione a dare un'occhiata a Wings3D e poi ad Erlang.
Trovo anche la licenza di Wings3D molto permissiva, così è possibile
utilizzarlo come una vera piattaforma di sviluppo, derivarne altri
software senza pagare royalty e senza l'obbligo di rilasciare il
codice sorgente.
JK
(*) nel numero di Linux&C n. 62 (di questo mese, gennaio 2008) c'è una
lunga intervista a Joe Armstrong, il principale architetto di Erlang.
Anche se l'intervista è stata fatta più di 3 anni fa (ma nessuno lo
sa!), il suo contenuto è attualissimo e soprattutto riguarda il futuro
della programmazione.
ps.
Nel mio sito (che sto aggiornando questi giorni) ci sarà una parte
dedicata ad Erlang/OTP e Wings3D.
Jilani KHALDI
http://jkhaldi.oltrelinux.com

 Jilani KHALDIhttp://
jkhaldi.oltrelinux.com
A proposito, del tuo sito, ora che lo aggiorni mi auguro che sia anche
catalizzatore di tutte le tue iniziative, che a volte erano un po'
disperse per lla rete. A proposito di Linux... ho avuto solo un timido
approccio molti anni fa. Seppur affascinante, lo scambio dati con
colleghi e clienti mi terrà vincolato cmq su Windows.
Cmq la questione dello sviluppo di una interfaccia grafica, con pre/
post da abbinare ad un solido solutore già rodato non la abbandono.
Nel giro di un mese spero di chiarirmi le idee anche grazie a questo
newsgroup, e magari organizzare un progetto.

 post da abbinare ad un solido solutore già rodato non la abbandono.
Forse GiD potrebbe esserti utile.
http://www.gidhome.com/
andrea
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

>Forse GiD potrebbe esserti utile.
Credevo che Sieno fosse interessato a scrivere qualcosa di simile a
GID e non di utilizzare qualche pre/post processor.
JK
Jilani KHALDI
http://jkhaldi.oltrelinux.com


Per la verità vorrei chiarirmi un po' le idee in proposito, per capire
se si può utilizzare qualcosa di solido già testato ed efficiente, di
validità riconosciuta da voi che siete sicuramente più esperti di me,
avendo visto "da dentro" questi codici.
Devo chiarirmi le idee su cosa mi serve e come estenderlo.
E per la verità volevo anche testare l'evntuale convergenza di intenti
tra altri ingegneri/sviluppatori.
In questa fase più info e contatti riesco ad ottenere meglio è.

newsgroup, e magari organizzare un progetto.
Dai un'occhiata a questa vecchia versione di METACAD
http://jkhaldi.oltrelinux.com/metacad.zip
Apparentemente sembra un rudimentale visualizzatore di uno "strano"
formato grafico proprietario. Sviluppo METACAD appena ho un po' di
tempo libero perché penso di farlo diventare un pre/post processor di
una grande varietà di dati (strutturali e statistici in particolari).
METACAD fa parte del progetto META più volte presentato in questo
newsgroup e che non ho mai smesso di sviluppare (ma lo considero ormai
solo come hobby).
METACAD è composto da pochi oggetti grafici semplici di base come
linee, cerchi, poligoni..., e di penne, colori (anche trasparenti) e
layer. E' possibile poi definire nuovi oggetti come combinazioni di
semplici oggetti e/o da altri oggetti complessi (è stata utile qui la
programmazione ad oggetti). METACAD legge e scrive nel suo formato di
dati testuali (legibile)  oppure da database relazionale Firebird
(multipiattaforma); cioè può anche visualizzare dati contenuti in un
server Linux e Windows (ho provato solo questi due sistemi operativi).
METCAD utilizza la libreria grafica GDI+ della Micorosoft per la
grafica 2D ed OpenGL per la grafica 3D, in più utilizza lua
(
http://www.lua.org/
) come linguaggio di scripting per eventuali
personalizzazioni.
Ti dico questo per non farti perdere tempo a reinventare la ruota.
METACAD sarà disponibile gratuitamente per qualsiasi utilizzo ed è
molto semplice da interfacciare con altri programmi per rappresentare
qualsiasi dato grafico. Non ti posso dire quando sarà disponibile la
versione finale perché non so nemmeno io quando finirà questa
"piacevole" odissea! In altri termini, se in futuro servirà aggiungere
altro a METCAD che sarà ritenuto utile, verrà sicuramente aggiunto.


 strutturale, ma di mdellazione solida: Wings3D
[cut]
Domanda, perche' Wings3D e non Blender?
Sono solo curioso...
Ciao
Doc Hollywood


C'è rischio di andare OT...

 Tochnog...).
Non so se possa essere utile alle tue ricerche ma prova a dare
un'occhiata anche a questo:
http://www.caelinux.com/CMS/
Troverai una distribuzione Linux contenente Code_Aster, il modellatore
Salome' e molte altre cose.
E' comunque un po' ostico e forse non tutta la documentazione e' stata
tradotta in inglese (Code_Aster nasce in Francia per la progettazione
delle centrali elettriche).
Credo che proprio il fatto di non essere nato in inglese ne abbia un po'
bloccato lo sviluppo e diffusione all'interno delle comunita' che usano
Linux.
E' altamente consigliata la visione dei filmati di spiegazione.
Per conto mio ammetto di continuare a rimandarne lo studio ma rimango
molto affascinato dal livello raggiunto.
-- 
Ciao da Francesco B.

Sono solo curioso...
Wings3D è molto indicato per chi vuole sviluppare applicazioni
specifiche (verticali) utilizzando il suo modellatore solido.
Modellatore e plug-in sono scritti in Erlang che è un linguggio
dinamico dedicato allo sviluppo di applicazioni parallele distribuite
e real-time. Con Blender (C/Python) è molto più complicato.


On 9 Gen, 00:49, 
bfmNOS...@despammed.com
 (Francesco B.) wrote:

Il Francese non mi spaventa... anzi, lo capisco abbastanza e meglio
dell'inglese, che nn ho mai studiato e che capisco solo per aver usato
il pc negli ultimi 10 anni... ;-)


Erlang ha una comunità grande come quella che ruota intorno a C/C++/
Python/VB?
Si rischia di rimanere isolati e senza aiuti?

Si rischia di rimanere isolati e senza aiuti?
Vedi il trend.
http://www.erlang.org/pipermail/erlang-questions/
che dimostra come la comunità sta crescendo.
Credo che con la diffusione di computer con più processori la
popolarità di Erlang aumenterà sensibilmente.


il pc negli ultimi 10 anni... ;-)
Quello che spaventa realmente è la quantità di megabyte per un
software del genere, cioè quanta roba deve essere già installata per
utilizzarlo. Ma la sindrome del gigantismo si è già diffusa ed è
difficile ormai fermarla.
Penso che per compilarlo da codice sorgente occorrono diverse ore se
tutto va bene.


 tutto va bene.
parli di Code-Aster con Salomè?

Sto rimettendo in ordine tutte le indicazioni che ho ottenuto sia qui
che sul newsgroup yahoo Fem-Analysis, 10 giorni di tempo (eh, devo
pure lavorare!) e torno sul tema origine della discussione.
Raccolgo dei link che ho trovato (c'è molto codice a disposizione) e
che magari possiamo valutare insieme, per poi fare qualche scelta.

>parli di Code-Aster con Salomč?
entrambi.


Ciao
Sono dei vostri.....
Non sono un "progammatore". Per non offendere chi lo è.
Io lavoro con il VBA di autocad e con il VBA di excel.
Perfettamente compatibili.
1 - Disegno la struttra 3D in autocad (utilizzando i layer per
distinguere gli elementi, le sezioni, i nodi, i carichi)
2 - Esporto (e ordino) i dati in excel mediante VBA di autocad verso
excel
3 - Ordino i dati in specifici fogli di excel mediante VBA (di excel)
4 - Calcolo la struttra mediante codice FEM 3D scritto in VBA
5 - ottengo i risultati delle sollecitazioni in ogni asta su un
opportuno foglio di calcolo
Adesso il calcolo è solo statico lineare.
Ma ho già scritto del codice per una analisi dinamica modale.
Ho verificato i risultati mediante MATERSAP amv (a mio avviso uno dei
migliori).
Adesso, purtroppo, non so proprio qual'è il prossimo passo:
preparare un'interfaccia o
continuare con il codice "scientifico" per sistemare una discreta
quantità di routine, macro, etc....
Un osservazione:
quello che ci si propone non è un'utopia.
io da profano per scrivere questa applicazione,non un programma,ho
impiegato circa 400 ore in un'anno, partendo da zero. Poco più di
un'ora al giorno.
Quindi se po fà.....
Fammi,
Fatemi sapere.
Ciao ciao

 Devo chiarirmi le idee su cosa mi serve e come estenderlo.
Dai un'occhiata qui
http://www.google.com/codesearch?hl=it
-- 
Ciao, DOCstone


Grande Doc!
Per il momento salvo il Link tra i preferiti "Codici Ingegneria"...