Salve a tutti, ho un codice che in genere non da nessun problema.
Dà problemi invece "a quanto pare" se le dimensioni ( nodisaldatura.size() ) cominciano a essere grandi e se ne esce dal main:
da qualche parte nel codice in neretto qualcosa non funziona e il programma si blocca...codice:print("CALCOLO FORZE LINEARI EQUIVALENTI"); int VirtualNode; //0 = NO; 1=SI double fx[nodisaldatura.size()]; double fy[nodisaldatura.size()]; double fz[nodisaldatura.size()]; double mx[nodisaldatura.size()]; double my[nodisaldatura.size()]; //double mz[nodisaldatura.size()]; //non necessaria ai fini del calcolo dello structural stress std::vector<double> fx_vn(nodisaldatura.size()-2,0.); std::vector<double> fy_vn(nodisaldatura.size()-2,0.); std::vector<double> fz_vn(nodisaldatura.size()-2,0.); std::vector<double> mx_vn(nodisaldatura.size()-2,0.); std::vector<double> my_vn(nodisaldatura.size()-2,0.); std::vector<double> fx_cir(nodisaldatura.size(),0.); std::vector<double> fy_cir(nodisaldatura.size(),0.); std::vector<double> fz_cir(nodisaldatura.size(),0.); std::vector<double> mx_cir(nodisaldatura.size(),0.); std::vector<double> my_cir(nodisaldatura.size(),0.); std::vector<std::vector<double> > M;//(nodisaldatura.size(),nodisaldatura.size()); std::vector<std::vector<double> > Mvirtual;//nel caso si usi il metodo del nodo virtuale //inizializzazione std::vector<double> riga_n(nodisaldatura.size(),0.); //serve per inizializzazione matrice con tutti 0 std::vector<double> riga_m(nodisaldatura.size()-2,0.); for(int i=0;i<nodisaldatura.size();i++) { fx[i]=0.; fy[i]=0.; fz[i]=0.; mx[i]=0.; my[i]=0.; //mz[i]=0.; //non necessaria ai fini del calcolo dello structural stress M.push_back(riga_n); Mvirtual.push_back(riga_m); }
Cosa può essere e come potrei risolvere?
Vi ringrazio!

Rispondi quotando