ReducedThermalModel
Description
A ReducedThermalModel
object contains the
reduced stiffness matrix K, reduced mass matrix M, reduced load vector F, initial conditions,
mode shapes, mesh, and the average of snapshots used for proper orthogonal decomposition
(POD).
To expand this data to a full transient thermal solution, use reconstructSolution
.
Creation
Reduce a thermal model by using the reduce
function. This
function returns a reduced-order thermal model as a ReducedThermalModel
object.
Properties
K
— Reduced stiffness matrix
matrix
Reduced stiffness matrix, specified as a matrix.
Data Types: double
M
— Reduced mass matrix
matrix
Reduced mass matrix, specified as a matrix.
Data Types: double
F
— Reduced load vector
column vector
Reduced load vector, specified as a column vector.
Data Types: double
InitialConditions
— Initial conditions in modal coordinates
column vector
Initial conditions in modal coordinates, specified as a column vector.
Data Types: double
ModeShapes
— Modes used to obtain reduced-order model
matrix
Modes used to obtain a reduced-order model, specified as a matrix.
Data Types: double
Mesh
— Finite element mesh
FEMesh
object
Finite element mesh, specified as an FEMesh
object.
SnapshotsAverage
— Average of snapshots used for POD
column vector
Average of snapshots used for POD, returned as a column vector.
Data Types: double
Object Functions
reconstructSolution | Recover full-model transient solution from reduced-order model (ROM) |
Examples
Reduce Thermal Model
Reduce a thermal model using all modes or the specified number of modes from the modal solution.
Create a transient thermal model.
thermalmodel = createpde("thermal","transient");
Create a unit square geometry and include it in the model.
geometryFromEdges(thermalmodel,@squareg);
Plot the geometry, displaying edge labels.
pdegplot(thermalmodel,"EdgeLabels","on") xlim([-1.1 1.1]) ylim([-1.1 1.1])
Specify the thermal conductivity, mass density, and specific heat of the material.
thermalProperties(thermalmodel,"ThermalConductivity",400, ... "MassDensity",1300, ... "SpecificHeat",600);
Set the temperature on the right edge to 100
.
thermalBC(thermalmodel,"Edge",2,"Temperature",100);
Set an initial value of 0
for the temperature.
thermalIC(thermalmodel,0);
Generate a mesh.
generateMesh(thermalmodel);
Solve the model for three different values of heat source and collect snapshots.
tlist = 0:10:600; snapShotIDs = [1:10 59 60 61]; Tmatrix = []; heatVariation = [10000 15000 20000]; for q = heatVariation internalHeatSource(thermalmodel,q); results = solve(thermalmodel,tlist); Tmatrix = [Tmatrix,results.Temperature(:,snapShotIDs)]; end
Switch the thermal model analysis type to modal.
thermalmodel.AnalysisType = "modal";
Compute the POD modes.
RModal = solve(thermalmodel,"Snapshots",Tmatrix)
RModal = ModalThermalResults with properties: DecayRates: [6x1 double] ModeShapes: [1529x6 double] SnapshotsAverage: [1529x1 double] ModeType: "PODModes" Mesh: [1x1 FEMesh]
Reduce the thermal model using all modes in RModal
.
Rtherm = reduce(thermalmodel,"ModalResults",RModal)
Rtherm = ReducedThermalModel with properties: K: [7x7 double] M: [7x7 double] F: [7x1 double] InitialConditions: [7x1 double] Mesh: [1x1 FEMesh] ModeShapes: [1529x6 double] SnapshotsAverage: [1529x1 double]
Reduce the thermal model using only three modes.
Rtherm3 = reduce(thermalmodel,"ModalResults",RModal, ... "NumModes",3)
Rtherm3 = ReducedThermalModel with properties: K: [4x4 double] M: [4x4 double] F: [4x1 double] InitialConditions: [4x1 double] Mesh: [1x1 FEMesh] ModeShapes: [1529x3 double] SnapshotsAverage: [1529x1 double]
Version History
Introduced in R2022a
See Also
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)