Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  MSC.Software Simulationslösungen
  Hilfe bei ELEVAR, PLOTV und HYPELA

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
SAFRAN Aircraft Engines , eine Pressemitteilung
Autor Thema:  Hilfe bei ELEVAR, PLOTV und HYPELA (428 mal gelesen)
HaukeS
Mitglied
Student

Sehen Sie sich das Profil von HaukeS an!   Senden Sie eine Private Message an HaukeS  Schreiben Sie einen Gästebucheintrag für HaukeS

Beiträge: 5
Registriert: 01.04.2008

erstellt am: 22. Jul. 2008 15:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

es geht um folgendes:
Ich moechte PLOTV nutzen um das Young's modulus im Postfiel auszugeben.

Ich benutze ELEVAR um das YM zu berechnen und gebe es danach an HYPELA weiter.
YM soll sich bei jeder Inkrementierung aendern (Adaption von Knochen an Belastung).

Nun moechte ich anhand PLOTV checken, ob etwas passiert. Soll dann als  via numerics im postfile zeigbar sein.

Jedoch weiss ich ned genau, wie ich das mit PLOTV anstelle, da V (die output variable) nicht direkt mein YM sein kann.

Ich poste mal meinen Quelltext:

C====June,24th, 2008 - Hauke Stricker============================================

C -------------------------------------------------------------------------------
C                                                            ELEVAR - evaluate E
C -------------------------------------------------------------------------------
      SUBROUTINE ELEVAR(N,NN,KCUS,GSTRAN,GSTRES,STRESS,PSTRAN,
    1 CSTRAN,VSTRAN,CAUCHY,EPLAS,EQUIVC,SWELL,KRTYP,PRANG,DT,
    2 GSV,NGENS,NGEN1,NSTATS,NSTASS,THERM)
      IMPLICIT REAL *8 (A-H, O-Z)
      DIMENSION GSTRAN(NGENS),GSTRES(NGENS),
    1 STRESS(NGEN1),PSTRAN(NGEN1),CSTRAN(NGEN1),VSTRAN(NGEN1),
    2 CAUCHY(NGEN1),DT(NSTATS),GSV(1),THERM(NGEN1),KRTYP(4),
    3 PRANG(3,2),KCUS(2)
   
      include  '../common/concom'
      include  '../common/matdat'

      DIMENSION Young(1000)
      common/hauke/Young

      call elmvar(48,m,NN,0,SED)

      x1 = 200.d0
      x2 = 3.d0
      hk = 0.004d0
      ddens = 0.5d0 * (SED/rho - hk)
      Young(m) = x1 * ddens**x2


      RETURN
      END

C--------------------------------------------------------------------------------
C                                                                          HYPELA
C--------------------------------------------------------------------------------
C
      SUBROUTINE HYPELA2(D,G,E,DE,S,T,DT,NGENS,m,nn,KC,MATUS,NDI,
    2 NSHEAR,DISP,DISPT,COORD,FFN,FROTN,STRECHN,EIGVN,FFN1,
    3 FROTN1,STRECHN1,EIGVN1,NCRD,ITEL,NDEG,NDM,NNODE,
    4 JTYPE,LCLASS,IFR,IFU)
      IMPLICIT REAL *8 (A-H, O-Z)
      DIMENSION E(1),DE(1),T(1),DT(1),G(1),D(NGENS,NGENS),S(1)
      DIMENSION N(2),COprintORD(NCRD,NNODE),DISP(NDEG,NNODE),
    2 DISPT(NDEG,NNODE),FFN(ITEL,ITEL),FROTN(ITEL,ITEL),
    3 STRECHN(ITEL),EIGVN(ITEL,ITEL),FFN1(ITEL,ITEL),
    4 FROTN1(ITEL,ITEL),STRECHN1(ITEL),EIGVN1(ITEL,ITEL)
      DIMENSION Green(3,3),Cse(3,3,3,3),
    1 secondPK(3,3)
      DIMENSION MATUS(2)
C
      include  '../common/concom'
      include  '../common/matdat'
      dimension Young(1000)
      common/hauke/Young
   
      if (inc.eq.0) then
            Young(m)=10000.d0
!      else
!            Young(m)=Young(m)
      end if
           
      Poisson=0.3d0
     
           

C...  Green strain
      if (ncycle.eq.0) then
        Green(1,1)=E(1)
        Green(2,2)=E(2)
        Green(3,3)=E(3)
        Green(1,2)=0.5d0*E(4)
        Green(1,3)=0.5d0*E(6)
        Green(2,1)=0.5d0*E(4)
        Green(2,3)=0.5d0*E(5)
        Green(3,1)=0.5d0*E(6)
        Green(3,2)=0.5d0*E(5)
      else
        Green(1,1)=E(1)+DE(1)
        Green(2,2)=E(2)+DE(2)
        Green(3,3)=E(3)+DE(3)
        Green(1,2)=0.5d0*(E(4)+DE(4))
        Green(1,3)=0.5d0*(E(6)+DE(6))
        Green(2,1)=0.5d0*(E(4)+DE(4))
        Green(2,3)=0.5d0*(E(5)+DE(5))
        Green(3,1)=0.5d0*(E(6)+DE(6))
        Green(3,2)=0.5d0*(E(5)+DE(5))
      end if
C ... Young modulus and Poisson ratio
      dlambda=Poisson*Young(m)/((1.d0+Poisson)*(1.d0-2.d0*Poisson))
      dmu=Young(m)/(2.d0*(1.d0+Poisson))
C..... Elasticity matrix (linear elastic )
      do i=1,3
      do j=1,3
        do k=1,3
        do l=1,3
              Cse(i,j,k,l)=(dlambda*delta(i,j)*delta(k,l)+
    *    dmu*(delta(i,k)*delta(j,l)+delta(i,l)*delta(j,k)))
        end do
        end do
      end do
      end do
C ... elasticity matrix in voigt notation
      D(1,1)=Cse(1,1,1,1)
      D(1,2)=Cse(1,1,2,2)
      D(1,3)=Cse(1,1,3,3)
      D(1,4)=Cse(1,1,1,2)
      D(1,5)=Cse(1,1,2,3)
      D(1,6)=Cse(1,1,3,1)
c
      D(2,2)=Cse(2,2,2,2)
      D(2,3)=Cse(2,2,3,3)
      D(2,4)=Cse(2,2,1,2)
      D(2,5)=Cse(2,2,2,3)
      D(2,6)=Cse(2,2,3,1)
c
      D(3,3)=Cse(3,3,3,3)
      D(3,4)=Cse(3,3,1,2)
      D(3,5)=Cse(3,3,2,3)
      D(3,6)=Cse(3,3,3,1)
c
      D(4,4)=Cse(1,2,1,2)
      D(4,5)=Cse(1,2,2,3)
      D(4,6)=Cse(1,2,3,1)
c
      D(5,5)=Cse(2,3,2,3)
      D(5,6)=Cse(2,3,3,1)
c
      D(6,6)=Cse(3,1,3,1)
      do i=1,5
        do j=i+1,6
          D(j,i)=D(i,j)
        end do
      end do
      do i=1,6
        G(i)=0.d0
      end do
C..  Second Piola-Kirchhoff stress
      do i=1,3
        do j=1,3
          secondPK(i,j)=0.d0
          do k=1,3
              do l=1,3
                secondPK(i,j)=secondPK(i,j)+Cse(i,j,k,l)*Green(k,l)
              end do
          end do
        end do
      end do
      S(1)=secondPK(1,1)
      S(2)=secondPK(2,2)
      S(3)=secondPK(3,3)
      S(4)=secondPK(1,2)
      S(5)=secondPK(2,3)
      S(6)=secondPK(1,3)
      RETURN
      END
C -------------------------------------------------------------------------------
C                                                      DELTA (Cronecker function)
C -------------------------------------------------------------------------------
      real function delta(i,j)
      implicit real*8 (a-h,o-z)
      integer i,j
      if (i.eq.j) then
          delta=1.d0
      else
          delta=0.d0
      end if
      return
      end

C -------------------------------------------------------------------------------
C                                PLOTV - (feedback), get value of E and stimulus
C -------------------------------------------------------------------------------

      SUBROUTINE PLOTV(V,S,SP,ETOT,EPLAS,ECREEP,T,M,NN,KCUS,NDI,
    1 NSHEAR,JPLTCD)
      IMPLICIT REAL*8 (A-H, O-Z)
      DIMENSION S(*),SP(*),ETOT(*),EPLAS(*),ECREEP(*),T(*),
    1 M(2),KCUS(2)
     
      include  '../common/concom'
      include  '../common/matdat'
      Dimension Young(1000)
      common/hauke/Young

      V = Young    (Kann ich Young(m) von ELEVAR nicht irgendwie uebernehmen)                                                                                                                               
     
      RETURN
      END

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz