WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

PDE function_handle Boundary Condition

 

k123456
Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 09.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.08.2018, 09:24     Titel: PDE function_handle Boundary Condition
  Antworten mit Zitat      
Hallo an alle,

in folgendem Code möchte ich die periodische Erwärmung eines Körpers im zweidimensionalen Fall simulieren. Um mit function_handle klarzukommen, möchte ich als erstes eine einfache sinusförmige Erwärmung/Abkühlung simulieren. Nur leider klappt das nicht. Ansonsten funktioniert der Code mit konstanten Werten ohne Funktion als BC. Vielleicht liegt es daran, dass ich 2 Input-Argumente brauche. Wenn der Sinus aber nur von der Zeit abhängen soll, wo soll dann das zweite Argument herkommen? Möglicherweise begründet sich dieses Problem auch anders. Es wäre sehr hilfrich, wenn jemand mal drüberschauen würde

Gruß
k123456 Rolling Eyes

Code:
% Erzeugen der Geometrie
thermalmodel = createpde('thermal','transient');
R1 = [3,4,-1,1,1,-1,-.4,-.4,.4,.4]';
geom = [R1];
gd = decsg(geom);
geometryFromEdges(thermalmodel,gd);
pdegplot(model,'EdgeLabels','on')
xlim([-1.1 1.1])
axis equal

% Festlegen der thermischen Eigenschaften & Randbedingungen
thermalProperties(thermalmodel,'ThermalConductivity',10, ...
                               'MassDensity',2, ...
                               'SpecificHeat',0.1, ...
                               'Face',1);
% aus Datei herauskopierte Funktion (Source.m)                        
% function  S  = Source(t)
% t = linspace(0,10,101)';
% T = 100;
% S = T * sin(t)
% end
S = @Source;

% periodische Wärmequelle wirkt an Kante 1
thermalBC(thermalmodel,'Edge',1,'HeatFlux',S);
% Kanten 2 & 4 sind isoliert
thermalBC(thermalmodel,'Edge',[2,4],'HeatFlux',0);
% periodische Wärmeabfuhr an Kante 3
thermalBC(thermalmodel,'Edge',3,'HeatFlux',-S);

thermalIC(thermalmodel,300);

% Erzeugung Mesh
generateMesh(thermalmodel);

tlist = linspace(0,10,101);

% Berechnung
thermalresults = solve(thermalmodel,tlist);

T = thermalresults.Temperature;
pdeplot(thermalmodel,'XYData',T(:,10),'Contour','on','ColorMap','hot')
Private Nachricht senden Benutzer-Profile anzeigen


Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.