Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  ANSYS
  Ansys APDL Table erweitern

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Ansys
Autor Thema:  Ansys APDL Table erweitern (866 mal gelesen)
TW-Ansys
Mitglied



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

Beiträge: 22
Registriert: 08.03.2017

erstellt am: 12. Apr. 2018 10:16    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 Zusammen,

ich bin dabei ein APDL Snippet für Mechanical zu schreiben. leider fehlen mir die passenden Befehle. Ich möchte zu einem Table einer Randbedingung eine Zeile hinzufügen. Ein Workaround wäre dies über Schleifen zu realisieren: Erzeuge neues Table und schreibe Werte aus dem alten in die entsprechenden Felder. Gibt es dafür einen eleganteren Weg?

Ausgangssituation:

*DIM,_loadvari81uy,TABLE,2,1,1,TIME,
! Time values
_loadvari81uy(1,0,1) = 0.
_loadvari81uy(2,0,1) = 1.
! Load values
_loadvari81uy(1,1,1) = 0.
_loadvari81uy(2,1,1) = 0.

Ziel:

*DIM,_loadvari81uy,TABLE,3,1,1,TIME,
! Time values
_loadvari81uy(1,0,1) = 0.
_loadvari81uy(2,0,1) = 1.
_loadvari81uy(3,0,1) = 2.
! Load values
_loadvari81uy(1,1,1) = 0.
_loadvari81uy(2,1,1) = 0.
_loadvari81uy(3,1,1) = 0.1


Ich freue mich über Tipps und Hinweise.

Viele Grüsse

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

TW-Ansys
Mitglied



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

Beiträge: 22
Registriert: 08.03.2017

erstellt am: 16. Apr. 2018 09:27    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

Ist kein APDL Profi anwesend? Oder habe ich den besten Weg bereits gewählt?

Viele Grüsse und einen guten Start in die Woche

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

RAL
Mitglied
koffeinbetriebender Taschenrechner


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

Beiträge: 238
Registriert: 10.01.2009

Geodreieck, Bleistift, Rechenschieber, Kaffeemaschine und Würfel

erstellt am: 16. Apr. 2018 21:26    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 Nur für TW-Ansys 10 Unities + Antwort hilfreich

hi.
vorsicht bei TABLE im Gegensatz zu ARRAY, da wird die indizierung manchmal fummelig.

hier nur Konzept. Syntax mit der Hilfe prüfen. Gemacht für Arrays, sollte ähnlich mit TABLE funktionieren.
vorhandener Array (MY_START) sei 3x2, der Zielarray logischerweise größer

Code:

*DIM,ZIEL,ARRAY,10,10
E_ROW=2      ! Einfuegemarke Zeile
E_COL=3      ! Einfuegemarke Spalte
*GET, ANZ_ROW, PARM, MY_START, DIM, 1, ! Anz Zeilen auslesen
*GET, ANZ_COL, PARM, MY_START, DIM, 2, ! Anz Spalten auslesen

*DO,i_row,1,ANZ_ROW,1
    *DO,i_col,1,ANZ_COL,1
        ZIEL(i_row-1+E_row,i_col-1+E_col)=MY_START(i_row,i_col)

    *ENDDO
*ENDDO



ist nicht probegelaufen; ergo Fehler!!! Ansonsten gibt es noch die *VOPER, *VFUN Reihe. Ggfs ist da was Eleganteres zwischen. Falls du wirklich mit TABLE arbeiten mußt, gibt es nur *TOPER und das kann nur addieren und das nur, wenn gleiche Dimensionen, Variablen etc.... also eher eingeschränkt. Ansonsten hast du noch folgenden Umweg: TABLE in ARRAY konvertieren, *Vxxx anwenden oder das von oben, ARRAY wieder in TABLE zurückkonvertieren.... wird vermutlich wenig spaßig. Achja: bei TABLE willst du wahrscheinlich die Einfügemarke auf 0 setzen, dann in der Schlaufe auf das "-1" aufpassen.

frohes schaffen
ral

PS: variablen, die mit _ anfangen oder aufhören sind meist ANSYS intern vorbelegt. also Vorsicht mit der Nomenklatur.

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)2023 CAD.de | Impressum | Datenschutz