Home
LiveLink for MATLAB User's Guide
Contents
1. Por 2036 Password 4 Remember password Cancel o The COMSOL server may hold several models this is why itis mandatory to enter the name of the model for the import procedure Important THE MODEL OBJECT 3l 32 Working with Geometry This section describes how to set up and run a geometry sequence In this section The Geometry Sequence Syntax Displaying the Geometry Working with Geometry Sequences Exchanging Geometries with the COMSOL Desktop Importing and Exporting Geometries and CAD Models from File Retrieving Geometry Information Modeling with a Parameterized Geometry Images and Interpolation Data Geometry Modeling and CAD Tools in the COMSOL Multiphysics User s Guide See Also Geometry in the COMSOL Java API Reference Guide o The links to features described outside of this user guide do not work in the PDF only from within the online help Important CHAPTER 3 The Geometry Sequence Syntax Create a geometry sequence by using the syntax model geom create geomtag sdim where geomtag is a string that you use to refer to the geometry The integer sdim specifies the space dimension of the geometry it can be either 0 1 2 or 3 To add an operation to a geometry sequence use the syntax model geom lt geomtag gt feature create lt ftag gt operation BUILDING MODELS where lt g
2. COMMANDS GROUPED BY FUNCTION 187 colortable 188 Purpose Syntax Description Return a MATLAB colormap for a COMSOL color table map colortable name map colortable name returns the color table of 1024 colors for name where name can be one of the following strings Cyclic A color table that varies the hue component of the hue saturation value color model keeping the saturation and value constant equal to 1 The colors begin with red pass through yellow green cyan blue magenta and finally return to red This table is particularly useful for displaying periodic functions and has a sharp color gradient Disco This color table spans from red through magenta and cyan to blue Discolight Similar to Disco but uses lighter colors Grayscale A color table that uses no color only the gray scale varying linearly from black to white Grayprint Varies linearly from dark gray 0 95 0 95 0 95 to light gray 0 05 0 05 0 05 This color table overcomes two disadvantages that the GrayScale color table has when used for printouts on paper namely that it gives the impression of being dominated by dark colors and that white cannot be distinguished from the background Rainbow The color ordering in this table corresponds to the wavelengths of the visible part ofthe electromagnetic spectrum beginning at the small wavelength end with dark blue the colors range through shades of blue cyan gree
3. en and returns the result in N matrices v1 vn with M rows and P columns M is the number of inner solution and P the number of outer solution used for the evaluation edim defines the element dimension line surface volume or as an integer value V1 vn mphmax model e1 en edim also returns the units of the maximum in a 1xN cell array The function mphmax accepts the following property value pairs TABLE 6 11 PROPERTY VALUE PAIRS FOR THE MPHMAX COMMAND PROPERTY PROPERTY VALUE DEFAULT DESCRIPTION Dataset String active Data set tag solution data set Matrix off on on Returns data as a matrix or as a cell Outersolnum Positive integer 1 Solution number for array parametric sweep Selection Integer vector all Selection list or named string all selection Solnum Integer vector all Solution for evaluation end all Squeeze on off on Squeeze singleton dimensions T Double array Time for evaluation The property Dataset controls which data set is used for the evaluation Data Sets contain or refer to the source of data for postprocessing purposes Evaluation is supported only on Solution Data Sets The maximum expressions e1 en is evaluated for one or several solutions Each solution generates an additional column in the returned matrix The property Solnum and t control which solutions are used for the evaluation The Solnum property is available when the data set has multiple solution
4. where outersolnum is a positive integer corresponding to the outer solution index The default settings uses the first outer solution for the data evaluation To evaluate the expression data at a specific time use the property t data mphevalpoint model lt expr gt t lt time gt where time is a double array The default value correspond to all the stored time step Perform data series operation with the dataseries property data mphevalpoint model lt expr gt dataseries dataseries max min rms where dataseries is either mean int std var Depending on the property value mphevalpoint performs the following operations mean integral maximum minimum root mean square standard deviation or variance respectively When performing a minimum or maximum operation on the data series you can specify to perform the operation using the real or the absolute value Set the property minmaxobj to real or abs respectively data mphevalpoint model lt expr gt dataseries dataseries minmaxobj valuetype By default valuetype is real OUTPUT FORMAT The function mphevalpoint supports other output formats To extract the unit of the evaluated expression you need to define an extra output variable data unit mphevalpoint model lt expr gt with unit is a 1xN cell array where N is the number of expression to evaluate CHAPTER 4 WORKING WITH MODELS
5. dofnames Variable names nameinds Variable names index of the dofs The nodes substructure contains the fields listed in the following table FIELDS DESCRIPTION coords Nodes coordinates dofnames Variable names dofs NxM array containing the index 0 based of the dofs for each node N being the length of dofnames and M the number of nodes The element substructure contains the fields listed in the following table FIELDS DESCRIPTION meshtypes List of the type of mesh available type Substructure containing the information of element of type type The type substructure list the information for each element The possible mesh types are vtx quad tri quad tet hex prism and pyr The substructure type contains the fields listed in the following table FIELDS DESCRIPTION localcoords Local nodes coordinates localdofcoords Local dofs coordinates localdofnames Names of the local dofs nodes Nodes index for each element dofs Dofs index for each element SPECIFY THE INFORMATION TO RETRIEVE You can specify the solver node to use to retrieve the xmesh information set the property solname as in the command below info mphxmeshinfo model soltag lt soltag gt where lt soltag gt is the tag of the solver use to extract the xmesh information You can also retrieve the xmesh information for a specific study step node which is specified with the property studysteptag CHAPTER 4
6. geom1 model geom create geomi 3 geomi feature create blki Block geom1 run Proceed with adding a Heat Transfer in Solids interface to the model phys model physics create ht HeatTransfer The tag of the interface is ht The physics interface constructor is HeatTransfer The physics is defined on geometry geom1 The physics interface automatically creates a number of default features Examine these by entering BUILDING MODELS gt gt model physics ht ans Type Heat Transfer in Solids Tag ht Identifier ht Operation HeatTransfer Child nodes solidi ins1 cibi initi 051 The physics method has the following child nodes solid1 ins1 cib1 init1 and os1 These are the default features that come with the Heat Transfer in Solids interface The first feature solid1 consists of the heat balance equation Confirm this by entering gt gt solid phys feature solid ans Type Heat Transfer in Solids Tag solid You can modify the settings of the solid feature node for instance to manually set the material property To change the thermal conductivity to 400 W m K enter solid set k mat 1 userdef J solid set k 400 The Heat Transfer in Solids interface contains features you can use to specify domain or boundary settings For example to add a 1e5 W m 3 heat source in the study domain enter the commands hs phys feature create hs1 Heat
7. M mphevalglobalmatrix model emw SdB dataset dset4 mpheval mphinterp mphglobal 196 CHAPTER 6 COMMAND REFERENCE mphevalpoint Purpose Syntax Description Evaluate expressions at geometry vertices v1 vn mphevalpoint model e1 en v1 vn unit mphevalpoint model e1 en Vv1 vn mphevalpoint model e1 en returns the results from evaluating the expressions e1 en at the geometry vertices The values V1 vn can either be a cell array or a matrix depending on the options Vv1 vn unit mphevalpoint model e1 en also returns the unit of all expressions e1 en in the IxN cell array unit The function mphevalpoint accepts the following property value pairs TABLE 6 3 PROPERTY VALUE PAIRS FOR THE MPHEVAL COMMAND PROPERTY PROPERTY DEFAULT DESCRIPTION VALUE Dataset String Data set tag Dataseries none mean none The operation that is applied to the int max data series formed by the min rms evaluation std var Matrix off on on Return a matrix if possible Minmaxobj Real abs real The value being treated if Dataseries is set to max or min Outersolnum Positive 1 Solution number for parametric integer sweep Selection Integer All Set selection tag or entity number vector domains string all Smooth Internal internal Smoothing setting none everywhere Solnum Integer all Solutions for evaluation vector all end Squ
8. CHAPTER 6 COMMAND REFERENCE mphstate str mphstate model sol1 out MA MB C D input TO output mod1 ppb1 251 mphversion 252 Purpose Syntax Description See also Return the version number of COMSOL Multiphysics mphversion v vm mphversion model v 7 mphversion returns the COMSOL Multiphysics version number that MATLAB is connected to as a string v vm mphversion model returns the COMSOL Multiphysics version number that MATLAB is connected to as a string in the variable v and the version number of the model in the variable vm mphload mphsave CHAPTER 6 COMMAND REFERENCE mphviewselection Purpose Display a geometric entity selection in a MATLAB figure Syntax mphviewselection model geomtag number entity entity mphviewselection model seltag Description mphviewselection model geomtag number entity entity displays the geometric entity number of type entity in MATLAB figure including the representation of the geometry geomtag mphviewselection model seltag displays the geometric entity selection seltag in a MATLAB figure including the representation of the geometry The function mphviewselection accepts the following property value pairs TABLE 6 23 PROPERTY VALUE PAIRS FOR THE MPHVIEWSELECTION FUNCTION PROPERTY VALUE DEFAULT DESCRIPTION Edgecolor Char RGB k Color for edges array Edgecolorselected RGB ar
9. Load busbar mph from the Model Library model mphload busbar Show the mesh distribution in a figure stats mphmeshstats model bar linspace 0 1 20 stats qualitydistr Show the element vertices in a plot stats data mphmeshstats model plot3 data vertex 1 data vertex 2 data vertex 3 axis equal view 3 Get the element types information stats types Get the number of edge element note that the edge type is the first type in the list numedgeelem stats numelem 1 mphmesh CHAPTER 6 COMMAND REFERENCE mphmin Purpose Syntax Description Perform minimum of expressions v1 vn mphmin model e1 en edim v1 vn unit mphmin model e1 en edim Vv1 vn mphmin model e1 en edim evaluates the minimum of the string expressions e1 en and returns the result N matrices v1 vn with M rows and P columns M is the number of inner solution and P the number of outer solution used for the evaluation edim defines the element dimension line surface volume or as an integer value Vv1 vn mphmin model e1 en edim also returns the units in a 1xN cell array The function mphmin accepts the following property value pairs TABLE 6 16 PROPERTY VALUE PAIRS FOR THE MPHMIN COMMAND PROPERTY PROPERTY VALUE DEFAULT DESCRIPTION Dataset String active Data set tag solution data set Matrix off on on Returns d
10. LiveLink for MATLAB Users Guide VERSION 4 3 Hl COMSOL LiveLink for MATLAB User s Guide 2009 2012 COMSOL Protected by U S Patents 7 519 518 7 596 474 and 7 623 991 Patents pending This Documentation and the Programs described herein are furnished under the COMSOL Software License Agreement www comsol com sla and may be used or copied only under the terms of the license agree ment COMSOL COMSOL Desktop COMSOL Multiphysics and LiveLink are registered trademarks or trade marks of COMSOL AB MATLAB is a registered trademark of The MathWorks Inc Other product or brand names are trademarks or registered trademarks of their respective holders Version May 2012 COMSOL 4 3 Contact Information Visit www comsol com contact for a searchable list of all COMSOL offices and local representatives From this web page search the contacts and find a local sales representative go to other COMSOL websites request information and pricing submit technical support queries subscribe to the monthly eNews email newsletter and much more If you need to contact Technical Support an online request form is located at www comsol com support contact Other useful links include Technical Support www comsol com support Software updates www comsol com support updates Online community www comsol com community Events conferences and training www comsol com events Tutorials www comsol com products tut
11. TABLE 6 18 PROPERTY VALUE PAIRS FOR THE MPHSELECTBOX COMMAND PROPERTY VALUE DEFAULT DESCRIPTION Adjnumber Scalar Adjacent entity number When a model uses form an assembly more than one vertex may have the same coordinate if the coordinate is shared by separate geometric objects In that case one can use the adjnumber property in order to identify the domain that the vertices should be adjacent to Load busbar mph from the Model Library model mphload busbar mph Find domains that are inside the selection box defined by 0 0 05 0 0 05 0 05 0 05 n mphselectbox model geom 0 0 05 0 0 05 0 05 0 05 domain Find boundaries inside the selection box that are adjacent to domain number 1 n mphselectbox model geomi 0 0 05 0 0 05 0 05 0 05 boundary adjnumber 1 241 mphselectbox 242 See also Load effective diffusivity mph from the Model Library model mphload effective diffusivity mph Find the boundaries that are inside the selection rectangle defined by 3e 4 4e 4 4 5e 4 5 5e 4 n mphselectbox model geomi 3e 4 4e 45 4 5e 4 5 5e 4 boundary Find the boundaries that are inside the same selection rectangle n mphselectbox model geomi 3e 4 4e 45 4 5e 4 5 5e 4 point mphgetadj mphgetcoords mphselectcoords CHAPTER 6 COMMAND REFERENCE mphselectcoords Purpose Syntax Description Examplee Se
12. lt y0 gt lt y1 gt lt z0 gt lt 21 gt entitytype adjnumber lt idx gt where idx is the domain index adjacent to the desired geometric entities Selection Using Adjacent Geometry An other approach to select geometry entity is to define their adjacent object For instance select the edges that are adjacent to a specific domain or the boundaries that are adjacent to a specific point Adjacent Selection Using the COMSOL API The command below create a selection node using adjacent geometric entities model selection create seltag Adjacent You need to specify the geometric entity level with the command model selection seltag set edim where edimis an integer defining the space dimension value 3 for domains 2 for boundaries domains 1 for edges boundaries and 0 for point The Adjacent selection node only support Selection node as input model selection seltag set Adjacent as Specify the ball radius r0 with the command model selection seltag set input seltag where lt seltag gt is the tag of an existing Selection node CREATING SELECTIONS 95 96 CHAPTER 3 Select the level of geometric entities to add in the selection with the command model selection seltag set outputdim edim where edimis an integer defining the space dimension value 3 for domains 2 for boundaries domains 1 for edges boundaries and 0 for point In case you have mult
13. lt y0 gt lt z0 gt entitytype radius r0 where geomtag is the tag of geometry where the selection and entitytype can be one of point edge boundary or domain The above function returns the entity indices list Use it to specify a feature selection or to create an explicit selection as described in Setting an Explicit Selection By default the function searches for the geometric entity vertices near these coordinates using the tolerance radius It returns only the geometric entities that have all vertices inside the search ball To include in the selection any geometric entities that have at least one vertex inside the search ball set the property include to any idx mphselectcoords model geomtag lt x0 gt lt y0 gt lt z0 gt entitytype radius r0 include any In case the model geometry is finalized as an assembly you have distinct geometric entities for each part of the assembly Specify the adjacent domain index to avoid selection of overlapping geometric entities Set the adjnumber property with the domain index idx mphselectcoords model lt geomtag gt lt x0 gt lt y0 gt lt z0 gt entitytype radius r0 adjnumber lt idx gt where lt idx gt is the domain index adjacent to the desired geometric entities DEFINING A BOX SELECTION NODE The Box selection node is defined by two diagonally opposite points of a box 3D or rectangle 2D CREATING SELECTIONS 93
14. piecewise cubic interpolation method You can also decide how to handle parameter values outside the range of the input data by selecting an extrapolation method model func functag set extrap method The string met hod can be one of these following value e const to use a constant value outside the interpolation data e linear for linear extrapolation method e nearestfunction to use the nearest function as extrapolation method value to use a specific value outside the interpolation data MODELING PHYSICs 89 e model func in the COMSOL Java API Reference Guide See Also 90 CHAPTER 3 BUILDING MODELS Creating Selections In this section The Selection Node Coordinate Based Selections Selection Using Adjacent Geometry e Display Selection User Defined Selections in the COMSOL Multiphysics User s Guide See Also o The links to features described outside of this user guide do not work in the PDF only from within the online help Important The Selection Node Use a selection node to define a collection of geometry entities in a central location in the model The selection can easily be accessed in physics or mesh features or during postprocessing For example you can refer collectively to a set of boundaries that have the same boundary conditions and also have the same mesh size settings A selection feature can be one of the following type Explicit to in
15. time derivative respectively EXAMPLE SOLVE AN ODE PROBLEM This example illustrates how to solve the following ODE in COMSOL model u 44 1 0 2 u0 0 u0 20 model ModelUtil create Model ge model physics create ge GlobalEquations ge1 ge feature get1 ge1 set name 1 1 u ge1 set equation 1 1 utt 0 5 ut 1 ge1 set initialValueU 1 1 u0 ge1 set initialValueUt 1 1 u0t model param set uO 0 model param set uOt 20 5101 model study create std1 MODELING PHYSICS 87 std1 feature create time Transient std1 feature time set tlist range 0 0 1 20 std1 run model result create pg1 1 model result pg1 set data dset1 model result pg1 feature create glob1 Global model result pg1 feature glob1 set expr mod1 u mphplot model pg1 Global State variable u 35r Defining Model Settings Using External Data File To use tabulated data from files in a model you can use the interpolation function available under the Global Definitions node or the Definitions node of the model To add an interpolation function to the manual use the command model func create functag Interpolation The interpolation function is initially defined globally in the Model Builder from the COMSOL Desktop you can see it under the Global Definitions node In case you have several model node in your m
16. where nodeij is the jth node of the ith element ANIMATION PLAYER For transient and parametric study you can generate animation player to create interactive animations The player display the figure on a server window Make sure that you have started COMSOL with MATLAB with the graphics mode to enable plot on server To learn how to start COMSOL with MATLAB with the graphics mode See Also see the COMSOL Multiphysics Installation and Operations Guide CHAPTER 3 To create a player feature node to the model enter the command model result export create playtag Player You need then to associated the player with an existing plot group this is done with the command model result export playtag set plotgroup lt pgtag gt with pgtag the tag of the plot group to be used in the player Set the frame number you want to visualize with the command model result export p1aytag set showframe lt freamenum gt BUILDING MODELS where lt frameum gt is a positive integer value that corresponds to the frame number You can also specify the maximum number of frame to generate the player with the command model result export playtag set maxframe maxnum where maxnum is a positive integer value that corresponds to the maximum number of frame to generate the player You can display the frame with the command model result export playtag run ANALYZING THE RESULT
17. 106 CHAPTER 3 BUILDING MODELS mphplot dat index 2 colortable thermal The Data Set Syntax Data sets contain or refer to the source of data for creating Plots and Reports It can be a Solution a Mesh or some transformation or cut plane applied to other data sets that is create new data sets from other data sets Add data sets to the Data Sets branch under Results plots refer to data sets the solutions are always available as the default data set To create a data at the MATLAB prompt use the command model result dataset create dsettag dsettype where dsettype is a data set type Defining Data Sets in the COMSOL Multiphysics Users Guide a Use of Data Sets in the COMSOL Java API Reference Guide ANALYZING THE RESULTS 107 108 The Numerical Node Syntax Use the numerical node to do numerical operation such as computing average integration maximum or minimum ofa given expressions You can also perform point and global evaluation To create a numerical node use the command model result numerical create numtag numtype where numtype is the numerical type For list of the syntax of the numerical results type available see About Sie AU Results Commands in the COMSOL Java API Reference Guide CHAPTER 3 Exporting Data The export method allows the user to generate an animation or to export data to an external file ASCII format AN
18. 94 CHAPTER 3 Box Selection Using the COMSOL API The command below adds a box selection to the model object model selection create seltag BOx Specify the points lt x0 gt lt y0 gt z0 and lt x1 gt lt y1 gt lt z1 gt model selection seltag set xmin x0 model selection seltag set ymin lt gt model selection seltag set zmin lt 20 gt model selection seltag set xmax lt 1 gt model selection seltag set ymax lt y1 gt model selection seltag set zmax z1 where x0 lt y0 gt lt z0 gt x1 lt 1 gt z1 are double values You can specify the geometric entities level with the command model selection seltag set entitydim edim where edimis an integer defining the space dimension value 3 for domains 2 for boundaries domains 1 for edges boundaries and 0 for point The selection also specifies the condition for geometric entities to be selected model selection seltag set condition condition where condition can be inside to select all geometric entities completely inside the ball intersects to select all geometric entities that intersect the ball default somevertex to select all geometric entities where at least some vertex is inside the ball allvertices to select all geometric entities where all vertices are inside the ball Box Selection Using MPHSELECTBOX Th
19. Before starting create a model object model ModelUtil create Model Then continue with the commands geom1 model geom create geomi 1 il geomi feature create il Interval BUILDING MODELS it set intervals many 11 5 0 1 2 create geometry sequence with a 1D solid object consisting of vertices at x 0 1 and 2 and edges joining the vertices adjacent in the coordinate list Then enter p1 geom1 feature create p1 Point pi set p 0 5 geom1 run to add a point object located at x 0 5 to the geometry To plot the result enter mphgeom model geomi vertexmode on 04r 02r 2r 06 CREATING 2D GEOMETRY USING PRIMITIVE GEOMETRY OBJECT For more information about 2D geometry modeling see Creating a 2D See Also Geometry Model in the COMSOL Multiphysics User s Guide Creating Composite Objects Use a model object with a 2D geometry model ModelUtil create Model WORKING WITH GEOMETRY 35 36 CHAPTER 3 geom2 model geom create geom2 2 Continue by creating a rectangle with side length of 2 and centered at the origin sqi geom2 feature create sq i Square sqi set size 2 sqi set base center The property size describes the side lengths of the rectangle and the property pos describes the positioning The default is to position the rectangle about its lower l
20. lt studytag gt is the string identifying the study node The string lt ftag gt isa string that you define to refer to the study step The string operation defines the operation to add to the study node it can be one of the Study step node available with the Physics interface or adding a type of study step to add to the study To specify a property value pair for a study step enter BUILDING MODELS model study studytag feature ftag Set property value where lt ftag gt is the string identifying the study step To run the study enter model study studytag run which generates the default solver configuration associated with the physics solved in the model model study in the COMSOL Java API Reference Guide See Also The Solution Syntax To add a solution to the model start with typing model sol create soltag where lt soltag gt is a string that you use to refer to the solution object To add a solution operation feature enter model sol soltag feature create ftag operation where lt soltag gt is the string you defined when creating the solution object The string ftag is a string that you define to refer to the feature for instance a study step For a list of the operations available for the solver feature node see Features Producing and Manipulating Solutions and Solver in the See Also COMSOL Java API Reference Guide To specify a property value pair
21. meshes and for solving your model LiveLink for MATLAB includes the COMSOL Java API which is a Java based programming interface to COMSOL In addition the product includes a number of M file utility functions that wrap API functionality for greater ease of use The Model Object Methods The model object provides a large number of methods The methods are structured in a tree like way very similar to the nodes in the model tree in the Model Builder window on the COMSOL Desktop The top level methods just return references that CHAPTER 3 BUILDING MODELS support further methods At a certain level the methods perform actions such as adding data to the model object performing computations or returning data Detailed documentation about model object methods is in the About General Commands section the COMSOL Java Reference See Also Guide 1 The links to features described outside of this user guide do not work in the PDF only from within the online help Important To locate and search all the documentation for this information in g COMSOL select Help Documentation from the main menu and either a enter a search term or look under a specific module in the documentation ip tree The General Utility Functionality The model object utility methods are available with the Model Util object These methods can be used for example to create or remove a new model object but also t
22. on ax subplot 1 2 2 mphgeom model geomi parent ax entity boundary selection 2 2 10 16 20 See also mphmesh mphviewselection 201 mphgetadj 202 Purpose Syntax Description Example See also Return geometry entity indices that are adjacent to other 2 D mphgetadj model geomtag returntype adjtype adjnumber n mphgetadj model geomtag returntype adjtype adjnumber returns the indices of the adjacent geometry entities returntype is the type of the geometry entities whose index are returned adjtype is the type of the input geometry entity The entity type can be one of point edge boundary or domain following the entity space dimension defined below e domain maximum geometry space dimension boundary maximum geometry space dimension 1 edges l only for 3D geometry e point 0 Load busbar mph from the Model Library model mphload busbar mph Returns the indices of the domains adjacent to point 2 n mphgetadj model geomi domain point 2 Returns the indices of the points adjacent to domains 2 and 3 n mphgetadj model geomi point domain 2 3 mphgetcoords mphselectbox mphselectcoords CHAPTER 6 COMMAND REFERENCE mphgetcoords Purpose Syntax Description Example See also Return point coordinates of geometry entities mphgetcoords model geomtag entitytype entitynumber c mphgetcoords model geomt
23. p 0 5 0 5 0 5 0 5 The objects c1 c2 c3 c4 c5 and c6 are all curve2 objects The vector 1 w 1 specifies the weights for a rational B zier curve that is equivalent to a quarter circle arc The weights can be adjusted to create elliptical or circular arcs Convert the curve segments to a solid by the following conversion command BUILDING MODELS 011 g1 feature create csol1 ConvertToSolid csol1 selection input object g1 csol1 selection input set c1 c2 c3 c4 c5 c6 Then issue a final run command gi run mphgeom model g1 06 1 08 06 04 02 0 02 04 06 08 1 CREATING 3D GEOMETRIES USING SOLID MODELING For more information about 3D geometry modeling see Creating a 3D See Also Geometry Model in the COMSOL Multiphysics User s Guide This section demonstrates how to create 3D solids using workplanes and Boolean operations Create a 3D geometry with an xy work plane at z 0 model ModelUtil create Model geomi model geom create geomi 3 1 geomi feature create wp1 WorkPlane wpi set planetype quick wp1 set quickplane xy Add a rectangle to the work plane then add fillet to its corners ri wpt geom feature create r1 Rectangle r1 set size 1 2 WORKING WITH GEOMETRY 39 geomi run fili wp1 geom feature create fil1 Fillet filt selection point set r1 1 2 3 4 fili set r
24. respectively to use for the animation DATA EXPORT In order to extract data value to an ASCII file create a Data node to the export method model result export create datatag Data Set the expression expr and the file name filenname and run the export model result export datatag setIndex expr lt expr gt 0 model result export datatag set filename lt filenname gt model result export datatag run Set the export data format with the struct property model result export datatag set struct datastruct where datastruct can be set to spreadsheet or sectionwise The default data structure is the spreadsheet format defined as below s Model filename mph Version COMSOL 4 3 0 133 Date May 1 2012 11 17 Dimension 2 s Nodes 1272 s Expressions 20 Description X y data x1 yl data1 x2 y2 data2 In case of multiple solution fields as for a parametric transient or eigenvalue analysis extra columns are added corresponding to solution data at each parameter time step or eigenvalue ANALYZING THE RESULTS 109 HO The section wise e format is as below s Model filename mph Version COMSOL 4 3 0 133 Date May 1 2012 11 28 s Dimension 2 s Nodes 1272 s Elements 424 s Expressions 20 s Description s Coordinates x1 y1 x2 y2 Elements triangles node11 node12 node13 node21 node22 node23 Data data1 data2
25. 3 2 or 1 respectively The output variables d1 dn are NxP array where N is the number of inner solution and P the number of outer solution SPECIFY THE EVALUATION DATA The function mphmin supports the following properties to set the data of the evaluation to perform dataset specify the solution data set to use in the evaluation EXTRACTING RESULTS 135 136 data mphmin model expr edim dataset dsettag lt dsettag gt is the tag of solution data set The default value consist in the current solution data set of the model selection specify the domain selection for evaluation data mphmin model expr edim selection seltag where lt seltag gt is the tag of a selection node to use for the data evaluation seltag can also be a positive integer array that corresponds to the domain index list The default selection consists in all domains where the expression is defined If the evaluation point does not belong to the specified domain selection the output value is NaN solnum specify the inner solution number for data evaluation Inner solutions are generated for the following analysis type time domain frequency domain eigenvalue or stationary with continuation parameters data mphmin model lt expr gt edim solnum lt solnum gt where lt solnum gt is an integer array corresponding to the inner solution index You can also set the property solnum to end to evaluate the
26. 4 Select File gt Save as Model M file The saved M file can now be tested if you start COMSOL Multiphysics 4 3 with MATLAB If you have any problems with this conversion process please contact COMSOL s technical support team at support comsol com or your local COMSOL representative COMSOL 3 5A COMPATIBILITY 171 172 CHAPTER 4 WORKING WITH MODELS Calling MATLAB Function This section introduces you to the MATLAB function callback from the COMSOL Desktop and COMSOL model object 174 The MATLAB Function Feature Node Use MATLAB M function in the COMSOL model to define model settings such as parameters material properties and boundary conditions When running the model COMSOL automatically starts a MATLAB process that evaluates the function and return the value to the COMSOL model To call MATLAB function from within the model object you do not need to start COMSOL with MATLAB starting the COMSOL Ej Desktop is sufficient The MATLAB process starts automatically to Note evaluate the function CHAPTER 5 Defining MATLAB Function In The COMSOL Model Adding A MATLAB Function with the COMSOL API Java Syntax Defining MATLAB Function In The COMSOL Model ADDING THE MATLAB FUNCTION NODE To evaluate a MATLAB M function from within the COMSOL model you need to add a MATLAB node in the model object where you define the function name the list of the arguments and if required the function deriv
27. BUILDING MODELS where type is solid if you want to generate a solid object closed to generate a closed curve object or open to generate an open curve geometry object With the property curvetype you specify the type of curve to use to generate the geometry object model mphimage2geom imagedata level curvetype curvetype where curvetype can be set to polygon if you want to use polygon curve The default curve type creates a geometry with the best suited geometrical primitives For interior curves it uses Interpolation Curves while for curves that are touching the perimeter of the image Polygon curve is used To scale the geometry use the scale property model mphimage2geom lt imagedata gt level scale scale where scale is a double value Set the minimum distance between coordinates in curve with the mindist property model mphimage2geom lt imagedata gt level mindist mindist where mindist is a double value Set the minimum area for interior curves model mphimage2geom lt imagedata gt level minarea minarea where minarea is a double value In case of overlapping solids the function mphimage2geom automatically create a Compose node in the model object If you do not want such a geometry feature you can set the property compose to off model mphimage2geom lt imagedata gt level compose off You can create a rectangle domain surrounding the object generated
28. Expression 2 129 Evaluating a Global Matrix 2 2 ee ee ee 13 Evaluating a Maximum of Expression 13 Evaluating an Expression Average 133 Evaluating a Minimum of Expression 135 Running Models in Loop 138 The Parametric Sweep Node stat azote arts Running Model in a Loop Using the MATLAB Tools 138 Running Models in Batch Mode 141 The Batch sape Running A COMSOL M file In Batch Mode edo e AL Running A COMSOL M file In Batch Mode Without vox ocu ce oe AD Extracting System Matrices 143 Extracting System Matrices 03 Extracting State Space Matrices 146 Extracting Solution Information and Solution Vector 151 Obtaining Solution Information 15 Extracting Solution Vector 153 Retrieving Xmesh Information 155 The Extended Mesh Xmesh 155 Extracting Xmesh Information 155 Navigating the Model 158 Navigating The Model Object Using GUI 158 Navigating The Model Object At The Command Line 162 Finding Model Expressions 162 Getting Feature Model Properties 163 Getting Model Expressions 2 2 s 164 Getting Selection Information 164 Ha
29. Installation and Operations Guide to get a complete description on how to start COMSOL with MATLAB on See Also the different supported platforms RUNNING COMSOL WITH MATLAB 19 20 The first time COMSOL with MATLAB is started you are asked for login and password information This is necessary to establish the client server connection The information is then saved in the user preference file and is not requested again Noe Ifyou want to reset the login information add the flag login force to the icon target path on Windows or for Mac OS X and Linux operating systems enter the command comsol server matlab login force at a system command prompt Connecting the COMSOL Server and MATLAB Manually You can also manually connect MATLAB to a COMSOL server This can be useful if you need to start first MATLAB stand alone and then connect to a COMSOL server or if you need to connect MATLAB and a COMSOL server running on different computers To manually connect MATLAB to a COMSOL server you need first to start MATLAB and a COMSOL server To start a COMSOL server On Windows go to the start menu All Programs gt COMSOL 4 3 gt Client Server gt COMSOL Multiphysics 4 3 server On Mac OS X or Linux enter comsol server at a terminal window To connect MATLAB to the COMSOL server 1 In MATLAB add the path of the COMSOL43 mli directory 2 Enter the command below at the MATLAB prompt mphstart portnumber Wh
30. Matrices Extract the matrices of the COMSOL linearized system with the function mphmatrix To call the function mphmatrix you need to specify solver node and the list of the system matrices to extract str mphmatrix model lt soltag gt out out where lt soltag gt is the tag of the solver node used to assemble the system matrices and out a cell array containing the list of the matrices to evaluate The output data str returned by mphmatrix is a MATLAB structure whose fields correspond to the assembled system matrices The system matrices that can be extracted with mphmatrix is listed in the table below EXPRESSION DESCRIPTION K Stiffness matrix L Load vector M Constraint vector N Constraint Jacobian D Damping matrix E Mass matrix NF Constraint force Jacobian NP Optimization constraint Jacobian MP Optimization constraint vector MLB Lower bound constraint vector MUB Upper bound constraint vector Kc Eliminated stiffness matrix Lc Eliminated load vector Dc Eliminated damping matrix EXTRACTING SYSTEM MATRICES 143 EXPRESSION DESCRIPTION Ec Eliminated mass matrix Null Constraint null space basis Nullf Constraint force null space matrix ud Particular solution ud uscale Scale vector Requires the Optimization Module SELECTING LINEARIZATION POINT The default selection of linearization point for the system matrix assembly consists in the current solution of the s
31. Nx3 cell array where N is the number of expressions for this node Getting Selection Information Use the function mphgetselection to retrieve the model selection information str mphgetselection model selection lt seltag gt where seltag is the tag a selection node define in the model object The output str is a MATLAB structure containing the following fields dimension the space dimension of the geometry entity selected geom the tag of the geometry node used in the selection entities the list of the entity indexes listed in the selection isGlobal Boolean value to indicate if the selection is global or not CHAPTER 4 WORKING WITH MODELS Handling Errors And Warnings In this section Errors and Warnings Using MATLAB Tools To Handle COMSOL Exception Displaying Warning and Error in the Model Errors and Warnings COMSOL Multiphysics reports problems of two types Errors which prevent the program from completing a task Warnings which are problems that do not prevent the completion ofa task but that might affect the accuracy or other aspects of the model For both errors and warnings a messages is stored in a separate node located just below the problematic model feature node In case of errors a Java Exception is thrown to MATLAB which also break the execution of the script Using MATLAB Tools To Handle COMSOL Exception Where running a model that returns an error in MATLA
32. Show vertices Example Load busbar mph from the Model Library model mphload busbar Plot boundary number 3 using a yellow color mphviewselection model geom1 3 entity boundary facecolorselected 1 1 0 Plot edge 1 to 9 in green color hold on mphviewselection model geomi 1 8 geommode off entity edge 0 5 Plot the titanium blot domains in green color mphviewselection model sel1 See also mphgeom mphselectbox mphselectcoords COMMAND REFERENCE mphxmeshinfo Purpose Syntax Description Example Extract information about the extended mesh info mphxmeshinfo model The Xmesh information provide information about the numbering of elements nodes and degrees of freedom DOFs in the extended mesh and in the matrices returned by mphmatrix and mphgetu Information is only available on StudyStep and Variables features The function mphxmeshinfo accepts the following property value pairs TABLE 6 24 PROPERTY VALUE PAIRS FOR THE MPHVIEWSELECTION FUNCTION PROPERTY VALUE DEFAULT DESCRIPTION Solname String Active Solution object tag solution object Studysteptag String Study step node tag Meshcase Positive First mesh Mesh case tag integer String The function xmeshinfo returns a structure with the fields shown in the table below TABLE 6 25 FIELD IN THE RETURNED STRUCTURE FROM MPHXMESHINFO FIELD DESCRIPTION Solname Tag of the solution object Ndofs Nu
33. The lt value gt argument can be of different types from which ones MATLAB integer double array variable When using a MATLAB variable make sure that the value correspond to the model unit system You can also let COMSOL to take care of the unit conversation in this case convert the MATLAB integer double variable to a string variable and use the set method as something Set property num2str value unit where is the unit you want to set the value property CHAPTER 4 WORKING WITH MODELS THE SETINDEX METHODS Use the setIndex methods to assign values to specific indices 0 based in array or matrix property All assignment methods return the parameter object which means that assignment methods can be appended to each other something setIndex property value lt gt The name argument is a string with the name of the property value is the value to set the property which can be a MATLAB variable value index is the index in the property table When using a MATLAB variable make sure that the value correspond to the model unit system You can also let COMSOL to take care of the unit conversation in this case convert the MATLAB integer double variable to a string variable and use the set method as something setIndex property num2str value unit lt index gt where is the unit you want to set the value property Using MATLAB Function To Define Model Properties Use MATLA
34. WORKING WITH MODELS info mphxmeshinfo model studysteptag studysteptag where studysteptag is the tag of either a compile equation node or a variable node In case several mesh case have been used by a specific solver for instance with an automatic remeshing procedure you can specify which mesh case to use to get the discretization information info mphxmeshinfo model meshcase meshcase where meshcase is the mesh case number or the tag of the mesh case RETRIEVING XMESH INFORMATION 157 158 Navigating the Model The model object contains all the finite element model settings To retrieve the model information you can navigate in the model object by the mean of a graphical user interface or directly at the MATLAB prompt See how to get the list of predefined expressions available for a given model and how to extract the value of these expressions and also the properties of the method used in the model In this section Navigating The Model Object Using a GUI Navigating The Model Object At The Command Line Finding Model Expressions Getting Feature Model Properties Getting Model Expressions Getting Selection Information Navigating The Model Object Using a GUI The usual approach to navigate through the model object in a graphical user interface is simply to load the model object at the COMSOL Desktop You can directly transfer the model object form the COMSOL server to th
35. accurate derivative processing takes processing time the property is disabled by default OTHERS EVALUATION PROPERTY Use the property complexfun to not use complex value functions with real inputs pd mpheval model lt expr gt complexfun off The default value use complex value functions with real inputs Use the property matherr to return an error for undefined operations or expressions EXTRACTING RESULTS 121 122 pd mpheval model lt expr gt matherr on DISPLAY THE EXPRESSION IN FIGURE You can display an expression evaluated with mpheval in an external figure with the function mphplot see Displaying The Results The function mphplot only supports a MATLAB structure provided by mpheval as input Extracting Data at Arbitrary Points The function mphinterp evaluates at the MATLAB prompt the result at arbitrary points To evaluate an expression at specific point coordinates call the function mphinterp as in the command below d1 dn mphinterp model e2 en coord lt coord gt where e1 en are the COMSOL expressions to evaluate lt coord gt is a NxM double array with N the space dimension of the evaluation domain and M the number of evaluation point The output d1 dn are a PxM double array where P is the length of the inner solution Alternatively you can specify the evaluation coordinates using a selection data set data mphinterp model lt expr gt data
36. been used in the study step node If the Matrix property is set to of f the output will be cell arrays of length P containing cell arrays of length M Load micromixer mph from the Model Library model mphload micromixer mph Find the minimum x velocity u at the outlet boundary and get its unit flow unit mphmin model u surface selection 136 Load heat transfer axi mph from the Model Library model mphload heat transient axi mph Find the minimum normal heat flux along the external boundaries Q mphmin model ht ndflux line selection 2 3 4 mphmax mphmean CHAPTER 6 COMMAND REFERENCE mphmodel Purpose Syntax Description Example See also Return tags for the nodes and subnodes in the COMSOL model object mphmodel model str mphmodel model struct mphmode1 model returns the tags for the nodes and subnodes of the object model str mphmodel model struct returns the tags for the nodes and subnodes of the object model as a MATLAB structure str The function mphmode1 can be used when navigating the model object and learning about its structure The mphmode1 function is mainly designed for usage when working on the command line and one needs to learn what nodes are placed under a particular node Load transport and adsorption mph from the Model Library model mphload transport and adsorption See what nodes are available under the model object mphmodel mo
37. create fili Fillet fil1 selection point set difi 1 2 7 8 filt set radius 0 5 Run the sequence again geom2 run The geometry sequence is updated with rounded corners To view the result enter mphgeom model geom2 08 047 027 02 06 WORKING WITH GEOMETRY 37 38 CHAPTER 3 CREATING A 2D GEOMETRY USING BOUNDARY MODELING Use the following commands to create six open curve segments that together form a closed curve model ModelUtil create Model 91 model geom create g1 2 w 1 sqrt 2 c1 g1 feature create c1 BezierPolygon 1 cl set degree 2 c1 set p 0 5 1 1 0 5 0 5 0 1 1 w 1 c2 gl feature create c2 BezierPolygon c2 set type c2 set degree 2 c2 set p 1 1 0 5 0 0 5 0 5 c2 set w 1 w 1 g1 feature create c3 BezierPolygon c3 set type c3 set degree 1 c3 set p 0 5 0 5 0 5 0 5 c4 gi feature create c4 BezierPolygon c4 set type c4 set degree 2 4 5 0 5 1 1 0 5 0 5 0 c4 set w 1 w 1 c5 gi feature create c5 BezierPolygon c5 set type c5 set degree 2 c5 set p 1 1 0 5 0 0 5 0 5 c5 set w 1 w 1 gi feature create c6 BezierPolygon c6 set type c6 set degree 1 c6 set
38. current solution data set of the model selection specify the integration domain data mphint2 model lt expr gt edim selection lt seltag gt where lt seltag gt is the tag of a selection node to use for the data evaluation lt seltag gt can also be a positive integer array that corresponds to the domain index EXTRACTING RESULTS 127 128 list The default selection consists in all domains where the expression is defined If the evaluation point does not belong to the specified domain selection the output value is NaN solnum specify the inner solution number for data evaluation Inner solutions are generated for the following analysis type time domain frequency domain eigenvalue or stationary with continuation parameters data mphint2 model lt expr gt edim solnum lt solnum gt where lt solnum gt is an integer array corresponding to the inner solution index You can also set the property solnumto end to evaluate the expression for the last inner solution By default the evaluation is done using the last inner solution outersolnum specify the outer solution number for data evaluation Outer solutions are generated with parametric sweep data mphint2 model lt expr gt edim outersolnum lt outersolnum gt 5 where lt outersolnum gt is a positive integer corresponding to the outer solution index The default settings uses the first outer solution for the data evaluation To
39. data between MATLAB and the COMSOL server can be problematic in term of memory or computational time In this section you will find a discussion for model settings in the case you are experiencing memory problem or slowness of command execution The section consists in the following paragraph Setting Java Heap Size Disabling Model Feature Update Disabling The Model History Setting Java Heap Size COMSOL store the data in Java If you are experiencing memory problem during meshing postprocessing operation or when exchanging data between the COMSOL server and MATLAB this may indicate that the Java Heap size is set with too low value EI Increasing the memory allocated for the Java process necessarily decrease the memory available for the solver Note THE COMSOL SERVER JAVA HEAP SIZE You can access the Java Heap size settings for the COMSOL server process in the comsolserver ini file that can be found in the COMSOL43 bin lt arch gt directory lt arch gt correspond to the architecture of the machine where the COMSOL server is running Edit the file with a text editor you will find the Java heap settings set as Xss4m Xms40m Xmx1024m XX MaxPermSize 256m The values are given in Mb modify these value to satisfy your model requirements IMPROVING PERFORMANCE FOR LARGE MODELS 167 168 THE MATLAB JAVA HEAP SIZE To modify the Java heap size you need to edit the java opts file available under the COMSOL
40. element dimension as a string Line surface volume or as an integer value V1 vn mphint2 model e1 en also returns the units of the integral in a 1xN cell array The function mphint2 accepts the following property value pairs TABLE 6 8 PROPERTY VALUE PAIRS FOR THE MPHINT2 COMMAND PROPERTY PROPERTY VALUE DEFAULT DESCRIPTION Dataset String active Data set tag solution data set Intorder Positive integer 4 Integration order Intsurface off off Compute surface integral Intvolume on off off Compute volume integral Matrix off on on Returns data as a matrix or as a cell Method auto auto Integration method integration summation Outersolnum Positive integer 1 Solution number for parametric sweep Selection Integer vector all Selection list or named string all selection Solnum Integer vector all Solution for evaluation end all Squeeze on off on Squeeze singleton dimensions T Double array Time for evaluation The property Dataset controls which data set is used for the evaluation Data Sets contain or refer to the source of data for postprocessing purposes Evaluation is supported only on Solution Data Sets 213 mphint2 214 Example The expressions e1 en are integrated for one or several solutions Each solution generates an additional column in the returned matrix The property Solnum and t control which solutions are used for the integrations The Solnum proper
41. entity dimension volume surface or line edim can also be set as positive integer value 3 2 or 1 respectively The output variables d1 dn are NxP array where N is the number of inner solution and P the number of outer solution EXTRACTING RESULTS 131 SPECIFY THE EVALUATION DATA The function mphmax supports the following properties to set the data of the evaluation to perform dataset specify the solution data set to use in the evaluation data mphmax model lt expr gt edim dataset lt dsettag gt lt dsettag gt is the tag of a solution data set The default value consist in the current solution data set of the model selection specify the domain selection for evaluation data mphmax model lt expr gt edim selection lt seltag gt where lt seltag gt is the tag of a selection node to use for the data evaluation lt seltag gt can also be a positive integer array that corresponds to the domain index list The default selection consists in all domains where the expression is defined If the evaluation point does not belong to the specified domain selection the output value is NaN solnum specify the inner solution number for data evaluation Inner solutions are generated for the following analysis type time domain frequency domain eigenvalue or stationary with continuation parameters data mphmax model lt expr gt edim solnum lt solnum gt where lt solnum gt is an integer
42. evaluate the expression data at a specific time use the property t data mphint2 model lt expr gt edim t lt time gt where time is a double array The default value correspond to all the stored time step OUTPUT FORMAT The function mphint2 also supports other output format To extract the unit of the evaluated expression you need to define an extra output variable data unit mphint2 model lt expr gt edim with unit is a 1xN cell array where N is the number of expression to evaluate By default mphint2 returns the result s as a squeezed singleton To get the full singleton set the squeeze property to off data mphint2 model expr edim squeeze off Set the property matrix to off to returns the data as a cell array instead of a double array data mphint2 model lt expr gt edim matrix off CHAPTER 4 WORKING WITH MODELS SPECIFY THE INTEGRATION SETTINGS You can specify integration settings such as integration method integration order or axisymmetry assumption with the following property method specify the integration method which can be either integration or summation data mphint2 model expr edim method method where method can be integration or summation The default uses the appropriate method for the given expression intorder specify the integration order data mphint2 model lt expr gt edim intorder lt order gt where order is a positive integ
43. for a solution object feature enter model sol lt soltag gt feature lt ftag gt set property value where lt ftag gt is a string referring to the solution object Run RunFrom There are several ways to run the solver configuration node THE STUDY NODE 99 100 CHAPTER 3 Use the methods run or 11 to run the entire solver configuration node model sol lt soltag gt run model sol lt soltag gt runAll Use the method run lt ftag gt to run the solver configuration up to the solver feature with the tag lt ftag gt model sol soltag run ftag Use the method runFrom tag to run the solver configuration from the solver feature with the tag lt ftag gt model sol lt soltag gt runFrom lt ftag gt Adding a Parametric Sweep The parametric sweep is a study step that does not generate equations and can only be used in combination with other study steps You can formulate the sequence of problems that arise when you vary some parameters in the model To add a parametric sweep to the study node enter model study lt studytag gt feature create lt ftag gt Parametric You can add one or several parameters to the sweep with the command model study studytag feature ftag setIndex pname pname idx where lt pname gt is the name of the parameter to use in the parametric sweep and lt idx gt the index number of the
44. it by a FreeQuad feature mesh1 feature remove map1 meshi run dis1 fqi mesh1 feature create fqi FreeQuad fgi selection geom geomi 2 set 2 mesh1 run Analogous to working with the meshing sequence in the Model Builder inside the COMSOL Desktop new features are always inserted after the current feature Thus to get the FreeQuad feature before the FreeTri feature you need to make the 0151 feature the current feature by building it with the run method Alternatively you can selectively remove parts of a mesh by using the Delete feature For example to remove the structured mesh from domain 2 along with the adjacent edge mesh on edges 3 and 4 and replace it with an unstructured quad mesh enter these commands deli mesh1 feature create del1 Delete del1 selection geom geom1 2 set 2 deli set deladj 0on frqi meshi feature create frq1 FreeQuad frqi selection geom geomi1 2 set 2 mesh1 run BUILDING MODELS For further details on the various commands and their properties see the See Also COMSOL Java API Reference Guide REVOLVING A MESH BY SWEEPING Using the Sweep feature you can create 3D volume meshes by extruding and revolving face meshes Depending on the 2D mesh type the 3D meshes can be hexahedral brick meshes or prism meshes Example Revolved Mesh Create and visualize a revolved prism mesh as follows model ModelUtil create Model geomi m
45. mphmean model e1 en edim evaluates the means of the string expressions e1 en and returns the result in N matrices v1 vn with M rows and P columns M is the number of inner solution and P the number of outer solution used for the evaluation edim defines the element dimension line surface volume or as an integer value V1 vn mphmean model e1 en edim also returns the units of the maximum in a 1xN cell array The function mphmean accepts the following property value pairs TABLE 6 12 PROPERTY VALUE PAIRS FOR THE MPHMEAN COMMAND PROPERTY PROPERTY VALUE DEFAULT DESCRIPTION Dataset String active Data set tag solution data set Intorder Positive integer 4 Integration order Matrix off on on Returns data as a matrix or as a cell Method auto auto Integration method integration summation Outersolnum Positive integer 1 Solution number for array parametric sweep Selection Integer vector all Selection list or named string all selection Solnum Integer vector all Solution for evaluation end all Squeeze on off on Squeeze singleton dimensions T Double array Time for evaluation The property Dataset controls which data set is used for the evaluation Data Sets contain or refer to the source of data for postprocessing purposes Evaluation is supported only on Solution Data Sets The mean of expressions e1 is evaluated for one or several solutions Each solu
46. node solname and accessible as str A and str B A and B being taken from the Out property list The function mphmatrix accepts the following property value pairs TABLE 6 10 PROPERTY VALUE PAIRS FOR THE MPHMATRIX COMMAND PROPERTY EXPRESSION DEFAULT DESCRIPTION out Cell array of List of matrices to assemble strings Initmethod init sol Use linearization point Initsol string zero Active Solution to use for solver tag linearization Solnum Positive auto Solution number integer auto The following values are valid for the out property Property Value Pairs for the property out PROPERTY EXPRESSION DESCRIPTION out K Stiffness matrix L Load vector M Constraint vector N Constraint Jacobian D Damping matrix E Mass matrix NF Constraint force Jacobian NP Optimization constraint Jacobian MP Optimization constraint vector MLB Lower bound constraint vector MUB Upper bound constraint vector 221 mphmatrix 222 Example Property Value Pairs for the property out PROPERTY EXPRESSION DESCRIPTION Kc Eliminated stiffness matrix Lc Eliminated load vector Dc Eliminated damping matrix Ec Eliminated mass matrix Null Constraint null space basis Nullf Constraint force null space matrix ud Particular solution ud uscale Scale vector Requires the Optimization Module Note that the assembly of the eliminated matrices uses the current solution vector as scaling method To get the
47. or one of the LiveLink for CAD products you can import most 3D CAD file formats Parasolid amp ACIS SAT STEP IGES Pro ENGINEERS Autodesk Inventor and SolidWorks See the individual user guides for detailed information Retrieving Geometry Information To retrieve the detailed information about the geometry in a model see Geometry Object Information in the COMSOL Java API Reference Note Guide CHAPTER 3 Start by creating a simple 3D geometry model ModelUtil create Model geom1 model geom create geomi 3 geom1 feature create b1lk1 Block BUILDING MODELS geom1 feature create con1 Cone geom1 run To visualize the geometry in a MATLAB figure window enter mphgeom model The model object contains general geometry information methods For example to determine the space dimension of the geometry enter geom1 getSDim There are also methods for determining the number of geometrical entities for example to inquire about the number of domains and the number of boundaries geom1 getNDomains geom1 getNBoundaries Another group of geometry information methods concern adjacency properties of the geometric entities for example the number of up and down domain information on each boundary geomi getUpDown There are also methods for evaluating properties like coordinate values and curvatures on faces and edges The following example evaluates coordinates on face 1
48. run end Notice that after updating a parameter that affects the geometry COMSOL detects this change and automatically updates the geometry and mesh before starting the solver The geometry is associative which means that physics settings are preserved as the geometry changes Images and Interpolation Data This section describes how to generate geometry from a set of data points by using interpolation curves and how to create geometry from image data CREATING A GEOMETRY USING CURVE INTERPOLATION Use the interpolation spline feature to import a set of data points that describe a 2D geometry To create an interpolation spline feature enter model geom geomtag feature create ftag InterpolationCurve BUILDING MODELS Then specify data points in a table model geom geomtag feature ftag set table data Where data can either be a 2xN cell array or a 2xN array Control the type of geometry generated by the operation with the command model geom geomtag feature ftag set type type Where type can either be solid to generate solid object closed to generate a closed curve or open to generate an open curve Example Create a set of data points in MATLAB then use these to construct a 2D geometry Create data points that describe a circle sorted by the angle and remove some of the points phi 0 0 2 2 pi phi 1 3 6 7 102021 25 28 32 p cos phi sin phi
49. sequence once the state space export feature is run The matrices Mc and MA are produced by the same algorithms that do the finite element assembly and constraint elimination in COMSOL Multiphysics Mc and MA are the same as the matrices D eliminated mass matrix and K K is the eliminated stiffness matrix The matrices are produced from an exact residual vector Jacobian calculation that is differentiation of the residual vector with respect to the degrees of freedoms x plus an algebraic elimination of the constraints The matrix C is produced in a similar way that is the exact output vector Jacobian matrix plus constraint elimination The matrices MB and D are produced by a numerical differentiation of the residual and output vectors respectively with respect to the input parameters the algorithm systematically perturbs the input parameters by multiplying them by a factor 1 1078 The input cannot be a variable constraint the model Load heat transient axi mph from the Model Library model mphload heat transient axi mph Set the temperature condition using a parameter model param set Tinput 1000 degC tempi model physics ht feature temp1 tempt set TO 1 Tinput Add a domain point probe at 0 28 0 38 pdomi model probe create pdom1 DomainPoint pdom1 model mod1 pdomi setIndex coords2 0 28 0 0 pdomi setIndex coords2 0 38 0 1 Extract the state space matrix
50. the expressions are evaluated on boundaries in a 3D model If Edim is less than the space dimension then the points in coord are projected onto the closest point on a domain of dimension Edim If in addition the property Selection is given then the closest point on domain number Selection in dimension Edim is used If the number of rows in coord is less than the space dimension then these coordinates are parameter values on a geometry face or edge In that case the domain number for that face or edge must be specified with the property Selection The expressions that are evaluated can be expressions involving variables in particular physics interface variables The matrices v1 vnare of the size k by size coord 2 where k is the number of solutions for which the evaluation is carried out see below The value of expression ei for solution number j in evaluation point coord m is vi j m The vector pe contains the indices m for the evaluation points code m that are outside the mesh or if a domain is specified are outside that domain 217 mphinterp 218 CHAPTER 6 The property Data controls which data set is used for the evaluation Data Sets contain or refer to the source of data for postprocessing purposes Evaluation is supported only on Solution Data Sets The active solution data set is used by default The property Edim decides which elements to evaluate on Evaluation takes place only on e
51. to evaluate By default mphmean returns the result s as a squeezed singleton To get the full singleton set the squeeze property to off data mphmean model expr edim squeeze off CHAPTER 4 WORKING WITH MODELS Set the property matrix to off to returns the data as a cell array instead of a double array data mphmean model xexpr edim matrix off SPECIFY THE INTEGRATION SETTINGS You can specify integration settings such as integration method or integration order to perform the mean operation The available integration properties are method specify the integration method which can be either integration or summation data mphmean model expr edim method method where method can be integration or summation The default use the appropriate method for the given expression intorder specify the integration order data mphmean model lt expr gt edim intorder lt order gt where lt order gt is a positive integer The default value is 4 Evaluating a Minimum of Expression Use the function mphmin to evaluate the minimum of a given expression over an inner solution list To evaluate the minimum of the COMSOL expressions e1 en you can use the command mphmin as below d1 dn mphmin model 2 where edim is a string to define the element entity dimension volume surface or line edim can also be set as positive integer value
52. vector To extract sparse matrices set the property sparse to on EXTRACTING SYSTEM MATRICES 147 148 str mphstate model soltag input input output output OUt out Sparse on To keep the state space feature node set the property keepfeature to on str mphstate model lt soltag gt input input output output Out out keepfeature on SET LINEARIZATION POINT mphstate uses linearization point to assemble the state space matrices The default linearization point consists in the current solution provided by the solver node which the state space feature node is associated If there is no solver associated to the solver configuration a null solution vector is used as linearization point The linearization point needs to be a steady state solution Note You can however manually select which linearization point to use Use the initmethod property to select a linearization point str mphstate model lt soltag gt input input output output Out out initmethod method where method corresponds to the type of linearization point the initial value expression init ora solution sol You can set which solution to use for the linearization point with the property initsol str mphstate model soltag input input output output Out out initsol initsoltag where lt initsoltag gt is the solver tag to use f
53. with MATLAB start up directory The java opts file is stored by default with the following settings Xss4m Xmx768m XX MaxPermSize 256m The values are given in Mb modify these value to satisfy your model requirements To modify the MATLAB Java Heap size the java opts file has to be stored at the MATLAB start up directory This is the case when starting COMSOL with MATLAB In case you are connecting manually MATLAB with a COMSOL server make sure you have the java opts at the MATLAB start up directory Disabling Model Feature Update For models that contains a large amount of physics feature nodes it may help to deactivate the model feature update while implementing the model object By default COMSOL update the expressions value for every feature node in the model which can take some time To disable the feature model update enter model disableUpdates true You need to enable the feature update prior to compute the solution unless the model expressions would not be updated accordingly to the model settings This is also necessary if you are building a geometry or a mesh that depends on expressions To enable the feature model update enter model disableUpdates false Disabling The Model History If you are experiencing slow down of the operation run in loop as the number iteration increase A possible reason is that the model history use significant amount memory that can no longer be accessible by the COMSOL ope
54. with the property rectangle model mphimage2geom lt imagedata gt level rectangle on Example Convert Image Data to Geometry This example illustrates how to create geometry based on gray scale image data First generate the image data in MATLAB and display the contour in a figure Then create a model object including the geometry represented by the contour value 40 Enter the commands below at the MATLAB prompt peaks 7 5 WORKING WITH GEOMETRY 49 c h contourf p clabel c h model mphimage2geom p 40 figure 2 mphgeom model Use the property type to create closed or open curves For example to create a geometry following contour 40 with closed curves enter model mphimage2geom p 40 type closed mphgeom model 45 40 25 20 15 10 15 20 25 30 35 To scale the geometry use the scale property Using the current model scale the 40 45 50 geometry with a factor of 0 001 1e 3 model mphimage2geom p 40 scale 1e 3 50 CHAPTER 3 BUILDING MODELS mphgeom model 0 045 0 04 0 035 0 03 0 025 0 02 0 015 001 0015 O02 0025 003 0035 004 0045 005 You can also insert a rectangle in the geometry to have an outer domain surrounding the created contour Set the property rectangle to on as in the command below model mphimage2geom p 40 rectangle on mphgeom model 50 45 40 85 80 25 20 WORKING WITH GEOMETRY 51 5
55. within A small positive radius based on the geometry size is used by default in order to compensate for rounding errors Ifthe include property is 11 then all vertices must belong to the entity in to be considered a match If the Include property is any then an entity is considered a match as long as any of the vertices are adjacent to the entity Load busbar mph from the Model Library 243 mphselectcoords 244 See also model mphload busbar mph Select the vertex near 0 095 0 0 1 n mphselectcoords model geom1 0 095 0 0 1 point Select the edge from 0 095 0 0 1 to 0 095 0 0 01 n mphselectcoords model 0 095 0 0 1 0 095 0 0 01 edge Select edges that are adjacent to the points 0 095 0 0 1 and 0 095 0 0 01 n mphselectcoords model geom i 0 095 0 0 1 0 095 0 0 01 edge include any Select boundaries that are adjacent to the points 0 09 0 0 1 and 0 09 0 0 015 with a search radius of 0 01 n mphselectcoords model geomi 0 09 0 0 1 0 09 0 0 boundary radius 0 01 mphgetadj mphgetcoords mphselectbox CHAPTER 6 COMMAND REFERENCE mphshowerrors Purpose Syntax Description See also Show messages in error nodes in the COMSOL model mphshowerrors model list mphshowerrors model mphshowerrors model shows the error and warning messages stored in the model and where they are lo
56. 0 gt of the selection center point enter model selection seltag set posx lt x0 gt model selection seltag set posy lt y0 gt model selection seltag set posz z0 where x0 lt y0 gt z0 are double values Specify the ball radius x0 with the command model selection seltag set r lt r0 gt where r0 is double value You can specify the geometric entity level with the command model selection seltag set entitydim edim where edimis an integer defining the space dimension value 3 for domains 2 for boundaries domains 1 for edges boundaries and 0 for point The selection also specifies the condition for geometric entities to be selected BUILDING MODELS model selection seltag set condition condition where condition can be inside to select all geometric entities completely inside the ball intersects to select all geometric entities that intersect the ball default somevertex to select all geometric entities where at least some vertex is inside the ball allvertices to select all geometric entities where all vertices are inside the ball Ball Selection Using MPHSELECTCOORDS The function mphselectcoords retrieves geometric entities enclosed by a ball To get the geometric entities enclosed by a ball of radius r0 with its center positioned at x0 y0 z0 enter the command idx mphselectcoords model geomtag lt x0 gt
57. 103 W web sites COMSOL 13 weights of control polygon 38
58. 11 3 36 53 PM EU exists 1 z ERES java lang String angularUnit deg Copy In the Methods section you will find the list of all the methods associated to the feature node selected in the Model Tree section Click Filter button to filter the reduce the methods list to the one that returns simple information Select a method in the list to get its associated syntax at the button of the Methods section Use the Copy button to copy the syntax in the clipboard NAVIGATING THE MODEL 161 162 Navigating The Model Object At The Command Line Retrieve model object information such as tags for nodes and subnodes ofa COMSOL model object at the MATLAB prompt with the command mphmodel To get the list of the main feature node and their tags of the model object model type the command mphmodel model To list the subfeature of the node type model feature enter the command mphmodel model feature To list the subfeature node of the feature node model feature lt ftag gt type mphmodel model feature lt ftag gt Use the flag struct to returns the model object information to MATLAB structure str mphmodel model feature struct str isa MATLAB structure which fields consist in each feature node associated to the node model feature Finding Model Expressions Each model object contains predefined expressions that depends on the physics interface used in the model CHAPTER 4 WORKING WITH MODE
59. 2 Sometimes a nonuniform mesh is desirable Make a mesh that is denser on the left side by specifying a smaller maximum element size only on the edge segment to the left edge number 1 mesh1 feature size set hauto 5 517 1 ftril feature create size1 Size sizel set hmax 0 02 sizel selection geom geom 1 sizel selection set 1 mesh1 run mphmesh model BUILDING MODELS 0 9 0 8 07 06 0 5 0 4 0 3 0 2 0 1 Figure 3 3 Nonuniform mesh The Free Meshing Method The default method for generating free triangle meshes in 2D is based on an advancing front algorithm To switch to a Delaunay algorithm use the value del for the method property Follow the example below where you start by creating a geometry model ModelUtil create Model geomi model geom create geom 2 geom1 feature create r1 Rectangle c1 geom1 feature create c1 Circle cl set r 0 5 co1 geom1 feature create co1 Compose co1 selection input object geom1 co1 selection input set c1 r1 3 co1 set formula ri c1 geom1 runAll mesh1 model mesh create mesh1 geom1 ftri1 meshi feature create ftril FreeTri WORKING WITH MESHES 57 ftritl set method del mesh1 run mphmesh model mesh1 Figure 3 4 Mesh created with the Delaunay method Example Creating a 2D Mesh with Quadrilateral Elements To create an unstructured
60. 2 Working with Meshes This section describes how to set up and run meshing sequences in a model The Meshing Sequence Syntax Displaying the Mesh Mesh Creation Functions Importing External Meshes and Mesh Objects Measuring Mesh Quality Getting Mesh Statistics Information Getting and Setting Mesh Data Creating Meshes in the COMSOL Multiphysics User s Guide Important a Mesh in the COMSOL Java API Reference Guide o The links to features described outside of this user guide do not work in the PDF only from within the online help CHAPTER 3 The Meshing Sequence Syntax Create a meshing sequence by using the syntax model mesh create lt meshtag gt lt geomtag gt where lt meshtag gt is a string that you use to refer to the sequence The tag geomtag specifies the geometry to use for this mesh node To add an operation to a sequence use the syntax model mesh meshtag feature create ftag operation BUILDING MODELS where the string tag is a string that you use to refer to the operation See About Mesh Commands in the COMSOL Java API Reference See Also Guide To set a property to a value in a operation enter model mesh meshtag feature ftag set property lt value gt Finally to build the mesh sequence enter model mesh meshtag run Alternatively you can run the mesh node up to a specified feature node lt ftag gt model m
61. 2 Add some noise to the data points randn state 17 p p 0 02 randn size p 3 Create a 2D geometry with a square model ModelUtil create Model 4 Add a square geometry geom1 model geom create geomi 2 sqi geomi feature create sq1 Square sqi set base center sqi set size 3 5 Now add an interpolation curve feature ici geomi feature create ici InterpolationCurve 6 Use the variable p for the data points ici set table p 7 Specify a closed curve ici set type closed 8 Finally plot the geometry with the mphgeom command WORKING WITH GEOMETRY 47 mphgeom model 05 CREATING GEOMETRY FROM IMAGE DATA Use the function mphimage2geom to create geometry from image data The image data format can be M by N array for a grayscale image or M by N by 3 array for a true color image El See the MATLAB function imread to convert an image file to image data Note If you specify the image data and the level value that represents the geometry contour you want to extract the function mphimage2geom returns a model object with the desired geometry model mphimage2geom lt imagedata gt lt level gt where imagedata isa C array containing the image data and 1eve1 is the contour level value used to generate the geometry contour Specify the type of geometry object generated model mphimage2geom lt imagedata gt level type type 48 CHAPTER 3
62. 3996 m 3 mol Molar volume of idealgas model variable iexpr1 20 mV Varnames model param 12 Z0 const rootmu const rootc const Characteristic impedance of Varnames model variable iexpr1 13 Advanced Tag model sol sol1 feature s1 feature a 14 jalpha const 0 0072973525376 Fine structure constant Varnames model variable iexpr1 15 const 0 0028977685 m K Wien displacement law cons model variable iexpr1 4 gt eme d See also mphgetexpressions mphnavigator 240 CHAPTER 6 COMMAND REFERENCE mphselectbox Purpose Syntax Description Example Select geometric entity using a rubberband box n mphselectbox model geomtag boxcoord entity n mphselectbox model geomtag boxcoord entity returns the indices of the geometry entities that are inside a selection domain rectangle or box This method looks only on the vertex coordinates and does not observe all points on curves and surfaces boxcoord set the coordinates of the selection domain specified as a Nx2 array where N is the geometry space dimension entity be one of point edge boundary or domain following the entity space dimension defined below e domain maximum geometry space dimension boundary maximum geometry space dimension 1 edges l only for 3D geometry The function mphpselectbox accepts the following property value pairs
63. ALYZE RESULTS IN MATLAB API wrapper functions included with LiveLink for MATLAB make it easy to extract data at the command line Functions are available to access results at node points or arbitrary location You can also obtain low level information of the extended mesh such as finite element mesh coordinates or connection information between the INTRODUCTION elements and nodes Extracted data is available as MATLAB variables ready to be used with any MATLAB function See the sections Extracting Results and Retrieving Xmesh Information from the chapter Working With Models CREATE CUSTOM INTERFACES FOR MODELS Use the MATLAB Guide functionality to create a user defined graphical interface that is combined with a COMSOL model Make your models available for others by creating graphical user interfaces tailored to expose settings and parameters of your choice ABOUT LIVELINK FOR MATLAB 9 10 Help and Documentation CHAPTER 1 In this section Getting Help Where Do I Access the Documentation and the Model Library Typographical Conventions Getting Help COMSOL and LiveLink for MATLAB contains several sources of help and information To get started with LiveLink for MATLAB it is recommended that you read the Introduction to LiveLink for MATLAB It contains detailed examples about how to get you started with the product Save models as an M file Use the COMSOL Desktop to get your first model imp
64. B the execution of the script is automatically stopped You have however the possibility to use MATLAB tools to handle exception and prevent the script to break Use the try and catch MATLAB statement to offers alternative to a failed model Inaloop for instance use the try and catch statement to continue to the next iteration For automatic geometry or mesh generation you can use it to set the model properties with alternative value that circumvent the problem Displaying Warning and Error in the Model Use the command mphshowerrors to search in a given model object for the warnings or the errors nodes To display the error and warning messages and their location in the model object type the command HANDLING ERRORS AND WARNINGS 165 mphshowerrors model Alternatively mphshowerrors can also returns the errors and warning information in a MATLAB variable str mphshowerrors model where str is a Nx2 cell array with N the number of error and warning nodes that contains the model object str i 1 contains the location in the model of the ith error warning message and str i 2 contains the message of the ith error warning message l66 CHAPTER 4 WORKING WITH MODELS Improving Performance for Large Models Memory management is a key of successful modeling In COMSOL Multiphysics the finite element model can store a large amount of data depending on the complexity of the model Exchanging such a large amount of
65. B function to define the model property The function can either be declared within the model object or called at the MATLAB prompt CALLING MATLAB FUNCTION WITHIN THE COMSOL MODEL OBJECT LiveLink for MATLAB offers to the user the possibility to declare a MATLAB M function directly from within the COMSOL model object This is typically the case if you want to call MATLAB M function from the COMSOL Desktop The function being declared within the model object it accepts as arguments any parameters variable or expressions defined in the COMSOL model object However if you want to use variable defined at the MATLAB prompt you will have to transfer them first in the COMSOL model as a parameter for instance see how to set MATLAB variable in the COMSOL model in The Set and SetIndex Methods The function is evaluated at anytime the model needs to be updated The model object cannot be called as input argument of the M function Calling MATLAB Function See Also USING MATLAB VARIABLES IN MODEL SETTINGS 115 CALLING MATLAB FUNCTION AT THE MATLAB PROMPT Use MATLAB function to a define model property with the set method something Set property myfun arg where myfun is a M function defined in MATLAB The function is called only when the command is executed at the MATLAB prompt The argument of the function arg call be MATLAB variables To include an expression value from the model object you first need to extract it at th
66. By default mphevalpoint returns the result s as a squeezed singleton To get the full singleton set the squeeze property to off data mphevalpoint model expr squeeze off Set the property matrix to off to returns the data as a cell array instead of a double array data mphevalpoint model expr matrix off Evaluating an Integral Evaluate an integral of expression with the function mphint2 The function mphint is now obsolete and will be removed in a future version of the software If you are using this function in your code you Note can now replace it by mphint2 To evaluate the integral of the expression over the domain with the highest space domain dimension call the function mphint2 as in the command below d1 dn mphint2 model e1 en J edim where e1 enare the COMSOL expression to integrate The values d1 dn are returned as a 1xP double array with P the length of inner parameters edimis the integration dimension it can be either line surface or volume or integer value that specify the space dimension 1 2 or 3 SPECIFY THE INTEGRATION DATA The function mphint2 supports the following properties to set the data of the evaluation to perform dataset specify the solution data set to use in the integration data mphint2 model lt expr gt edim dataset lt dsettag gt lt dsettag gt is the tag of a solution data set The default value consist in the
67. DELS EXAMPLE The following example illustrates how to use the mphmatrix command to extract eliminated system matrices of a stationary analysis and linear matrix system at the MATLAB prompt The model consists in a linear heat transfer problem solved on a unit square with a 1e5 W m 2 surface heat source and temperature constraint Only one quarter of the geometry is represented in the model For simplification reason the mesh is made of 4 quad elements The commands below set the COMSOL model object model ModelUtil create Model geom1 model geom create geomi 2 geom1 feature create sqi Square geom1 run mati model material create mati def mati materialModel def def set thermalconductivity 4e2 ht model physics create ht HeatTransfer geom1 hsi ht feature create hs1 HeatSource 2 hs1 selection set 1 hs1 set Q 1 16e5 tempi ht feature create temp1 TemperatureBoundary 1 temp1 selection set 1 2 mesh1 model mesh create mesh geom1 0151 mesh1 feature create dis1 Distribution dis1 selection set 1 2 dis1 set numelem 2 mesh1 feature create map1 Map 5101 model study create std1 std1 feature create stat Stationary std1 run To extract the solution vector of the computed solution run the function mphgetu as in the command below U mphgetu model To assemble and extract the eliminated s
68. ERTY VALUE PAIRS FOR THE MPHINTERP COMMAND PROPERTY PROPERTY DEFAULT DESCRIPTION VALUE Complexfun off on on Use complex valued functions with real input Complexout off on off Return complex values Coord Double Coordinates for evaluation array Coorderr off on off Give an error message if all coordinates are outside the geometry Dataset String Auto Data set tag Edim point Geometry Element dimension for edge Space evaluation boundary dimension domain 101112 3 Ext Value 0 1 Extrapolation control Matherr off on off Error for undefined operations or expressions Outersolnum Positive 1 Solution number for parametric integer sweep COMMAND REFERENCE mphinterp TABLE 6 9 PROPERTY VALUE PAIRS FOR THE MPHINTERP COMMAND PROPERTY PROPERTY DEFAULT DESCRIPTION VALUE Phase Scalar 0 Phase angle in degrees Recover off ppr off Accurate derivative recovery pprint Selection Positive all Selection list Integer array all Solnum Positive all Inner solutions for evaluation integer array all end T Double Time for evaluation array Unit String Unit to use for the evaluation Cell array The columns of the matrix coord are the coordinates for the evaluation points If the number of rows in coord equals the space dimension then coord are global coordinates and the property Edim determines the dimension in which the expressions are evaluated For instance Edim boundary means that
69. IMATION EXPORT You can define an animation as two different types a movie or an image sequence The movie generates file formats such as GIF gif AVI avi or flash swf the image sequence generates a sequence of images To generate an animation add an Animation node to the export method model result export create animtag Animation To change the animation type use the type property model result export animtag set type type where type is either imageseq or movie To set the filename and run the animation use the following commands model result export lt animtag gt set typefilename lt filenname gt model result export animtag run With typefilename depending on the type of animation export imagefilename for an image sequence giffilename fora gif animation flashfilename fora flash animation and avifilename for an avi animation BUILDING MODELS For a movie type it is possible to change the number of frames per second with the command model result export animtag set fps fps number where ps number is a positive integer that correspond to the number of frame per second to use For all animation type you can modify the width and the height of the plot model result export animtag set width width px model result export animtag set height height px where width px and neight px are the width and height size in pixels
70. LS The function mphsearch starts MATLAB GUI that display the list all the expressions constant solution variables or parameters available in the model object mphsearch search COMSOL Multiphysics eek Search V Name F Expression F Description _ Name Expression Description Type Path 1 r const 96485 3399 C mo Faraday constant Varnames model variableCiexprl B 2 G const 6 67428E Mi m 3 kg s 2 Gravitational constant Varnames model variable iexpr1 E 3 eat prict Tag model elem Heat_prict 4 Field model physics jh Varnames model param 6 const 6 02214179E23 1 mo Avogadro constant Varnames model variableCiexpri 7 Rconst 8 314472 J K mol Universal gas constant Varnames model variableCiexpri 8 Field model physics 9 v Field model physics jh 10 m const 0 022413996 m 3 mof Molar volume of idealgas Varnames model variable iexpr1 201 Varnames model param 12 20 const rootmu constrootc const Characteristic impedance of Varnames model variableCiexpri 13 Advanced Tag model sol solt feature s1 feature a 14 _ alpha_const 0 0072973525376 Fine structure constant Varnames model variable iexprl 15 b const 0 0028977685 m K Wien displacement law cons Varnames model variable iexpr1 m Close L d The table contains the following information for each entry the name
71. S III 112 CHAPTER 3 BUILDING MODELS Working With Models This section introduces you to the functionality available for LiveLink for MATLAB such as the wrapper functions or the MATLAB tools that can be used combined with a COMSOL model object In this chapter Using MATLAB Variables in Model Settings Extracting Results Running Models in Loop Running Models in Batch Mode Extracting System Matrices Extracting Solution Information and Solution Vector Retrieving Xmesh Information Navigating the Model Handling Errors And Warnings Improving Performance for Large Models Creating Custom GUI COMSOL 3 5a Compatibility 113 114 Using MATLAB Variables in Model Settings LiveLink for MATLAB allows you to define the model properties with MATLAB variables or MATLAB M function In this section The Set and SetIndex Methods Using MATLAB Function To Define Model Properties The Set and SetIndex Methods You can use MATLAB variable to set properties ofyour COMSOL model Use the set or setIndex methods to pass the variable value from MATLAB to the COMSOL model THE SET METHODS Use the set method to assign parameter properties value All assignments return the parameter object which means that assignment methods can be appended to each other The basic method for assignments is something Set property value The name argument is a string with the name of the parameter property
72. Source 3 hs selection set 1 hs set Q 1 1e5 To create a temperature boundary condition on boundaries 3 5 and 6 enter temp phys feature create temp1 TemperatureBoundary 2 temp selection set 3 5 6 temp set TO 1 300 K Then add a mesh and a study feature and compute the solution model mesh create mesh i std model study create std1 std feature create stat Stationary std run To visualize the solution first create a 3D surface plot group which is displayed in a MATLAB figure with the function mphplot pg model result create pgi PlotGroup3D pg feature create surf1 Surface MODELING PHYSICS 83 84 CHAPTER 3 mphplot model pgi rangenum 1 Surface Temperature K The Material Syntax In addition to changing material properties directly inside the physics interfaces you can create materials available in the entire model Such a material can be used by all physics interfaces in the model Create a material using the syntax model material create lt mattag gt where mattag is a string that you use to refer to a material definition A Material is a collection of material models where each material model defines a set of material properties material functions and model inputs To add a material model use the syntax model material lt mattag gt materialmodel create lt mtag gt where mattag is the s
73. The links to features described outside of this user guide do not work in the PDF only from within the online help Important To locate and search all the documentation for this information in g COMSOL select Help Documentation from the main menu and either enter a search term or look under a specific module in the documentation tree 18 CHAPTER 2 GETTING STARTED Running COMSOL with MATLAB The command to run COMSOL with MATLAB automatically connect a COMSOL process with MATLAB You can also connect the process manually This section describe the procedures to start COMSOL with MATLAB both automatically and manually You will also see how to change the MATLAB path in the COMSOL settings In this section Starting COMSOL with MATLAB on Windows Mac OSX Linux Connecting the COMSOL Server and MATLAB Manually Changing the MATLAB Version Starting COMSOL with MATLAB on Windows Mac OSX Linux To run a COMSOL model at the MATLAB prompt you need to start COMSOL with MATLAB On Windows use the COMSOL with MATLAB shortcut icon that is created on the desktop after the automatic installation In addition you can find a link in the Windows start menu under All Programs gt COMSOL 43 gt COMSOL 4 3 with MATLAB On Mac OS X use the COMSOL with MATLAB application available in the application folder On Linux enter the command comsol server matlab ata terminal window See the COMSOL Multiphysics
74. Value 1 3 Relative tolerance for interpolation curves Type Solid closed solid Type of geometry object open Curvetype Auto polygon auto Type of curve to create the geometry object Scale Value 1 Scale factor from pixels to geometry scale Mindist Value 1 Minimum distance between coordinates in curves in pixels Compose on off on Create compose nodes for overlapping solids Rectangle on off off Insert rectangle in the geometry The default curve types creates a geometry with the best suited geometrical primitives For interior curves this is Interpolation Curves and for curves that are touching the perimeter of the image Polygons is used Create the geometry following the contour level 50 of an image data array provided by the function peaks p peaks 7 5 figure 1 c h contourf clabel c h colorbar model mphimage2geom p 50 211 mphimage2geom figure 2 mphgeom model 212 CHAPTER 6 COMMAND REFERENCE mphint2 Purpose Syntax Description Perform integration of expressions V1 v2 mphint2 model e1 en edim v1 V2 unit mphint2 model e1 en edim v1 vn mphint2 model e1 en evaluates the integrals of the string expressions e1 en and returns the result in N matrices v1 vn with M rows and P columns M is the number of inner solution and P the number of outer solution used for the evaluation edim defines the
75. a Model You can also run the script in batch without the MATLAB desktop and the MATLAB splash Enter the command below comsol server matlab myscript nodesktop mlnosplash Running COMSOL with MATLAB in batch mode as described in this chapter requires that you have xterm installed on your machine If this is not the case see Running A COMSOL M file In Batch Mode Without Display RUNNING MODELS IN BATCH MODE 141 Running A COMSOL M file In Batch Mode Without Display COMSOL with MATLAB requires that xterm is installed on the machine If this is not the case as it be for computation server a workaround is to connect manually MATLAB to a COMSOL server with the function mphstart The steps below describe how to follow to run a M script that run COMSOL model Ina system terminal prompt start a server with the command comsol server amp 2 In the same terminal window change the path to the COMSOL installation directory cd COMSOL path mli 3 From that location start MATLAB without display and run the mphstart function in order to connect MATLAB to COMSOL matlab nodesktop mlnosplash r mphstart myscript You can get more information about how to connect MATLAB to a COMSOL server in Starting COMSOL with MATLAB on Windows Mac OSX Linux 142 CHAPTER 4 WORKING WITH MODELS Extracting ystem Matrices In this section Extracting System Matrices Extracting State Space Matrices Extracting System
76. a COMSOL server using the default port number which is 2036 mphstart port creates a connection with a COMSOL server using the specified port number port mphstart ipaddress port creates a connection with a COMSOL server using the specified IP address ipaddress and the port number port mphstart ipaddress port comsolpath creates a connection with a COMSOL server using the specified IP address and port number using the comsolpath that is specified This is useful if mphstart cannot find the location of the COMSOL Multiphysics installation mphstart can be used to create a connection from within MATLAB when this is started without using the COMSOL with MATLAB option mphstart then sets up the necessary environment and connect to COMSOL Prior to calling mphstart it is necessary to set the path of mphstart m in the MATLAB path or to change the current directory in MATLAB for example using the cd command to the location of the mphstart m file A COMSOL server must be started prior to running mphstart CHAPTER 6 COMMAND REFERENCE mphstate Purpose Syntax Description Get state space matrices for dynamic system str mphstate model soltag Out SP str mphstate model soltag Out SP1 SP2 str mphstate model soltag out SP returns a MATLAB structure str containing the state space matrix SP assembled using the solver node soltag and accessible as str SP SP being taken from the Out pr
77. ace system using Tinput as input variables and the probe mod1 ppb1 as output variable M mphstate model sol1 out Mc MA MB C D input TO output modi ppb1 You can now compute the state space system with the extracted matrices TO 273 15 Tinput 1273 15 T0 opt odeset mass M Mc func t x M MA x M MB Tinput t x ode23s func 0 10 190 zeros size M MA 1 1 opt y M C x y y TO Compare the solution computed with the state space system and the one computed with COMSOL plot t y hold on Tnum mphinterp model T coord 0 28 0 38 t t plot t Tnum r EXTRACTING SYSTEM MATRICES 149 1400 1200 1000 800 600 400 200 0 20 40 60 80 100 120 140 160 180 200 Figure 4 1 Temperature distribution computed with the state space system blue line and COMSOL Multiphysics red marker 150 CHAPTER 4 WORKING WITH MODELS Extracting Solution Information and Solution Vector In this section Obtaining Solution Information Extracting Solution Vector Obtaining Solution Information Get the solution object information with the function mphsolinfo Specify only the model object to obtain the information of the default solution object info mphsolinfo model El The function mphsolinfo replaces the function mphgetp Note SPECIFYING THE SOLUTION OBJECT To retrieve the information of a specific solution object you can set the sol
78. acting Data at Node Points The function mpheval lets you evaluate expressions on nodes points The function output is available as a structure in the MATLAB workspace Call the function mpheval as in the command below CHAPTER 4 WORKING WITH MODELS pd mpheval model expr where lt expr gt is a cell array of string that list the COMSOL expression to evaluate The expression has to be defined in COMSOL model object to be evaluated pd is a structure with the following fields expr contains the list of names of the expressions evaluated with mpheval dl contains the value of the expression evaluated The columns in the data value fields correspond to node point coordinates in columns in the field p In case of several expressions are evaluated in mpheval additional field d2 d3 are available p contains the node point coordinates information The number of rows in p is the number of space dimensions t contains the indices to columns in pd p of a simplex mesh each column in pd t represents a simplex ve contains the indices to mesh elements for each node points unit contains the list of the unit for each evaluated expressions SPECIFY THE EVALUATION DATA The function mpheval supports the following properties to set the data of the evaluation to perform dataset specify the solution data set to use in the evaluation mpheval model lt expr gt dataset lt dsettag gt lt dsettag gt is the
79. adius 0 125 geom1 runCurrent exti geom1 feature create exti Extrude ext1 set distance 0 1 Add another yz work plane at x 0 5 wp2 geomi feature create wp2 WorkPlane wp2 set planetype quick wp2 set quickplane yz wp2 set quickx 0 5 bi wp2 geom feature create b1 BezierPolygon bi set type open bi set degree 1 1 1 1 bi set p 0 75 1 1 0 8 0 75 5 0 1 0 1 0 05 0 05 0 1 b1 set w 1 1 1 1 1 1 1 1 wp2 geom feature create csol1 ConvertToSolid wp2 geom feature csol1 selection input set b1 Revolve the triangle from the yz work plane revi geomi feature create revi Revolve revi selection input set wp2 revi setIndex pos 1 0 Add the difference operation that computes the final 3D geometry dif1 geomi feature create dif1 Difference dif1 selection input set ext1 dif1 selection input2 set rev1 To run the sequence enter model geom geom1 run To view the geometry enter 40 CHAPTER 3 BUILDING MODELS mphgeom model Exchanging Geometries with the COMSOL Desktop EXCHANGING A GEOMETRY FROM COMSOL DESKTOP To transfer a geometry from the COMSOL Desktop to the LiveLink interface in MATLAB use one of these methods Export the geometry as a COMSOL Multiphysics binary mphbin file from the COMSOL Desktop Right click geom
80. ag entitytype entitynumber returns the coordinates of the points that belong to the entity object with the type entitytype and the index entitynumber The entitytype property can be one of point edge boundary or domain following the entity space dimension defined below e domain maximum geometry space dimension boundary maximum geometry space dimension 1 edge 1 only for 3D geometry point 0 Load busbar mph from the Model Library model mphload busbar mph Return the coordinates of points that belong to domain 1 c mphgetcoords model geomi domain 1 Return the coordinates of points that belong to boundary 5 mphgeomcoords model geomi boundary 5 Return the coordinates of point number 10 c mphgeomcoords model geomi point 10 mphgetadj mphselectbox mphselectcoords 203 mphgetexpressions 204 Purpose Syntax Description Example See also Get the model variables and model parameters expressions expr mphgetexpressions modelnode expr mphgetexpressions modelnode returns expressions from the node modelnode as a cell array expr contains the list of the variable names the variable expressions and the variable descriptions Note that not all nodes have expressions defined Load example model busbar mph from the Model Library model mphload stresses in pulley mph Get the expressions defined in the parameters node expr mphgetexpre
81. alize the progress of operations such as loading a model creating a mesh assembling matrices or computing the solution Enter the command ModelUtil showProgress true To deactivate the progress bar enter ModelUtil showProgress false The progress bar is not supported on Mac OS X Note CHAPTER 3 Loading and Saving a Model LOADING A MODEL AT THE MATLAB PROMPT To load an existing model saved as an MPH file use the function mphload For example to load the Busbar model from the Model Library enter model mphload busbar mph This creates a model object Model on the COMSOL server that is accessible using the MATLAB variable model BUILDING MODELS If there is already model object Model linked to MATLAB variable model you can load the model using a different name with the command model2 mphload busbar mph Model2 When using the function mphload the model history is automatically disabled to prevent large history information when running a model in a loop If you want to turn model history on you can use the function mphload as follows model mphload busbar mph history The history recording can be useful when working using the COMSOL Desktop the operations are then stored in the saved model M file SAVING A MODEL OBJECT Use the function mphsave to save the model object linked to the MATLAB object model mphsave model filename If the filename specified file
82. aonly on Include the imaginary part in the data evaluation with the property complexout pd mpheval model lt expr gt complexout on SPECIFY THE EVALUATION QUALITY Define function settings to specify the evaluation quality refine specify the element refinement for evaluation pd mpheval model lt expr gt refine lt refine gt where refine is a positive integer The default value is 1 which set the simplex mesh identical to the geometric mesh smooth specify the smoothing method to enforce continuity on discontinuous data evaluation pd mpheval model lt expr gt smooth smooth where smooth is either none everywhere or internal default Set the property to none to evaluate the data on elements independently set the property to everywhere to apply the smoothing to the entire geometry and set the property to internal to smooth the quantity inside the geometry but no smoothing takes place across borders between domains with different settings The output with same data and same coordinates are automatically merge this means that the output size may differ depending on the smoothing method recover specify the accurate derivative recovery pd mpheval model lt expr gt recover recover where recoveris either ppr pprint or off default Set the property to ppr to perform recovery inside domains set the property to pprint to perform recovery inside domains Because the
83. ariable mphnavigator opens the Model Object Navigator which is a graphical user interface that can be used to navigate the model object and to view the properties and methods of the nodes in the model tree The GUI requires that the COMSOL objest is stored in a variable in the base workspace at the MATLAB command prompt with the name model mphnavigator modelvariable opens the model object defined with the name modelvariable in Model Object Navigator Bl mphnavigator Model Object Navigator COMSOL Multiphysics File Tools Settings Help m Model Tree Rectangle 1 H coordSystem cpl H frame 78 func geom geomi 1 9 E 9 en r Methods Name lactive boolean lauthor String 3 author COMSOL comments comments String M detail ledgeDelete int 4 o e jw m geom geom1 feature wp1 geom feature r1 Copy dateCreated Sep 23 2011 3 36 55 PM dateModified Sep 23 2011 3 36 55 PM Properties Property 1 base corner 2 3 layer_vector_function 4 lyer vector method step 5 layer vector numvalu 6 vector start 7 vector step 8 layer vector stop 9 layerbottom on 10 layerief off 11 layername empty stringarray 12 layerold Value m Value 4 Load busbar mph from the Model Libra
84. array corresponding to the inner solution index You can also set the property solnum to end to evaluate the expression for the last inner solution By default the evaluation is done using the last inner solution outersolnum specify the outer solution number for data evaluation Outer solutions are generated with parametric sweep data mphmax model lt expr gt edim outersolnum lt outersolnum gt where lt outersolnum gt is a positive integer array corresponding to the outer solution index The default settings uses the first outer solution for the data evaluation To evaluate the expression data at a specific time use the property t data mphmax model lt expr gt edim t lt time gt where time is a double array The default value correspond to all the stored time step OUTPUT FORMAT The function mphmax also supports other output format 132 CHAPTER 4 WORKING WITH MODELS To extract the unit of the evaluated expression you need to define an extra output variable data unit mphmax model lt expr gt edim with unit is a 1xN cell array where N is the number of expression to evaluate By default mphmax returns the result s as a squeezed singleton To get the full singleton set the squeeze property to off data mphmax model lt expr gt edim squeeze off Set the property matrix to off to returns the data as a cell array instead of a double array data mphmax model l
85. ata as a matrix or as a cell Outersolnum Positive integer 1 Solution number for array parametric sweep Selection Integer vector all Selection list or named string all selection Solnum Integer vector all Solution for evaluation end all Squeeze on off on Squeeze singleton dimensions T Double array Time for evaluation The property Dataset controls which data set is used for the evaluation Data Sets contain or refer to the source of data for postprocessing purposes Evaluation is supported only on Solution Data Sets The mean of expressions e1 is evaluated for one or several solutions Each solution generates an additional column in the returned matrix The property Solnum and t control which solutions are used for the evaluation The Solnum property is available when the data set has multiple solutions for example in the case of parametric eigenfrequency or time dependent solutions The t property is 231 mphmin 232 Example See also available only for time dependent problems If Solnum is provided the solutions indicated by the indices provided with the Solnum property are used If t is provided solutions are interpolated If neither Solnum nor t is provided all solutions are evaluated Solnum is used to select the solution number when a parametric eigenvalue or time dependent solver has been used Outersolnum is used to select the outer solution number when a parametric sweep has
86. atives CALLING MATLAB FUNCTION To a MATLAB function node right click the Global Definitions node and select Functions MATLAB Pj Parameters a Variables Functions 02 Load Group a Constraint Group f A Sort by Type Dynamic Help FL M x EAE TN NV Aa Analytic Interpolation Piecewise External Gaussian Pulse MATLAB Ramp Random Rectangle Step Triangle Waveform Elevation DEM Image The settings window of the MATLAB node contains the following section Functions where you declare the name of the MATLAB functions and their arguments Derivatives where you define the derivative ofthe MATLAB functions with respect to all function arguments Plot Parameters where you can define the limit of the arguments value in order to display the function in the COMSOL Desktop main axis THE MATLAB FUNCTION FEATURE NODE 175 176 CHAPTER 5 DEFINING THE MATLAB FUNCTION The figure below illustrate the MATLAB settings page 0 MATLAB Model Library Material Browser Plot Z4 Create Plot a v Functions Clear Functions E Clear functions automatically before solving Function Arguments 55 Function Arguments gt Derivatives gt Plot Parameters Under the Functions section you can define the function name and the list of the function arguments In the table enter the function name under the Function column and
87. be defined by the user The arrow brackets included in round brackets after either a monospace Code or an italic Code font means that the content in the string can be freely chosen or entered by the user such as feature tags For example model geom tag where tag is the geometry s tag an identifier of your choice When the string is predefined by COMSOL no bracket is used and this indicates that this is a finite set such as a feature name KEY TO THE GRAPHICS Throughout the documentation additional icons are used to help navigate the information These categories are used to draw your attention to the information based on the level of importance although it is always recommended that you read these text boxes ICON DESCRIPTION A Caution A Caution icon is used to indicate that the user should proceed carefully and consider the next steps It might mean that an action is required or if the instructions are not followed that there will be problems with the model solution o Important An Important icon is used to indicate that the information provided is key to the model building design or solution The information is of higher importance than a note or tip and the user should endeavor to follow the instructions E Note A Note icon is used to indicate that the information may be of use to the user It is recommended that the user read the text 9 Tip A Tip icon is used to provide information rem
88. cated The output is displayed in the command window list mphshowerrors model returns the error and warning messages stored in the model and where they are located in the Nx2 cell array list N corresponding to the number of errors or warning found in the model object The first column contains the node of the error and the second column contain the error message mphnavigator 245 mphsolinfo Purpose Get information about a solution object Syntax info mphsolinfo model info mphsolinfo model solname soltag Description obejct info mphsolinfo model solname soltag info mphsolinfo model returns information about the default solution returns information about the solution obejct soltag The function mphsolinfo accepts the following property value pairs TABLE 6 20 PROPERTY VALUE PAIRS FOR THE MPHSOLINFO COMMAND PROPERTY VALUE DEFAULT DESCRIPTION Solname String Active solution Solution object tag object Dataset String Active Data set tag solution data set NU on off off Get info about number of solutions The returned value info is a structure with the following content TABLE 6 21 FIELDS IN THE INFO STRUCT FIELD CONTENT Solname Size Nummesh Sizes Soltype Solpar Sizesolvals Solvals Paramsweepnames Paramsweepvals NUsol NUreacf Solution name Size of the solution vector Number of meshes in the solution for automatic remeshi
89. clude entities explicitly defined by their definitions indices Ball to include entities that fall with a set sphere Box to include entities that fall within a set box You can also combine selection by Boolean operations such as Union Intersection Difference SETTING AN EXPLICIT SELECTION Create an explicit selection with the command model selection create seltag Explicit CREATING SELECTIONS 91 92 CHAPTER 3 You can specify the domain entity dimension to use in the selection node model selection lt seltag gt geom sdim With sdim the space dimension that represent the different geometry entity 3 for domain 2 for boundary domain 1 for edge boundary 0 for point Set the domain entity indices in the selection node with the command model selection lt seltag gt set lt idx gt Where lt idx gt is an array of integers that lists the geometry entity indices to add in the selection Coordinate Based Selections DEFINING A BALL SELECTION NODE The Ball selection node is defined by a center point and a radius The selection can include geometric entities that are completely or partially inside the ball You can set up the selection by using either the COMSOL API directly or the mphselectcoords function Ball Selection Using the COMSOL API To add a ball selection to model object enter model selection create seltag Ball To set the coordinates x0 lt y0 gt lt z
90. ded the solutions indicated by the indices provided with the Solnum property are used If t is provided solutions are interpolated If neither Solnum nor t is provided all solutions are evaluated For time dependent problems the variable t can be used in the expressions ei The value of t is the interpolation time when the property t is provided and the time for the solution when Solnum is used Similarly Lambda and the parameter are available as eigenvalues for eigenvalue problems and as parameter values for parametric problems respectively Load shallow water equations mph from the Model Library model mphload shallow water equations mph Evaluate the elevation Z at point number 2 dat mphevalpoint model Z selection 2 Evaluate the maximum value of the elevation with respect to the time at point 2 dat mphevalpoint model Z selection 2 dataseries Evaluate the maximum value of the elevation with respect to the time at point 2 dat mphevalpoint model Z selection 2 dataseries rms CHAPTER 6 COMMAND REFERENCE mphevalpoint See also mpheval mphglobal mphint2 mphinterp 199 mphgeom Purpose Syntax Description Plot a geometry in a MATLAB figure mphgeom model mphgeom model geomtag mphgeom model plots the model geometry in a MATLAB figure mphgeom model geomtag in a MATLAB figure plots the model geometry with the tag geomtag The function mphg
91. default Set the property to ppr to perform recovery inside domains set the property to pprint to perform recovery inside domains Because the accurate derivative processing takes processing time the property is disabled by default OTHERS EVALUATION PROPERTY Set the unit property to specify the unit of the evaluation data mphinterp model lt expr gt coord lt coord gt unit lt unit gt where unit is a cell array with the same size as expr CHAPTER 4 WORKING WITH MODELS Use the property complexfun to not use complex value functions with real inputs data mphinterp model lt expr gt coord coord complexfun off The default value use complex value functions with real inputs Use the property matherr to return an error for undefined operations or expressions data mphinterp model lt expr gt coord lt coord gt matherr on Evaluating an Expression at Geometry Vertices The function mphevalpoint returns the result of a given expression evaluated at the geometry vertices d1 dn mphevalpoint model ecl en where e1 en are the COMSOL expressions to evaluate The output d1 dn is a NxP double array where N is the number of evaluation point and P the length of the inner solution SPECIFY THE EVALUATION DATA The function mphevalpoint supports the following properties to set the data of the evaluation to perform dataset specify the solution data set to u
92. del model geom create geomi 3 meshi model mesh create meshi geom1 WORKING WITH MESHES 73 imp1 mesh1 feature create imp1 Import model modelPath dir COMSOL43 models COMSOL_Multiphysics Structural_Mechanics impi set filename crankshaft nas mesh1 feature imp1 importData mesh1 run mphmesh model Where dir is the path of root directory where COMSOL Multiphysics 4 3 is installed The above command sequence results in Figure 3 16 Figure 3 16 Imported NASTRAN mesh For additional properties supported see Import in the COMSOL Java See Also API Reference Guide 74 CHAPTER 3 BUILDING MODELS Measuring Mesh Quality Use the stat method on the meshing sequence to get information on the mesh quality The quality measure is a scalar quantity defined for each mesh element where 0 represents the lowest quality and 1 represents the highest quality The following commands illustrate how to visualize the mesh quality for a mesh on the unit circle model ModelUtil create Model geom1 model geom create geomi 2 geom1 feature create c1 Circle geom1 runAll mesh1 model mesh create mesh geom1 meshi feature create ftril FreeTri mesh1 run meshdset1 model result dataset create mesh1 Mesh meshdset1 set mesh 1 pgi model result create pg1 2 meshploti pgi feature create meshi Mesh meshplot
93. del See what nodes are available under the geometry node mphmodel model geom Get the model information as a structure res mphmodel model struct mphnavigator mphsearch 233 mphmodellibrary Purpose Graphical User Interface for viewing the Model Library Syntax mphmodellibrary Description mphmodellibrary starts a GUI to visualize and access the example model available in the COMSOL Model Library The model MPH file can be loaded in MATLAB and the model documentation PDF file is accessible directly Models that are specific to LiveLink for MATLAB also contains the script M file r mphmodellibrary Model Library COMSO Models V Only show LiveLink for MATLAB COMSOL Model Library LiveLink for MATLAB Tutorial Models o busbar llsw limatlab m l domain activation llmatlab m i domain vation llmatlab mph o h nat m fll homogenization llmatlab m fll homogenization lImatlab mph foam m ill k foam dT m gt m Domain Activation and Deactivation This model of a time dependent heat transfer problem implements heating from alternating regions by using domain activation and deactivation 234 CHAPTER 6 COMMAND REFERENCE mphnavigator Purpose Syntax Description Example Graphical User Interface for viewing the COMSOL model object mphnavigator mphnavigator modelv
94. e r2 Rectangle r2 set size 0 6 1 r2 set pos 0 5 0 c1 geom1 feature create c1 Circle c1 set r 0 1 c1 set pos a 0 5 geom1 run BUILDING MODELS mphgeom model 09 08 EFF 05 05 047 037 027 Change the position of the circle by changing the value of parameter model param set a 0 5 geom1 run mphgeom model 097 08 07 05 05 047 02r Create loop that changes the position of the circle in increments for a 0 2 0 1 0 5 model param set a a geom1 run end Create a mesh WORKING WITH GEOMETRY 45 46 CHAPTER 3 model mesh create meshi geom1 Add a Weak Form PDE interface w model physics create w WeakFormPDE geom i w feature wfeqi set weak 1 test ux ux test uy uy diri w feature create diri DirichletBoundary 1 dir1 selection set 1 2 3 6 7 srci w feature create src1 SourceTerm 2 srci set f 1 1 src1 selection set 3 Then create a stationary study step std1 model study create std1 stat1 std1 feature create stat1 Stationary Create a parametric sweep feature model batch create p1 Parametric p1 set pname a pi set plist range 0 2 0 1 0 8 pi run Alternatively you can run the parametric sweep using a MATLAB for loop for 0 2 0 1 0 8 model param set a a stdi
95. e COMSOL Desktop as indicated in the section Exchanging Models Between MATLAB and the COMSOL Desktop of the chapter Building Models An alternative approach is to call the function mphnavigator that displays the model object information in a MATLAB graphical user interface To run the function type at the MATLAB prompt the command mphnavigator Prior to call nphnavigator make sure that the MATLAB object linked E the COMSOL model object as the name model No other name is Note currently supported CHAPTER 4 WORKING WITH MODELS This command pops up a MATLAB GUI as in the figure below B rphnevigatce Model Object Navigator COMSOL Multiphysics gt o med Fae Took Settings Model Viewer Properties 1 3 4 modelNode om Copy Copy Table If you create new model object with the MATLAB object name model you need to restart mphnavigator in order to have the updated model information THE MENU BAR ITEMS n mphnavigator Model Object Navigator COMSOL Multiphysics File Tools Settings Help The mphnavigator GUI menu bar consist in the following menu the File menu where you can save the current model object in the MPH format you can also open a new model object and close the mphnavigator window the Tools menu lists the navigating tools available for the model object Search is a shortcut to the command mphsearch that start a GUI for searching expression
96. e MATLAB prompt as it is described in Extracting Results The function my un accepts the model object model as input argument as any MATLAB variables 116 CHAPTER 4 WORKING WITH MODELS Extracting Results Use LiveLink for MATLAB to extract at the MATLAB prompt the data computed in the COMSOL model A suite of wrapper function is available to perform evaluation operations at the MATLAB prompt In this section Extracting Data From Tables Extracting Data at Node Points Extracting Data at Arbitrary Points Evaluating an Expression at Geometry Vertices Evaluating an Integral Evaluating a Global Expression Evaluating a Global Matrix Evaluating a Maximum of Expression Evaluating an Expression Average Evaluating a Minimum of Expression Extracting Data From Tables In the table node you can store the data evaluated with the COMSOL built in evaluation method see The Numerical Node Syntax You can extract the data stored in the table with the tag tb1tag with the command tabl model result table tbitag getTableData fullprecision This create java lang string array tabl that contains the data of the table tbltag The size of the array table is Nx1 where N is the number of the table line fullprecision is a Boolean expression to get the data with full precision To get the value of a specific row of the table enter tablline tabl lt i gt where lt i gt is the number of the d
97. e data fields of the post data output structure The property Solnum and t control which solutions are used for the evaluations The Solnum property is available when the data set has multiple solutions for example in the case of parametric eigenfrequency or time dependent solutions The t property is available only for time dependent problems If Solnum is provided the solutions indicated by the indices provided with the Solnum property are used If t is provided solutions are interpolated If neither Solnum nor t is provided all solutions are evaluated For time dependent problems the variable t can be used in the expressions ei The value of t is the interpolation time when the property t is provided and the time for the solution when Solnum is used Similarly Lambda and the parameter are COMMAND REFERENCE mphinterp Example See also available as eigenvalues for eigenvalue problems and as parameter values for parametric problems respectively In case of multiple expression if the unit property is defined with a string the same unit is used for both expressions To use different units set the property with a cell array In case of inconsistent unit definition the default unit is used instead Solnum is used to select the solution number when a parametric eigenvalue or time dependent solver has been used Outersolnum is used to select the outer solution number when a parametric sweep has been used in the st
98. e for solution number 9 and 10 u ut mphgetu model solnum 9 10 207 mphgetu See also mphsolinfo 208 CHAPTER 6 COMMAND REFERENCE mphglobal Purpose Syntax Description mphglobal Evaluate global quantities d1 dn mphglobal model e1 en d1 dn unit mphglobal model e1 en d1 dn mphglobal model e1 en returns the results from evaluating the global quantities specified in the string expression e1 en d1 dn unit mphglobal model e1 en also returns the unit of the expressions e1 en unit is a nx1 cell array The function mphglobal accepts the following property value pairs TABLE 6 6 PROPERTY VALUE PAIRS FOR THE MPHGLOBAL COMMAND PROPERTY PROPERTY VALUE DEFAULT DESCRIPTION Complexfun off on on Use complex valued functions with real input Complexout off on off Return complex values Dataset String Active solution Data set tag data set Matherr off on off Error for undefined operations or expressions Outersolnum Positive 1 Solution number for integer parametric sweep Phase Scalar 0 Phase angle in degrees Solnum Integer vector all Solution for evaluation all end T Double array Time for evaluation Unit String cell Unit to use for the array evaluation The property Dataset controls which data set is used for the evaluation Data Sets contain or refer to the source of data for postprocessing purposes E
99. e function mphselectbox retrieves geometric entities enclosed by a box 3D or rectangle 2D To get the geometric entities of type entitytype enclosed by the box defined by the points x0 y0 z0 and x1 y1 z1 enter the command idx mphselectbox model geomtag x0 lt x1 gt lt y0 gt yl z0 lt z1 gt entitytype where geomtag is the tag of geometry where the selection is applied and entitytype can be one of point edge boundary or domain BUILDING MODELS The above function returns the entity indices list Use it to specify a feature selection or to create an explicit selection as described in Setting an Explicit Selection By default the function searches for the geometric entity vertices near these coordinates using the tolerance radius It returns only the geometric entities that have all vertices inside the box rectangle To include in the selection any geometric entities that have at least one vertex inside the search ball set the property include to any idx mphselectbox model geomtag x0 lt x1 gt lt y0 gt lt y1 gt lt z0 gt lt 21 gt entitytype include any In case the model geometry is finalized as an assembly you have distinct geometric entities for each part of the assembly Specify the adjacent domain index to avoid selection of overlapping geometric entities Set the adjnumber property with the domain index idx mphselectbox model geomtag x0 lt x1 gt
100. e geometry where you want to specify the interface To add a feature to a physics interface use the syntax model physics phystag feature create ftag operation where the lt phystag gt string refers to a physics interface lt ftag gt is a string that you use to refer to the operation To set a property to a value in a operation enter MODELING PHYSICS 8l 82 model physics phystag feature ftag set property value where lt ftag gt is the string that identifies the feature There are alternate syntaxes available model physics in COMSOL Java API Reference Guide See Also CHAPTER 3 To disable or remove a feature node use the methods active or remove respectively The command model physics phystag feature ftag active false disables the feature lt ftag gt To activate the feature node you can set the active method to true model physics phystag feature ftag active true You can also remove a feature from the model Use the method remove as below model physics phystag feature remove ftag EXAMPLE IMPLEMENT AND SOLVE A HEAT TRANSFER PROBLEM This example details how to add a physics interface and set boundary conditions in the model object Start to create a model object including a 3D geometry The geometry consists in a block with default settings Enter the following commands at the MATLAB prompt model ModelUtil create Model
101. e space model with a static model where Mc 0 y D C McAY McB u CHAPTER 4 WORKING WITH MODELS Let Null be the PDE constraint null space matrix and ud a particular solution fulfilling the constraints The solution vector U for the PDE problem can then be written U Nullx c ud c uO where 0 is the linearization point which is the solution stored in the sequence once the state space export feature is run EXTRACT STATE SPACE MATRICES The function mphstate requires that you define the input and output variables and the list of the matrices you want to extract in the MATLAB workspace str mphstate model soltag input input output output out out where lt soltag gt is the tag of the solver node to use to assemble the system matrices listed in the cell array out input and output are cell arrays containing the list of the input and output variables respectively The output data str returned by mphstate is MATLAB structure whose fields correspond to the assembled system matrices The input variables need to be defined as parameters in the COMSOL model The output variables are defined as domain point probes or global probes in the COMSOL model The system matrices that can be extracted with mphstate is listed in the table below EXPRESSION DESCRIPTION MA McA matrix MB McB matrix A A matrix B matrix C C matrix D D matrix Mc Mc matrix Null Null matrix ud ud vector x0 x0
102. eeze on off on Squeeze singleton dimension t Double Times for evaluation array The property Dataset controls which data set is used for the evaluation Data Sets contain or refer to the source of data for postprocessing purposes Evaluation is supported only on Solution Data Sets 197 mphevalpoint 198 Example The Dataseries property is used to control any filtering of the data series The supported operations are average mean integral int maximum max minimum min root mean square rms standard deviation std and variance var Set the property Matrix to off to get the results in a cell array format In case the property Datseries is either min or max you can specify the how the value are treated using the property Minmaxobj Use either the real data or the absolute data The property Solnum is used to select the solution to plot when a parametric eigenvalue or time dependent solver has been used to solve the problem The expressions e1 en are evaluated for one or several solutions Each solution generates an additional row in the data fields of the post data output structure The property Solnum and t control which solutions are used for the evaluations The Solnum property is available when the data set has multiple solutions for example in the case of parametric eigenfrequency or time dependent solutions The t property is available only for time dependent problems If Solnum is provi
103. eft corner Use the property base to control the positioning Create a circular hole with a radius of 0 5 centered at 0 0 c1 geom2 feature create c1 Circle c1 set r 0 5 1 0 0 The property describes the radius of the circle and the property pos describes the positioning The property pos could have been excluded because the default position is the origin The default is to position the circle about its center Drill a hole in the rectangle by subtracting the circle from it geom2 feature create co1 Compose co1 selection input set c1 sqi co1 set formula sqi c1 A selection object is used to refer to the input object The operators and correspond to the set operations union intersection and difference respectively The Compose operation allows you to work with a formula Alternatively use the Difference operation instead of Compose The following sequence of commands starts with disabling the Compose operation co1 active false dif1 geom2 feature create dif1 Difference dif1 selection input set sqi dif1 selection input2 set c1 Run the geometry sequence to create the geometry and plot the result geom2 run BUILDING MODELS mphgeom model geom2 08 047 027 02 06 Trimming Solids Continue with rounding the corners of the rectangle by the Fillet operation 111 geom2 feature
104. egular basis by COMSOL in order to add new models and to improve existing models Choose View gt Model Library Update m to update your model library to include the latest versions of the model examples Ifyou have any feedback or suggestions for additional models for the library including those developed by you feel free to contact us at info comsol com CONTACTING COMSOL BY EMAIL For general product information contact COMSOL at info comsol com To receive technical support from COMSOL for the COMSOL products please contact your local COMSOL representative or send your questions to support comsol com An automatic notification and case number is sent to you by email INTRODUCTION COMSOL WEB SITES Main Corporate web site www comsol com Worldwide contact information www comsol com contact Technical Support main page www comsol com support Support Knowledge Base www comsol com support knowledgebase Product updates www comsol com support updates COMSOL User Community www comsol com community Typographical Conventions All COMSOL user s guides use a set of consistent typographical conventions that make it easier to follow the discussion understand what you can expect to see on the graphical user interface GUI and know which data must be entered into various data entry fields In particular these conventions are used throughout the documentation CONVENTION EXAMPLE text highlighted in blue Click
105. el in the COMSOL Desktop 2 From the File menu choose Client Server Export Model to Server Export Model to Server Server User Model Server localhost Username wer o Model Model Por 2036 Password V Remember password Cancel 3 Make sure that the Server and the Port fields are set with the correct information default values are localhost and 2036 To establish the connection between the COMSOL Desktop and the COMSOL server enter a Username and a Password these are defined the first time you connect to the COMSOL server 4 Enter the name of the model object to export the default name is Model 5 Click OK 6 In MATLAB create a link to the model object on the COMSOL server with the command model ModelUtil model Model Ifthe model has been exported to the COMSOL server using a different name replace Model with the correct name of the exported model Use E the command ModelName ModelUtil tags to obtain the list of model objects available on the COMSOL server CHAPTER 3 BUILDING MODELS IMPORTING A MODEL IN THE COMSOL DESKTOP FROM MATLAB To import a model from a COMSOL server to the COMSOL Desktop choose Client Server gt Import Model from Server from the File menu This dialog box is similar to the Client Server Export Model to Server dialog box f Import Model from Server S Server User Model Server localhost Username uel
106. endent and continuation analysis the default value for the solnum property consists in the last solution number For an eigenvalue analysis it consists in the first solution number A model can contains different type of solution vector the solution of the problem but also the reaction forces vector the adjoint solution vector the functional sensitivity vector or the forward sensitivity In mphgetu you can specify which type of solution vector to extract with the type property U mphgetu model type type where type is one of the following string sol reacf adj or sens to extract the solution vector the reaction forces the functional sensitivity or the forward sensitivity respectively EXTRACTING SOLUTION INFORMATION AND SOLUTION VECTOR 153 OUTPUT FORMAT mphgetu returns by the default the solution vector Get the time derivative of the solution vector Udot by adding a second output variable U Udot mphgetu model In case the property solnum is set as a M array and the solver node only use one mesh to create the solution the default output consists in a a NxM array where N is the number of degrees of freedom of the model Else the output U is a cell array that contains each solution vector If you prefer to have the output in a cell array format set the property matrix to off U mphgetu model solnum solnum matrix off 154 CHAPTER 4 WORKING WITH MODELS Retrieving Xmesh Informa
107. eom accepts the following property value pairs TABLE 6 4 PROPERTY VALUE PAIRS FOR THE MPHGEOM COMMAND PROPERTY VALUE DEFAULT DESCRIPTION Parent Double Parent axes Selection Positive Selection integer array Entity point Geometric entity to edge select boundary domain Build on off on Build the geometry current before plotting string Edgecolor Char k Edge color Edgelabels on off off Show edge labels Edgelabelscolor Char k Color for edge labels Edgemode on off on Show edges Facealpha Double 1 Set transparency value Facelabels on off off Show face labels Facelabelscolor Char k Color for face labels Facemode on off on Show faces Vertexlabels on off off Show vertex labels Vertexlabelscolor Char k Color for vertex labels Vertexmode on off off Show vertices The Build property determines if mphgeom build the geometry prior to display it If the Build property is set with a geometric object tag the geometry is built up to that object mphgeom only displays built geometry objects 200 CHAPTER 6 COMMAND REFERENCE mphgeom Example Load shell diffusion mph from the Model Library model mphload shell diffusion mph Plot the geometry mphgeom model Plot the geometry and boundaries 2 4 6 8 10 16 17 18 29 and 20 in subplot ax subplot 1 2 1 mphgeom model geom1 parent ax edgecolor k edgelabels on alpha 0 5 edgelabelscolor b vertexmode on edgemode
108. eomtag gt is the string you defined when creating the geometry The string ftag is a string that you use to refer to the operation 5 For a list of geometry operations see About Geometry Commands in the COMSOL Java API Reference Guide Note You may want to set feature property with different values than the default Use the set method as in the command below model geom geomtag feature ftag set property lt value gt where lt ftag gt is the string defined when creating the operation EI For a property list available for the geometry features see Geometry in the i COMSOL Java API Reference Guide ote To build the geometry sequence enter model geom geomtag run Alternatively you can also build the geometry sequence up to a given feature tag with the command model geom lt geomtag gt run lt ftag gt Displaying the Geometry Use the function mphgeom to display the geometry in a MATLAB figure mphgeom mode1 You can also specify the geometry to display with the command mphgeom model lt geomtag gt When running mphgeom the geometry node is automatically build Set the build property to specify how the geometry node is supposed to be built before displaying it Use this command mphgeom model lt geomtag gt build build WORKING WITH GEOMETRY 33 34 where buildis a string with the following value off current or the geometry feature tag lt
109. er The default value is 4 intsurface or intvolume compute surface or volume integral for axisymmetry model data mphint2 model expr edim intsurface on data mphint2 model lt expr gt edim intvolume on Evaluating a Global Expression Evaluate a global expression with the function mphglobal To evaluate a global expression at the MATLAB prompt call the function mphglobal as in the command below d1 dn mphglobal model e1 en where e1 en are the COMSOL global expressions to evaluate The output values d1 dn are returned as a Px1 double array with P the length of inner parameters SPECIFY THE EVALUATION DATA The function mphglobal supports the following properties to set the data of the evaluation to perform dataset specify the solution data set to use in the evaluation data mphglobal model lt expr gt dataset lt dsettag gt lt dsettag gt is the tag of a solution data set The default value consist in the current solution data set of the model EXTRACTING RESULTS 129 130 solnum specify the inner solution number for data evaluation Inner solutions are generated for the following analysis type time domain frequency domain eigenvalue or stationary with continuation parameters data mphglobal model expr solnum solnum where lt solnum gt is an integer array corresponding to the inner solution index You can also set the property
110. ere portnumber is the port used by the COMSOL server If the COMSOL server is listening on the default port 2036 you do not need to specify the port number ADJUSTING THE MATLAB JAVA HEAP SIZE You may need to modify the MATLAB Java heap size to be able to manipulate the model object and extract data at the MATLAB prompt See the section Improving Performance for Large Models CHAPTER 2 GETTING STARTED CONNECTING MATLAB AND THE COMSOL SERVER ON DIFFERENT COMPUTERS EI This operation requires the specific license type called Floating Network License FNL Note To connect MATLAB and a COMSOL server that are running on different computers specify in the function mphstart the IP address of the computer where the COMSOL server is running mphstart lt ipaddress gt lt portnumber gt IMPORTING THE COMSOL CLASS Once you have manually connected MATLAB and the COMSOL server the COMSOL class needs to be imported Enter the following command at the MATLAB prompt import com comsol model import com comsol model util Disconnecting MATLAB and the COMSOL Server To disconnect MATLAB and the COMSOL server run the command below at the MATLAB prompt ModelUtil disconnect Changing the MATLAB Version The path ofthe MATLAB version connected to COMSOL is defined during the initial COMSOL installation You can change the MATLAB root path using the preferences file In the COMSOL Desktop go to the Options
111. es for evaluation array The property Dataset controls which data set is used for the evaluation Data Sets contain or refer to the source of data for postprocessing purposes Evaluation is supported only on Solution Data Sets The property Edim decides which elements to evaluate on Evaluation takes place only on elements with space dimension Edim If not specified Edim equal to the space dimension of the geometry is used The setting is specified as one of the following strings point edge boundary or domain In previous versions it was only possible to specify Edim as a number For example in a 3D model if evaluation is done on edges 1D elements Edim is 1 Similarly for boundary evaluation 2D elements Edim is 2 and for domain evaluation 3D elements Edim is 3 default in 3D Use Recover to recover fields using polynomial preserving recovery This techniques recover fields with derivatives such as stresses or fluxes with a higher theoretical convergence than smoothing Recovery is expensive so it is turned off by default The value pprint means that recovery is performed inside domains The value ppr means that recovery is also applied on all domain boundaries 193 mpheval 194 Example The property Ref ine constructs evaluation points by making a regular refinements of each element Each mesh edge is divided into Refine equal parts The property Smooth controls if the post data is forced to be conti
112. esh lt meshtag gt run ftaqg For more details on available operations and properties in the sequence See Also see Mesh in the COMSOL Java API Reference Guide Displaying the Mesh To display the mesh in a MATLAB figure use the function mphmesh Make sure that the mesh is built before calling the command below mphmesh 1 Ifyou have several meshes your model specify the mesh to display as in the command below mphmesh model lt meshtag gt Use the parent property to specify the axes handle where to display the plot mphmesh model lt meshtag gt parent lt gt The following properties are also available to specify the vertex edge or face rendering edgecolor edgelabels edgelabelscolor edgemode facealpha facelabels facelabelscolor facemode meshcolor vertexlabels vertexlabelscolor vertexmode WORKING WITH MESHES 53 Mesh Creation Functions MESH SIZING PROPERTIES The Size attribute provides a number of input properties that you can use to control the mesh element size such as The maximum and minimum element size The element growth rate The resolution of curvature The resolution of narrow regions These properties are available both globally and locally There are nine predefined settings you can use to set a suitable combination of values for many properties To select one of these settings use the property hauto and pass an integer from 1
113. esh Quality Getting Mesh Statistics Information Getting and Setting Mesh Data Modeling Physics The Physics Interface Syntax The Material Syntax Modifying the Equations Adding Global Equation Defining Model Settings Using External Data File Creating Selections The Selection Node Coordinate Based Selections Selection Using Adjacent Geometry Display Selection The Study Node The Study Syntax The Solution Syntax Run RunAll RunFrom Adding a Parametric Sweep The Batch Node Plot While Solving Analyzing the Results The Plot Group Syntax Displaying The Results The Data Set Syntax The Numerical Node Syntax 34 4l 42 42 44 46 52 52 53 54 73 75 76 77 81 8l 84 85 87 88 91 9l 92 95 96 98 98 99 99 100 101 101 103 103 104 107 108 ExportingData ll 108 Chapter 4 Working With Models Using MATLAB Variables in Model Settings 114 The Set and Setlndex Methods Sees Peace Using MATLAB Function To Define Model M Cap ls eu Extracting Results 117 Extracting Data From Tables s ee 117 Extracting Data at Node Points 118 Extracting Data at Arbitrary Points 122 Evaluating an Expression at Geometry Vertices 125 Evaluating an Integral 177 Evaluating a Global
114. eshstats model meshtag stats data mphmeshstats model meshtag stats mphmeshstats model returns mesh statistics of the model mesh case in the structure str stats mphmeshstats model meshtag returns mesh statistics of a mesh case meshtag in the structure str stats data mphmeshstats model meshtag returns in addition the mesh data information such as vertex coordinates and definitions of elements in the structure data The output structure stats contains the following fields TABLE 6 14 FIELDS IN THE STATS STRUCTURE FIELD DESCRIPTION Meshtag Mesh case tag Isactive Is the mesh node active Hasproblems Does the mesh have problems Iscomplete Is the mesh built to completion Sdim Space dimension Types Cell array with type names Numelem Vector with the number of elements for each type Minquality Minimum quality Meanquality Mean quality Qualitydistr Quality distribution vector Minvolume Volume area of the smallest element Maxvolume Volume area of the largest element Volume Volume area of the mesh The output structure data contains the following fields TABLE 6 15 FIELDS IN THE DATA STRUCTURE FIELD DESCRIPTOIN Vertex Coordinates of mesh vertices 229 mphmeshstats 230 Example See also TABLE 6 15 FIELDS IN THE DATA STRUCTURE FIELD DESCRIPTOIN Elem Cell array of definition of each element type Elementity Entity information for each element type
115. esired row The variable tablline is a Mx java lang string array where M is the number of row in the table You can obtain the table header with the command EXTRACTING RESULTS II7 118 header model result table tbitag getColumnHeaders Where header is a Mx1l java lang string array with M the number of the table row To get the table as a double array use the methods getReal and getImag as described below tablReal model result table lt tbltag gt getReal tablImag model result table lt tbltag gt getImag tablReal and tablImag are available at the MATLAB workspace as NxM arrays where N is the number of line and M the number of row of the table To get the table data at a specific row use the commands tablRealRow tablImagRow model result table lt tbltag gt getRealRow lt i gt model result table lt tbltag gt getImagRow lt i gt tablRealERow and tablImagRow are available at the MATLAB workspace as Nx1 array where N is the number of row of the table Table in the COMSOL Java Reference Guide See Also o The links to features described outside of this user guide do not work in the PDF only from within the online help Important To locate and search all the documentation for this information in g COMSOL select Help Documentation from the main menu and either Tp enter a search term or look under a specific module in the documentation 1 tree Extr
116. esults The Data Set Syntax The Numerical Node Syntax Exporting Data Results Evaluation and Visualization in the COMSOL Multiphysics e User s Guide See Also Results in the COMSOL Java API Reference Guide o The links to features described outside of this user guide do not work in the PDF only from within the online help Important The Plot Group Syntax First create a plot group using the syntax model result create pgtag sdim where lt pgtag gt is a string that you use to refer to the plot group and sdimis the space dimension of the plot group 1 2 or 3 To add a plot feature to a plot group use the syntax model result pgtag feature create ftag plottype where plottype is the string to that define the type of plots to be used with the feature ftag For each plot type you can add an attribute to the feature node you can do it with the command model result pgtag feature ftag feature create attrtag attrtype ANALYZING THE RESULTS 103 104 where attrtype is the string to that define the type of attribute to be used with the feature lt ftag gt For a list of the syntax of the plots type and attribute types available see e Results in the COMSOL Java API Reference Guide Also see See Also model result in this guide Displaying The Results Use the command 1 to display the plot group available in the model object To d
117. esults in the model geometry To display data from mpheval run the command mphplot data Ifthe data structure contains the value of several expression you can set the expression to display with the index property mphplot data index lt idx gt where idx isa positive integer that corresponds to the expression to plot You can also set the color table to use when displaying the data value See the command mphplot data colortable colorname where colorname is the name of the color table to use See the on line help associated to the command colortable to get a list of the predefined color table i Only plots involving points lines and surfaces data are supported in lt data gt Note EXAMPLE PLOT MPHEVAL DATA In this example you will see how to extract COMSOL data at the MATLAB modify them and plot the data in a MATLAB figure Start to load the model busbar from the COMSOL model library enter the command model mphload busbar To extract the temperature and the electric potential field use the command mpheval as below ANALYZING THE RESULTS 105 dat mpheval model T V selection 1 To display the temperature field enter mphplot dat index 1 0 05 You can also edit and modify the data available in the data structure returned by mpheval Then change the color table to display the modified data see the command dat d2 dat d2 1e 3
118. etry node and select Export to File Then create a geometry import feature from MATLAB model ModelUtil create Model geomi model geom create geomi 3 imp1 geom1 feature create imp1 Import imp1 set filename geometryfile mphbin imp1 importData geom1 run Save the model containing the geometry sequence from the COMSOL Desktop Create a model object from MATLAB and load the file into it Export the model containing the geometry sequence to the COMSOL server WORKING WITH GEOMETRY 4l 42 Importing and Exporting Geometries and CAD Models from File With COMSOL Multiphysics you can import and export geometries in a variety of file formats Below is a short summary of the various file formats COMSOL MULTIPHYSICS FILES natural choice for storing geometries in 1D 2D and 3D is the native file format of COMSOU geometry kernel mphtxt and mphbin EI The mphtxt or mphbin file formats are only used for geometry and mesh objects It is not the same as a Model MPH file mph Note 2D CAD FORMATS COMSOL Multiphysics supports import and export for the DXF file format a data interchange format of the CAD system AutoCAD You can also import files in the neutral GDS format ECAD geometry file format requires either the AC DC Module or the RF Module 3D CAD FORMATS It is possible to import surface meshes in the STL and VRML formats With a license for the CAD Import Module
119. expression for the last inner solution By default the evaluation is done using the last inner solution outersolnum specify the outer solution number for data evaluation Outer solutions are generated with parametric sweep data mphmin model lt expr gt edim outersolnum lt outersolnum gt where lt outersolnum gt is a positive integer array corresponding to the outer solution index The default settings uses the first outer solution for the data evaluation To evaluate the expression data at a specific time use the property t data mphmin model lt expr gt edim t lt time gt where time is a double array The default value correspond to all the stored time step OUTPUT FORMAT The function mphmin also supports other output format To extract the unit of the evaluated expression you need to define an extra output variable data unit mphmin model lt expr gt edim with unit is a 1xN cell array where N is the number of expression to evaluate CHAPTER 4 WORKING WITH MODELS By default mphmin returns the result s as a squeezed singleton To get the full singleton set the squeeze property to off data mphmin model lt expr gt edim squeeze off Set the property matrix to off to returns the data as a cell array instead of a double array data mphmin model lt expr gt edim matrix off EXTRACTING RESULTS 137 138 Running Models in Loop common use of LiveLin
120. for the face parameters 2 0 005 geom1 faceX 1 2 0 005 To get the parameters of a given face use the method faceParamRange N where N is the face number For example geom1 faceParamRange 1 WORKING WITH GEOMETRY 43 44 CHAPTER 3 returns the parameters for face 1 To get the parameter range of an edge you can use the edgeParamRange N method For instance to get the length of edge number 3 enter geom1 edgeParamRange 3 To get the coordinate and the curvature data along a specified edge enter geom1 edgeX 2 0 5 geom1 edgeCurvature 2 0 5 There are also methods for getting information about the internal representation of the geometry for example the coordinates of the geometry vertices geom1 getVertexCoord In addition you can fetch geometry information from elements in the geometry sequence To do this you can for example enter geom1 object blk1i getNBoundaries Modeling with a Parameterized Geometry COMSOL has built in support for parameterized geometries Parameters can be used in most geometry operations To exemplify parameterizing a geometry the following script studies the movement of a circular source through two adjacent rectangular domains model ModelUtil create Model model param set a 0 2 geomi model geom create geomt1 2 r1 geomi feature create r i Rectangle ri set size 0 5 1 1 5 0 0 r2 geomi feature creat
121. ftag gt which respectively does not build the geometry builds the geometry up to the current feature or builds the geometry up to the specified geometry feature node Use the parent property to specify the axes handle where to display the plot mphgeom model geomtag parent lt axes gt The following property is also available to specify the vertex edge or face rendering edgecolor edgelabels edgelabelscolor edgemode facealpha facelabels facelabelscolor facemode vertexlabels vertexlabelscolor vertexmode Use mphgeom to display a specified geometry entity To set the geometry entity enter the entity property and set the geometry entity index in the selection property to mphgeom model geomtag entity entity selection lt idx gt where entity can be either point edge boundary or domain and lt idx gt is a positive integer array that contains the list of the geometry entity indices Working with Geometry Sequences This section shows how to create geometry sequences using the syntax outlined in The Geometry Sequence Syntax CREATING A ID GEOMETRY For more information about 1D geometry modeling see Creating a 1D See Also Geometry Model in the COMSOL Multiphysics User s Guide CHAPTER 3 From the MATLAB command prompt create a 1D geometry model by adding a geometry sequence and then add geometry features The last step is to run the sequence using the run method
122. geom geom1 3 ftet1 selection set 2 swel mesh1 feature create swei Sweep swe1 selection sourceface geom geom1 2 swe1 selection targetface geom geom1 2 mesh1 run mphmesh model 08 06 044 Figure 3 10 Combined structured unstructured mesh The left hand side plot in Figure 3 10 is obtained with the following command mphgeom model geomi facemode off facelabels on 66 CHAPTER 3 BUILDING MODELS CREATING BOUNDARY LAYER MESHES For 2D and 3D geometries it is also possible to create boundary layer meshes using the BndLayer feature boundary layer mesh is a mesh with dense element distribution in the normal direction along specific boundaries This type of mesh is typically used for fluid flow problems to resolve the thin boundary layers along the no slip boundaries In 2D a layered quadrilateral mesh is used along the specified no slip boundaries In 3D a layered prism mesh or hexahedral mesh is used depending on wether the corresponding boundary layer boundaries contain a triangular or a quadrilateral mesh If you start with an empty mesh the boundary layer mesh uses free meshing to create the initial mesh before inserting boundary layers into the mesh This generates a mesh with triangular and quadrilateral elements in 2D and tetrahedral and prism elements in 3D The following example illustrates the procedure in 2D model ModelUtil create Model geom1 model
123. geom create geomi 2 ri geom1 feature create r1 Rectangle ri set size 10 5 1 geomi feature create c1 Circle 1 3 5 2 5 01 1 geom1 feature create difi Difference dif1 selection input2 object geom1 dif1 selection input object geom1 dif1 selection input set ri dif1 selection input2 set c1 geom1 runAll mesh1 model mesh create mesh geom1 bli meshi feature create b11 BndLayer bli feature create blp1 BndLayerProp b11 feature blp1 selection set 2 3 5 6 7 8 mesh1 run mphmesh model WORKING WITH MESHES 67 68 CHAPTER 3 Figure 3 11 Boundary layer mesh based on an unstructured triangular mesh It is also possible to insert boundary layers in an existing mesh Use the following meshing sequence with the geometry sequence of the previous example b11 active false fqi mesh1 feature create fqi FreeQuad fqi selection set 1 mphmesh model bli meshi feature create b12 BndLayer bli feature create blp2 BndLayerProp bli feature blp2 selection set 2 3 5 6 7 8 mesh1 run BUILDING MODELS mphmesh model Figure 3 12 Initial unstructured quad mesh left and resulting boundary layer mesh right REFINING MESHES Given a mesh consisting only of simplex elements lines triangles and tetrahedra you can create a finer mesh using the fea
124. grate the x velocity u at the outlet boundary and get its unit flow unit mphint2 model u surface selection 136 Load heat transfer axi mph from the Model Library model mphload heat transient axi mph Integrate the normal heat flux along the external boundaries using surface integration 0 mphint model ht ndflux 1 intsurface on CHAPTER 6 COMMAND REFERENCE mphint2 See also selection 2 3 4 mpheval mphevalpoint mphglobal mphinterp 215 mphinterp 216 CHAPTER 6 Purpose Syntax Description Evaluate expressions in arbitrary points or data sets v1 vn mphinterp model e1 en coord coord v1 vn mphinterp model e1 en dataset dsettag v1 vn unit mphinterp model e1 en v1 vn mphinterp model e1 en coord coord evaluates expressions e1 en at the coordinates specified in the double matrix coord Evaluation is supported only on Solution Data Sets v1 vn mphinterp model e1 en dataset dsettag evaluates expressions e1 en on the specified data set dsettag In this case the data set needs to be ofa type that defines an interpolation in itself such as cut planes revolve and so forth V1 vn unit mphinterp model e1 en returns in addition the unit of the expressions The function mphinterp accepts the following property value pairs TABLE 6 9 PROP
125. gure 3 13 Prism element obtained with the CopyFace and Sweep features To explicitly control the orientation of the copied mesh use the EdgeMap attribute The command sequence emi cpfi feature create em1 EdgeMap em1 selection srcedge set 18 emi selection dstedge set 2 mesh1 feature remove sw1 meshi feature create fteti FreeTet mesh1 run mphmesh model copies the mesh between the same boundaries as in the previous example but now the orientation of the source mesh on the target boundary is different The domain is then meshed by the free mesh resulting in the mesh shown Figure 3 14 In this case it is not possible to create a swept mesh on the domain because the boundary meshes do not match in the sweeping direction WORKING WITH MESHES 7l 72 Figure 3 14 Free tetrahedral mesh after the use of the CopyFace feature CONVERTING MESH ELEMENTS Use the Convert feature to convert meshes containing quadrilateral hexahedral or prism elements into triangular meshes and tetrahedral meshes In 2D the function splits each quadrilateral element into either two or four triangles In 3D it converts each prism into three tetrahedral elements and each hexahedral element into five six or 28 tetrahedral elements You can control the method used to convert the elements using the property splitmethod The default value is diagonal which results in two triangular elements in 2D and five or six tetrahed
126. h job using the run method model batch batchtag run Plot While Solving With the plot while solving functionality you can monitor the development of the computation by updating predefined plots during computation Since the plots are displayed on the COMSOL server you need to start COMSOL with MATLAB using the graphics mode See the COMSOL Multiphysics Operations and Installation Guide to de m start COMSOL with MATLAB with the graphics mode To activate plot while solving enter the command THE STUDY NODE 101 102 CHAPTER 3 model study studytag feature studysteptag set plot on where lt studytag gt is the tag of the study and lt studysteptag gt refers to the study step Specify which plot group to plot by setting the plot group tag model study lt studytag gt feature lt studysteptag gt set plotgroup lt ptag gt Only one plot group can be plotted during a computation If you need to monitor several variables you can use probes instead To activate plot while solving for a probe plot enter the command model study studytag feature studysteptag set probesel type where type is the type of probe to use It can be probesel probesel ora cell array containing the tag of the probe to use BUILDING MODELS Analyzing the Results This section describes how to do results analysis and visualization The Plot Group Syntax Displaying The R
127. he default unit is used instead Solnum is used to select the solution number when a parametric eigenvalue or time dependent solver has been used Outersolnum is used to select the outer solution number when a parametric sweep has been used in the study step node Load fluid_valve mph from the Model Library model mphload fluid valve mph Evaluate the global expression u_up for each time step u up mphglobal model u up Evaluate the global expression u_up at 0 8 sec up mphglobal model u up t 0 8 Evaluate the expressions u_up and u down at the last solution number u up u down mphglobal model u up u down j solnum end Evaluate the expressions u_up in mm 2 5 down in cm 2 s u up u down mphglobal model u up u down j unit mm 2 s cm 2 s mpheval mphevalpoint mphint2 mphinterp CHAPTER 6 COMMAND REFERENCE mphimage2geom Purpose Syntax Description Example Convert image data to geometry model mphimage2geom imagedata level model mphimage2geom imagedata level convertes the image contained in imagedata into a geometry which is returned in the model object model The contour of the image is defined by the value level imagedata must be a2D matrix The function mphimage2geom accepts the following property value pairs TABLE 6 7 PROPERTY VALUE PAIRS FOR THE MPHIMAGE2GEOM COMMAND PROPERTY PROPERTY VALUE DEFAULT DESCRIPTION Rtol
128. i set data meshi meshploti set filteractive on meshploti set elemfilter quality meshplot1 set tetkeep 0 25 mphpilot model pgi meshploti set elemfilter qualityrev meshplot1 run mphplot model pg1 These commands display the worst 25 and the best 25 elements in terms of mesh element quality See how in Figure 3 17 the triangular mesh elements in the plot to the right are more regular than those in the left plot this reflects the fact that a quality WORKING WITH MESHES 75 76 CHAPTER 3 measure of 1 corresponds to a uniform triangle while 0 means that the triangle has degenerated into a line Mesh Quality 1 1 424 ost 4 26 08 E 08 Figure 3 17 Visualizations of the mesh quality worst 25 left and best 25 right Getting Mesh Statistics Information Use the function mphmeshstats to get mesh statistics and mesh information stats mphmeshstats model where stats is a structure containing the mesh statistics information The statistics structure contains the following fields meshtag the tag of the mesh feature isactive Boolean variable that indicates if the mesh feature is active 1 or not 0 hasproblems Boolean variable that indicates if the mesh feature contains error or warning nodes 1 or not 0 iscomplete Boolean variable that indicates if the mesh feature is built 1 or not 0 sdim the space di
129. ically before solving Function Arguments besselh t m Function besselh Arguments nux To plot the function you need to define first the lower and upper limit for both nu and x In the Plot Parameters table set the two first row of the Lower limit column to 0 and the Upper limit column to 5 Plot Parameters Lower limit Upper limit 0 5 0 5 t m THE MATLAB FUNCTION FEATURE NODE 177 Click Plot button to get the same plot as below eh Graphics inis Ei x 7 y be 1 07 m V 0 4028 Adding A MATLAB Function with the COMSOL API Java Syntax To add a MATLAB feature node to the COMSOL model using the COMSOL API Java enter the command model func create ftag MATLAB Define the function name and function arguments with the command model func ftag setIndex funcs function name 0 0 model func ftag setIndex funcs arglist 0 1 where function name is a string set with the function name and lt arglist gt isa string that define the list of the input arguments 178 CHAPTER 5 CALLING MATLAB FUNCTION Additional Information In this section Function Input Output Considerations Updating The Functions Defining Function Derivatives Using the MATLAB Debugger Windows OS only Function Input Output Considerations The functions called from COMSOL must support vector arguments of an
130. ign the element information node coordinates and elements connectivity information geom2 mesh2 mesh2 mesh2 mesh2 into a new mesh Use the method createMesh to create the new mesh model geom create geom2 2 model mesh create mesh2 geom2 data setElem tri new tri data setVertex coord data createMesh BUILDING MODELS Modeling Physics This section describes how to set up physics interfaces in a model The physics interface defines the equations that COMSOL solves The Physics Interface Syntax The Material Syntax Modifying the Equations Adding Global Equation Defining Model Settings Using External Data File Overview of the Physics Interfaces in the COMSOL Multiphysics User s See Also Guide o The links to features described outside of this user guide do not work in the PDF only from within the online help Important The Physics Interface Syntax Create a physics interface instance using the syntax model physics create lt phystag gt physint geomtag where lt phystag gt is a string that you choose to identify the physics interface Once defined you can always refer to a physics interface or any other feature by its tag The string physintisthe constructor name ofthe physics interface To get the constructor name the best is to create a model using the desired physics interface in the GUI and save the model as a M file The string geomtag refers th
131. inders short cuts suggestions of how to improve model design and other information that may or may not be useful to the user Q See Also The See Also icon indicates that other useful information is located in the named section If you are working on line click the hyperlink to go to the information directly When the link is outside of the current PDF document the text indicates this for example See The Laminar Flow Interface in the COMSOL Multiphysics User s Guide Note that if you are in COMSOL Multiphysics online help the link will work 14 CHAPTER 1 INTRODUCTION ICON NAME DESCRIPTION Model Space Dimension The Model icon is used in the documentation as well as in COMSOL Multiphysics from the View gt Model Library menu If you are working online click the link to go to the PDF version of the step by step instructions In some cases a model is only available if you have a license for a specific module These examples occur in the COMSOL Multiphysics User s Guide The Model Library path describes how to find the actual model in COMSOL Multiphysics for example If you have the RF Module see Radar Cross Section Model Library path RF Module Tutorial Models radar cross section Another set of icons are also used in the Model Builder the model space dimension is indicated by OD ID ID axial symmetry 4 2D f 2D axial symmetry i and 3D X icons These icons are also used in the documentatio
132. ing SET UP MODELS FROM A SCRIPT LiveLink for MATLAB includes the COMSOL API Java with all necessary functions and methods to implement models from scratch For each operation you do in the COMSOL Desktop there is a corresponding command you can type at the MATLAB prompt This is a simplified Java based syntax which does not required any knowledge of Java Available methods are listed in the COMSOL Java API Reference Guide The simplest way to learn this programing syntax is to save the model as a M file directly from the COMSOL Desktop You can read more about building a model using the command line in the chapter Building Models USE MATLAB FUNCTIONS IN MODEL SETTINGS Use LiveLink for MATLAB to set model properties with a MATLAB function For instance define material property or boundary condition as a MATLAB routine that is evaluated while the model is solved How you can do this in the COMSOL Desktop is described in chapter Calling MATLAB Function LEVERAGE MATLAB FUNCTIONALITY FOR PROGRAM FLOW Use the API syntax together with MATLAB functionality to control the flow of your programs For instance implement nested loops using for or while commands or implement conditional model settings with if or switch statements You can also handle exceptions using try and catch Some of these operations are described in the sections Running Models in Loop and Handling Errors And Warnings which you find in the chapter Working With Models AN
133. ion value make sure that the evaluation point coordinates dimension has the same size ext specify extrapolation control value This ensure you to return data for points that are outside the geometry data mphinterp model expr coord coord ext ext where ext is a double value The default value is 0 1 solnum specify the inner solution number for data evaluation Inner solutions are generated for the following analysis type time domain frequency domain eigenvalue or stationary with continuation parameters data mphinterp model expr coord coord Solnum solnum where lt 1 gt is an integer array corresponding to the inner solution index lt solnum gt can also be end to evaluate the expression for the last inner solution By default the evaluation is performed using the last inner solution outersolnun specify the outer solution number for data evaluation Outer solutions are generated with parametric sweep data mphinterp model lt expr gt coord lt coord gt outersolnum lt outersolnum gt where lt outersolnum gt is a positive integer corresponding to the outer solution index The default settings uses the first outer solution for the data evaluation To evaluate the expression data at a specific time use the property t data mphinterp model lt expr gt coord lt coord gt t lt time gt where time is a double array The default value co
134. iple domains in the geometry to include the interior and exterior selected geometric entities enter model selection seltag set interior on model selection seltag set exterior on To exclude the interior exterior select geometric entities you can set the respective property to off Adjacent Selection Using MPHGETAD An alternative to the COMSOL API is to use the function mphgetadj to select geometric entities using adjacent domain To get a list of entities of type entitytype adjacent to the entity with the index lt adjnumber gt of type adjtype enter idx mphselectbox model geomtag entitytype adjtype lt adjnumber gt where lt geomtag gt is the tag of geometry where the selection applies The string variables entitytype and adjtype can be one of point edge boundary or domain You can use the list returned by the function to specify the selection for a model feature or to create an explicit selection as described in Setting an Explicit Selection Display Selection Use the function mphviewselection to display the selected geometric entities in a MATLAB figure You can either specify the geometry entity index and its entity type or specify the tag of a selection node available in the model To display the entity of type entitytype with the index lt idx gt enter mphviewselection model geomtag idx entity entitytype BUILDING MODELS where lt geomtag g
135. isplay the plot group lt pgtag gt enter the command mphplot model lt pgtag gt This renders the graphics in a MATLAB figure window using Handle Graphics To plot the plot group in a COMSOL graphics window make sure you have started COMSOL with MATLAB using the graphics option and enter mphplot model pgtag server on An alternative to plot the results on server is use the run method at a specific plot group model result pgtag run The plot on server option is not supported on Mac OS Note CHAPTER 3 The default plot settings displayed in a MATLAB figure do not include a color range bar If you want to include the color range bar in your figure use the property rangenum mphplot model pgtag rangenum lt idx gt where idx is the index number of the feature node you would like to display the color range bar BUILDING MODELS You can extract the data plot directly at the MATLAB prompt by adding an output argument to mphplot see dat mphplot model lt pgtag gt This returns a cell array dat that contains the data for each plot feature available in the plot group Alternatively you can display the solution directly using data value instead of a plot group The function mphplot supports data format such as the structure provided by the function mpheval This allow you to extract expressions at the MATLAB prompt do some operations with the exported data and plot the r
136. ix Get model matrices mphselectbox Select geometric entity using a rubberband box mphselectcoords Select geometric entity using point coordinates COMMAND REFERENCE FUNCTION PURPOSE mphsolinfo mphstate mphxmeshinfo Get information about a solution object Get state space matrices for dynamic system Extract information about the extended mesh Postprocessing Functions FUNCTION PURPOSE mpheval Evaluate expressions on node points mphevalglobalmatrix Evaluate global matrix variables mphevalpoint Evaluate expressions at geometry vertices mphglobal Evaluate global quantities mphint2 Perform integration of expressions mphinterp Evaluate expressions in arbitrary points or data sets mphmax Perform maximum of expressions mphmean Perform mean of expressions mphmin Perform minimum of expressions mphplot Render a plot group in a figure window Model information and navigation FUNCTION PURPOSE mphgetproperties Get properties from a model node mphgetexpressions Get the model variables and parameters mphgetselection Get information about a selection node mphmodel Return tags for the nodes and subnodes in the COMSOL model object mphmodellibrary GUI for viewing the Model Library mphnavigator GUI for viewing the COMSOL model object mphsearch GUI for searching expressions in the COMSOL model object mphshowerrors Show messages in error and warning nodes in the COMSOL model object
137. k for MATLAB is to run models in a loop As MATLAB offers several functionalities to run loops including conditional statements and error handling you will see how all these functionality can be used together with the COMSOL Java API syntax to run COMSOL model in loop In this section The Parametric Sweep Node Running Model in a Loop Using the MATLAB Tools The Parametric Sweep Node Using the COMSOL Java API you can run model in loop See the section Adding a Parametric Sweep in the section Building Models Note that using the COMSOL built in function to run models in loop you can ensure the model to be saved automatically at each iteration COMSOL also offers tool to take advantage of clusters architecture Running Model in a Loop Using the MATLAB Tools Use MATLAB tools such as for or while statements to run your model in a loop The COMSOL API Java commands can be included in scripts using MATLAB commands To evaluate such a script you need to have MATLAB connected to a COMSOL server To run a model in a loop you do not need to run the entire model M file commands from scratch It is recommended to load a COMSOL model in MATLAB and run the loop only over the desired operations The COMSOL model is automatically updated when running the study node CHAPTER 4 WORKING WITH MODELS You can run a model M file from scratch if you need for instance to generate the geometry in loop The model run inside a MATLAB l
138. lect geometric entity using point coordinates 2 D mphselectcoords model geomtag coord entity n mphselectcoords model geomtag coord entity finds geometry entity numbers based on their vertex coordinates One or more coordinate may be provided The function searches for vertices near these coordinates using a tolerance radius The list of the entities that are adjacent to such vertices is returned Coord is a NxM array where N correspond of the number of point to use and M the space dimension of the geometry Entity can be one of point edge boundary or domain following the entity space dimension defined below e domain maximum geometry space dimension boundary maximum geometry space dimension 1 edges l only for 3D geometry The function mphpselectcoords accepts the following property value pairs TABLE 6 19 PROPERTY VALUE PAIRS FOR THE MPHSELECTCOORDS COMMAND PROPERTY VALUE DEFAULT DESCRIPTION Adjnumber Scalar none Adjacent entity number Radius Scalar auto Search radius Include all any all Include all or any vertices When a model uses form an assembly more than one vertex may have the same coordinate if the coordinate is shared by separate geometric objects In that case one can use the adjnumber property in order to identify the domain that the vertices should be adjacent to The radius property is used to specify the radius of the sphere circle that the search should be
139. lemented using the COMSOL Java API Set up the model using the graphical user interface then save the model as a M file To proceed go to the File menu and select Save as M file This generates a M function that you can run using COMSOL with MATLAB Study the LiveLink for MATLAB Model Library LiveLink for MATLAB includes a model library with detailed example models Use the function mphmodellibrary at the command line to get a list of available models which includes In the model Zomain activation Ilmatiab you can see how to activate and deactivate domain alternatively during a transient analysis The model bomogenization llmatlab shows how to simulate a periodic homogenization process in a space dependent chemical reactor model This homogenization removes concentration gradients in the reactor at a set time interval The model pseudoperiodicity_lmatiab you can see how to simulate convective heat transfer in a channel filled with water To reduce memory requirements the model is solved repeatedly on a pseudo periodic section of the channel Each solution corresponds to a different section and before each solution step the INTRODUCTION temperature at the outlet boundary from the previous solution is mapped to the inlet boundary The model thermos_llmatlab shows how to use MATLAB function callback This example solves for the temperature distribution inside a thermos holding hot coffee Finally in the model bu
140. lements with space dimension Edim If not specified Edim equal to the space dimension of the geometry is used The setting is specified as one of the following strings point edge boundary or domain In previous versions it was only possible to specify Edim as a number For example in a 3D model if evaluation is done on edges 1D elements Edim is 1 Similarly for boundary evaluation 2D elements Edim is 2 and for domain evaluation 3D elements Edim is 3 default in 3D Use Recover to recover fields using polynomial preserving recovery This techniques recover fields with derivatives such as stresses or fluxes with a higher theoretical convergence than smoothing Recovery is expensive so it is turned off by default The value pprint means that recovery is performed inside domains The value ppr means that recovery is also applied on all domain boundaries The property Ref ine constructs evaluation points by making a regular refinements of each element Each mesh edge is divided into Refine equal parts The property Smooth controls if the post data is forced to be continuous on element edges When Smooth is set to internal only elements not on interior boundaries are made continuous When the property Phase is used the solution vector is multiplied with exp i phase before evaluating the expression The expressions e1 en are evaluated for one or several solutions Each solution generates an additional row in th
141. lortable mphdoc mpheval mphevalglobalmatrix mphevalpoint mphgeom mphgetadj mphgetcoords mphgetexpressions mphgetproperties mphgetselection mphgetu mphglobal mphimage2geom mphint2 mphinterp mphload mphmatrix mphmax mphmean mphmesh mphmeshstats mphmin mphmodel mphmodellibrary mphnavigator mphplot mphsave mphsearch mphselectbox mphselectcoords mphshowerrors mphsolinfo mphstart mphstate 184 CHAPTER 6 COMMAND REFERENCE mphversion mphviewselection mphxmeshinfo SUMMARY OF COMMANDS 185 Commands Grouped by Function Interface Functions FUNCTION PURPOSE mphcd Change directory to the directory of the model mphdoc Return HTML help of a specified function mphload Load a COMSOL model MPH file mphsave Save a COMSOL model mphstart Connect MATLAB to a COMSOL server mphversion Return the version number of COMSOL Multiphysics Geometry Functions FUNCTION PURPOSE mphgeom Plot a geometry in a MATLAB figure mphimage2geom Convert image data to geometry mphviewselection Display a geometric entity selection in a MATLAB figure Mesh Functions FUNCTION PURPOSE mphmesh Plot a mesh in a MATLAB figure mphmeshstats Return mesh statistics and mesh data information Utility Functions FUNCTION PURPOSE mphgetadj Return geometric entity indices that are adjacent to other mphgetcoords Return point coordinates of geometry entities mphgetu Return solution vector mphmatr
142. lues for eigenvalue problems and as parameter values for parametric problems respectively Load micromixer mph from the Model Library model mphload micromixer mph Evaluate the pressure p at all node points dat mpheval model p Evaluate the concentration c at the outlet boundary dat mpheval model c edim boundary 1 136 Evaluate the pressure on all geometric vertices CHAPTER 6 COMMAND REFERENCE mpheval dat mpheval model p edim point Evaluate the pressure on vertex number 1 and return only the pressure value dat mpheval model p edim point selection 1 dataonly 0on See also mphevalpoint mphglobal mphint2 mphinterp 195 mphevalglobalmatrix Purpose Syntax Description Example See also Evaluate global matrix variables M mphevalglobalmatrix model expr M mphevalglobalmatrix model expr evaluates the global matrix of the variable expr and returns the full matrix M The function mphevalglobalmatrix accepts the following property value pairs TABLE 6 2 PROPERTY VALUE PAIRS FOR THE MPHEVAL COMMAND PROPERTY PROPERTY DEFAULT DESCRIPTION VALUE Dataset String Data set tag Note S parameters evaluation requires the RF module Load 1ossy circulator 3d mph from the RF Module s Model Library model mphload lossy circulator 3d mph Evaluate the S parameters matrix using the solution data set dset4
143. matically start when the function needs to be evaluated The result of the function evaluation in MATLAB is then sent back to the COMSOL environment o Calling MATLAB Function CALLING A MATLAB FUNCTION FROM THE COMSOL DESKTOP 23 24 CHAPTER 2 GETTING STARTED This chapter gives an overview of the model object and provides an introduction Building Models to building models using the LiveLink interface In this chapter The Model Object Working with Geometry Working with Meshes Modeling Physics Creating Selections The Study Node Analyzing the Results 25 26 The Model Object While working with the LiveLink interface in MATLAB you work with models through the model object Use methods to create modify and access your model In this section Important Notes About the Model Object The Model Object Methods The General Utility Functionality Loading and Saving a Model Exchanging Models Between MATLAB and the COMSOL Desktop Important Notes About the Model Object The following information should be considered regarding the model object All algorithms and data structures for the model are integrated in the model object The model object is used by the COMSOL Desktop to represent your model This means that the model object and the COMSOL Desktop behavior are virtually identical The model object includes methods for setting up and running sequences of operations to create geometry
144. mber of DOFs Fieldnames Names of the field variables Fieldndofs Number of DOFs per field name Meshtypes Types of mesh element Dofs Structure with information about the degrees of freedom Nodes Struct with information about the nodes Elements Struct with information about each element type Load busbar mph from the Model Library model mphload busbar mph Extract xmesh information for the active Solver feature info mphxmeshinfo model Extract xmesh information from the Study Step node st1 255 mphxmeshinfo info mphxmeshinfo model solname sol1 studysteptag st1 See also mphgetu mphmatrix mphsolinfo 256 CHAPTER 6 COMMAND REFERENCE COMMANDS GROUPED BY FUNCTION 257 258 CHAPTER 6 COMMAND REFERENCE Index A access methods 237 adaptive solver 221 advancing front method 57 animations 108 ASCII file 109 B Boolean operations 39 boundary layer meshes 67 C CAD formats 42 circle 36 Compose operation 36 COMSOL 26 COMSOL Desktop 26 exchanging geometries with 41 COMSOL Multiphysics binary files 73 COMSOL Multiphysics text files 73 constructor name 81 converting meshes 72 copying boundary meshes 70 D data sets syntax for 107 Delaunay method 57 Difference operation 36 documentation finding 11 DXF files 42 E emailing COMSOL 12 equations global 87 modifying 85 evaluating data 108 exporting data for file 108 extruding meshes by sweeping 64 file format
145. mension of the mesh feature types the element types present in the mesh The element type can be vertex vtx edge edg triangle tri quad quad tetrahedra tet pyramid pyr prism prism hexahedra hex The type can also be of all elements of maximal dimension in the selection a11 numelem number of elements for each element type minquality minimum element quality meanquality mean element quality qualitydistr distribution of the element quality 20 values minvolume minimum element volume area BUILDING MODELS maxvolume maximum element volume area volume total volume area of the mesh In case of several mesh case are available in the model object you can specify the mesh tag stats mphmeshstats model meshtag Getting and Setting Mesh Data The function mphmeshstats also returns the mesh data such as element coordinates Use the function with two output variable to get the mesh data meshstats meshdata mphmeshstats model In the above meshdata is a MATLAB structure containing the following fields vertex which contains the mesh vertex coordinates elem which contains the element data information elementity which contains the element entity information for each element type EXAMPLE EXTRACT AND CREATE MESH INFORMATION You can manually create a mesh based on a grid generated in MATLAB In this example before inserting this mesh into the model you genera
146. menu and select Preferences 2 In the Preferences window go to Livelink products 3 Set the MATLAB root directory path in the MATLAB installation folder field 4 Windows OS users also need to click Register MATLAB as COM Server button otherwise the specified MATLAB version may not start when calling external MATLAB function from the COMSOL model RUNNING COMSOL WITH MATLAB 2l 22 5 Click OK Restore Defaults Preferences S General LiveLink for MATLAB er MATLAB installation folder CAProgram Files MATLAB R2012a Browse Expand sections z Register MATLAB As COM Server Cluster computin LiveLink for Pro ENGINEER Graphics Pro ENGINEER installation folder Results coim LiveLink for Creo Parametric andprocessors Creo Parametric common files folder Browse p Use LiveLink for Creo Parametric 6 To update the preferences file close the COMSOL Desktop CHAPTER 2 GETTING STARTED Calling a MATLAB Function From the COMSOL Desktop Use LiveLink for MATLAB to call MATLAB functions from within the model when working in the COMSOL Desktop The procedure is slightly different than implementing a model using a script as you do not need to run COMSOL with MATLAB Start COMSOL as a stand alone The external MATLAB function needs to be defined in the COMSOL model so that a MATLAB process can auto
147. model filenameloaded mphload filename ModelObjectName also returns the full file name filenameloaded ofthe file that was loaded If the model name is the same as a model that is currently in the COMSOL server the loaded model overwrites the existing one Note that MATLAB searches for the model on the MATLAB path if an absolute path is not supplied mphload turns off the model history recording by default unless the property history is used The extension mph can be omitted Load transport and adsorption mph from the Model Library model mphload transport and asorption mph Load stresses in pulley mph without specifying the mph extension model mphload stresses in pulley Load the model from MyModel mph with the path specified model mphload PATH MyModel mph Load effective diffusivity mph from the Model Library and return the file name model filename mphload effective diffusivity mph mphsave CHAPTER 6 COMMAND REFERENCE mphmatrix Purpose Syntax Description Get model matrices str mphmatrix model soltag Out mphmatrix model soltag Out A returns a MATLAB structure str containing the matrix A assembled using the solver node soltag and str accessible as str A A being taken from the Out property list str mphmatrix model soltag fname Out A B returns a MATLAB structure str containing the matrices A B assembled using the solver
148. n yellow and red Rainbowlight Similar to Rainbow this color table uses lighter colors Thermal Ranges from black through red and yellow to white which corresponds to the colors iron takes as it heats up Thermalequidistant Similar to Thermal but uses equal distances from black to red yellow and white which means that the black and red regions become larger Traffic Spans from green through yellow to red Trafficlight Similar to Traffic but uses lighter colors Wave Ranges linearly from blue to light gray and then linearly from white to red When the range of the visualized quantity is symmetric around zero the color red CHAPTER 6 COMMAND REFERENCE colortable or blue indicates whether the value is positive or negative and the saturation indicates the magnitude Wavelight Similar to Wave and ranges linearly from a lighter blue to white instead of light gray and then linearly from white to a lighter red Calling colortable is equivalent to calling the corresponding colormap function directly Example Create a rainbow color map map colortable Rainbow map rainbow 189 mphcd Purpose Change directory to the directory of the model Syntax mphcd model Description mphcd model changes the current directory in MATLAB to the directory where the model was last saved See aalso mphload mphsave 190 CHAPTER 6 COMMAND REFERENCE mphdoc Purpose Syntax Description E
149. n the previous section see page 177 you can define the function derivative by setting the table as described below FUNCTION ARGUMENT FUNCTION DERIVATIVE besselh nu besselh nu 1 x besselh nu 1 x 2 besselh x besselh 0 x besselh 2 x 2 v Derivatives Function Argument Partial derivative besselh nu besselh nu 1 x besselh n bessel x besselh 0 x besselh 2 x 2 to Function besselh Argument nu Partial derivative besselh nu 1 x besselh nu 1 x 2 Using the MATLAB Debugger Windows OS only If you are running on Windows OS you can benefit of the MATLAB debugger when running MATLAB function in the COMSOL Model To activate the MATLAB debugger you need first to start the MATLAB Desktop from the MATLAB process that is started when evaluating the function in COMSOL At the MATLAB prompt type the command desktop In the COMSOL Desktop edit the function M file and add breakpoint at the desired line Now when you run the COMSOL model the MATLAB debugger automatically stops at the break point You can then verify the intermediate value of the function variables ADDITIONAL INFORMATION 181 182 CHAPTER 5 CALLING MATLAB FUNCTION Command Reference The main reference for the syntax of the commands available with LiveLink for MATLAB is the COMSOL Java API Reference Guide This section documents additional interface functions that come with the product 183 Summary of Commands co
150. n to clearly list the differences to an interface feature node or theory section which are based on space dimension HELP AND DOCUMENTATION 15 16 CHAPTER 1 INTRODUCTION Getting Started This chapter has these sections The Client Server Architecture Running COMSOL with MATLAB Calling a MATLAB Function From the COMSOL Desktop The Client Server Architecture LiveLink for MATLAB uses the client server mode to connect COMSOL Multiphysics and MATLAB When starting COMSOL with MATLAB two processes are started a COMSOL server and the MATLAB desktop The MATLAB process is a client connected to the COMSOL server using a TCP IP communication protocol El The COMSOL Desktop is not involved Note The first time you start COMSOL with MATLAB you are requested to provide login information This information is stored in the user preferences file and is not requested for later use of COMSOL with MATLAB The same login information may be used when exchanging the model object between the COMSOL server and COMSOL Desktop The communication between the COMSOL server and MATLAB is established by default using port number 2036 If this port is in use port number 2037 is used instead and so on You can manually specify the port number See COMSOL Server Commands in the COMSOL Multiphysics Installation and Operations See Also Guide for more information on the COMSOL server start up properties o
151. name If the file name is not provided the model has to be saved previously on disk Ifthe file name does not provide a path the file is saved relatively to the current path in MATLAB The model can be saved as an mph file java file or as an m file The file extension determines which format that is saved mphload 239 mphsearch Purpose GUI for searching expressions in the COMSOL model object Syntax mphsearch model Description mphsearch model opens a graphical user interface that can be used to search expressions in the model object model Search using a text available in the name expression or description of the variable r mphsearch search COMSOL Multiphysics Search V Name F Expression Description Type Name Expression Description Type Path 1 96485 3399 C mol Faraday constant Varnames model variable iexpr 2 G const 6 67428E M m 3 kg s 2 Gravitational constant Varnames model variableiexpr1 3 Heat prict Tag model elem Heat prict 4 i Field model physics jh 5 Varnames model param 6 N A const 6 02214179E23 1 mol Avogadro constant Varnames model variable iexpr1 7__ R_const 8 314472 J K mol Universal gas constant Varnames model variable iexpr1 8 T Field model physics jh 9 Field model physics jh 10 V m const 0 02241
152. name property with the solver tag so1tag associated to the solution object info mphsolinfo model soltag soltag If you have several solution data set attached to the solver for instance solution data sets with different selection you can specify which data set to use to get the solution object information with the dataset property info mphsolinfo model dataset dsettag where dsettag the tag of the solution data set to use EXTRACTING SOLUTION INFORMATION AND SOLUTION VECTOR 151 OUTPUT FORMAT The output info is a MATLAB structure The default fields available in the structure are listed in the table below FIELDS DESCRIPTION soltag Tag of the solver associated to the solution object study Tag of the study associated to the solution object size Size of the solution vector nummesh Number of mesh in the solution for automatic remeshing sizes Size of solution vector and inner parameters for each mesh soltype Solver type solpar Parameter name sizesolvals Length of parameter list solvals Inner parameter value paramsweepnames Outer parameter name paramsweepvals Outer parameter value batch Batch information dataset Tag of the solution data set associated to the solution object To get the information about the number of solutions set the property nu to on info mphsolinfo model nu on The info structure is added with the following fields FIELDS DESCRIPTION NUsol N
153. name does not provide a path the file is saved relatively to the local MATLAB path The file extension determines which format to use mph m or java Alternatively you can use the save method model save filename If filename does not provide a path the file is saved relatively to the local COMSOL server path Any files saved in the MPH format can be loaded by the COMSOL Desktop In addition you can save your model as a Model M file model save model name m The models not automatically saved between MATLAB sessions Note Exchanging Models Between MATLAB and the COMSOL Desktop It is possible to alternate between the MATLAB scripting interface and the COMSOL graphical user interface in order to edit and or modify the model object When THE MODEL OBJECT 29 30 running COMSOL with MATLAB the model object is stored on the COMSOL server You can directly load the model object in the COMSOL Desktop from the COMSOL server or conversely export the model object available in the COMSOL Desktop to the COMSOL server EXPORTING FROM THE COMSOL DESKTOP A MODEL TO MATLAB In the COMSOL Desktop use the option Export to Server from the File menu to send the model object to the COMSOL server that is connected with MATLAB Once the model object is on the COMSOL server create a link in the MATLAB prompt Follow the steps below to export a model from the COMSOL Desktop to MATLAB Open a mod
154. nd is displayed below ans ht k effxx Tx ht k effxy Ty ht k effxz Tz test Tx ht k effyx Tx ht k effyy Ty ht k effyz Tz test Ty ht k effzx Tx ht k eff zy Ty ht k effzz Tz test Tz You can access the equation in the node root mod1 ht solid1 weak 1 for instance to modify the equation and lock the expression run the commands equExpr 400 W m K Tx test Tx Ty test Ty Tz test Tz info lock list 2 equExpr The above command set the heat conductivity to a constant value directly within the heat balance equation BUILDING MODELS Adding Global Equation To add a global equation in the model use the command model physics create lt odestag gt GlobalEquations To define the name of the variable to be solved by the global equation enter model physics lt odetag gt set name lt idx gt lt name gt where idx is the index of the global equation and lt name gt a string with the name of the variable Set the expression lt expr gt of the global equation with model physics lt odetag gt set equation lt idx gt lt gt where lt expr gt is defined as a string variable Initial value and initial velocity can be set with the commands model physics lt odetag gt set initialValueU lt idx gt init model physics lt odetag gt set initialValueUt lt idx gt init t where init and init t are the initial value expression for the variable and its
155. ndling Errors And Warnings 165 Errors and Warnings gt Vois so 2669 Using MATLAB Tools To Handle COMSOL v eA usur Displaying Warning and Error inthe Model 165 Improving Performance for Large Models 167 Setting Java 167 Disabling Model Feature Update 168 Disabling The Model History 168 Creating Custom GUI 170 COMSOL 3 5a Compatibility 171 Chapter 5 Calling MATLAB Function The MATLAB Function Feature Node 174 Defining MATLAB Function In The COMSOL Model 174 Adding A MATLAB Function with the COMSOL Java Syntax 178 Additional Information 179 Function Input Output Considerations 179 Updating The Functions 180 Defining Function Derivatives oat Een ee J90 Using the MATLAB Debugger Widow OS TM shes oie E Chapter 6 Command Reference Summary of Commands 184 Commands Grouped by Function 186 6 CHAPTER Introduction This guide introduces you to LiveLink for MATLAB which extends your COMSOL modeling environment with an interface between COMSOL Multiphysics and MATLAB The COMSOL Java API Reference Guide provides additional documentation of the API 8 CHAPTER 1 About LiveLink for MATLAB LiveLink for MATLAB connects COMSOL Multiphysics to the MATLAB scripting environment Using this functionality you can do the follow
156. ng Size of the solution vector for each mesh and number of timesteps parameters for each mesh Solver type Stationary Parametric Time or Eigenvalue Name of the parameter Length of the parameter list Values of the parameters eigenvalues or timesteps Parametric sweep parameter names Parametric sweep parameter values Number of solution vectors stored Number of reaction forces vectors stored 246 CHAPTER 6 COMMAND REFERENCE mphsolinfo TABLE 6 21 FIELDS IN THE INFO STRUCT FIELD CONTENT NUadj Number of adjacency vectors stored NUfsens Number of functional sensitivity vectors stored NUsens Number of forward sensitivity vectors stored You can use the function mphgetu to obtain the actual values of the solution vector Note that these functions are low level functions and you most often would use functions such as mphinterp and mpheval to extract numerical data from a model Examplee Load stress in pulley mph from the Model Library model mphload stress in pulley mph Get the information of the active solution object info mphsolinfo model Get the information of the second solution object info mphsolinfo model solname sol2 See also mphgetu mphxmeshinfo 247 mphstart 248 Purpose Syntax Description Connect MATLAB to a COMSOL server mphstart mphstart port mphstart ipaddress port mphstart ipaddress port comsolpath mphstart creates a connection with
157. nput2 set c1 geomi run difi meshi model mesh create mesh1 geom1 mapi mesh1 feature create map1 Map eg map1 feature create eg1 EdgeGroup eg1 selection set 1 eg1 selection edge1 set 1 3 egi selection edge2 set 2 eg1 selection edge3 set 8 eg1 selection edge4 set 4 2 mapi feature create eg2 EdgeGroup eg2 selection set 2 eg2 selection edge1 set 4 eg2 selection edge2 set 6 9 10 eg2 selection edge3 set 7 eg2 selection edge4 set 5 mesh1 run mphmesh model 0 02 04 06 08 1 12 14 16 18 2 Figure 3 6 Structured quadrilateral mesh right and its underlying geometry The left hand side plot in Figure 3 6 is obtained with the following command mphgeom model geomi edgelabels on 60 CHAPTER 3 BUILDING MODELS The EdgeGroup attributes specify that the four edges enclosing domain 1 are boundaries 1 and 3 boundary 2 boundary 8 and boundary 4 For domain 2 the four edges are boundary 4 boundary 5 boundary 7 and boundaries 9 10 and 6 BUILDING A MESH INCREMENTALLY You can create meshes in a step by step fashion by creating selections for the parts of the geometry that you want to mesh in each step The following example illustrates this model ModelUtil create Model geom1 model geom create geom1 2 geom1 feature create r1 Rectangle geom1 feature create c1 Circle unit geomi feature crea
158. nuous on element edges When Smooth is set to internal only elements not on interior boundaries are made continuous The property 1 is used to select the solution to plot when a parametric eigenvalue or time dependent solver has been used to solve the problem The property Outersolnum is used to select the solution to plot when a parametric sweep has been used in the study When the property Phase is used the solution vector is multiplied with exp i phase before evaluating the expression The expressions e1 en are evaluated for one or several solutions Each solution generates an additional row in the data fields of the post data output structure The property Solnum and t control which solutions are used for the evaluations The Solnum property is available when the data set has multiple solutions for example in the case of parametric eigenfrequency or time dependent solutions The t property is available only for time dependent problems If Solnum is provided the solutions indicated by the indices provided with the Solnum property are used If t is provided solutions are interpolated If neither Solnum nor t is provided all solutions are evaluated For time dependent problems the variable t can be used in the expressions ei The value of t is the interpolation time when the property t is provided and the time for the solution when Solnum is used Similarly Lambda and the parameter are available as eigenva
159. o Integer display Server on off off Plot on server Parent Double Set the parent axes Note The plot on server option requires that you start COMSOL with MATLAB in graphics mode Only one color range bar and one legend bar is supported in a MATLAB figure When the option plot on server is active all active color range bar are displayed Load feeder clamp mph from the Model Library model mphload feeder clamp mph Plot the first plot group mphplot model pg1 Plot the first plot group with the color range bar 237 mphplot 238 See also CHAPTER 6 mphplot model pg rangenum 1 Load fluid valve mph and plot on server requires that you start COMSOL with MATLAB in graphics mode model mphload fluid valve mph Plot the second plot group on server mphplot model pg2 server on Load busbar mph from the Model Library model mphload busbar mph Extract temperature and electric potential data in the busbar domain mpheval model T V selection 1 Plot the electric potential data using the disco color table mphplot pd index 2 colortable disco colortable mpheval COMMAND REFERENCE mphsave Purpose Syntax Description See also Save a COMSOL model mphsave model mphsave model filename mphsave model saves the COMSOL model object model mphsave model filename saves the COMSOL model object model to the file named file
160. o enable the progress bar or list the model object available in the COMSOL server MANAGING THE COMSOL MODEL OBJECT Use the method ModelUtil create to create a new model object in the COMSOL server model ModelUtil create Model This command creates a model object Model on the COMSOL server and a MATLAB object model that is linked to the model object It is possible to have several model objects on the COMSOL server each with a different name To access each model object you need to have different MATLAB variables linked to them each MATLAB variable having a different name Create a MATLAB variable linked to an existing model object with the method ModelUtil model For example to create a MATLAB variable model that is linked to the existing model object Model on the COMSOL server enter the command THE MODEL OBJECT 27 28 model ModelUtil model Model To remove a specific model object use the method ModelUtil remove For instance to remove the model object Model from the COMSOL server enter the command ModelUtil remove Model Alternatively remove all the COMSOL objects stored in the COMSOL server with the following command ModelUtil clear List the names of the model objects available on the COMSOL server with the command list ModelUtil tags ACTIVATING THE PROGRESS BAR While running COMSOL with MATLAB by default no progress information is displayed You can manually enable a progress bar to visu
161. odel and you would like to attached it to the specified model node mode1 enter model func lt functag gt model lt model gt 88 CHAPTER 3 BUILDING MODELS where model is the tag of the model node to attach the interpolation function You then have the possibility to interpolate data specified by a table inside the function default or specified in an external file When using an interpolation table set the interpolation data for each row of the table with the commands model func functag setIndex table t value lt i gt 1 model func functag 2 setIndex table ft value lt i gt 2 where lt t_value gt is the interpolation parameter value and t value is the function value lt i gt is the index 0 based in the interpolation table To use an external file change the source for the interpolation and specify the file model func functag set source file model func functag set filename filename In the above filename is the name with path of the data file Several interpolation methods are available Choose which one to use by the command model func functag set interp method The string met hod can be set as one of the following alternatives neighbor for interpolation according to the nearest neighbor method linear for linear interpolation method cubicspline for cubic spline interpolation method e piecewisecubic
162. odel geom create geomi 3 wpi geomi feature create wp1 WorkPlane wpi set planetype quick wp1 set quickplane xy C1 wo1 geom feature create c1 Circle 1 2 0 revi geomi feature create revi Revolve revi set angle2 60 set angle1 60 revi selection input set wp1 3 geom1 run rev1 mesh1 model mesh create mesh geom1 meshi feature create ftril FreeTri mesh1 feature ftrii1 selection geom 2 mesh1 feature ftrii selection set 2 mesh1 runCurrent swe1 meshi feature create swe1 Sweep swel selection geom 3 swel selection add 1 mesh1 run mphmesh model To obtain a torus leave the angles property unspecified the default value gives a complete revolution WORKING WITH MESHES 63 64 CHAPTER 3 Figure 3 8 3D prism mesh created with the Sweep feature EXTRUDING A MESH BY SWEEPING To generate a 3D prism mesh from the same 2D mesh by extrusion and then to plot it enter the following commands model ModelUtil create Model geomi model geom create geomi 3 wp1 geomi feature create wpi WorkPlane wp1 set planetype quick wp1 set quickplane xy 1 wo1 geom feature create c1 Circle c1 set pos 2 0 ext1 geom1 feature create ext1 Extrude ext1 selection input set wp1 geom1 runAll meshi model mesh create mesh1 ge
163. of the expression the expression as it is set in the property value the description if there is one set for the expression the type of the expression and the path in the model object In the Search section you will find a searching tool to filter the list among all the possibilities Enter any string in the edit field and select where to search this string in the name the expression or the description of the table entry You can also select the type you want to list The expression type can be any of Equation Field Tag VarNames or Weak Click Go button to display the result of the search Click Clear button to clear the search settings Use the Copy button to copy in the clip board any entry of the table Click Close button to close the mphsearch window Getting Feature Model Properties Use the command mphgetproperties to extract at the MATLAB prompt the properties of a specified node of the model object Use the command as prop mphgetproperties model feature NAVIGATING THE MODEL 163 164 where expr is a MATLAB structure that list all the properties and their value of the feature node model feature Getting Model Expressions Use the command mphgetexpressions to get at the MATLAB prompt the expressions and the descriptions of a specified node of the model object Use the command as expr mphgetexpressions model feature where model feature is the node to get the expressions from and expr is a
164. olver node associated to the assembly If you do not specify the linearization point when calling mphmatrix COMSOL automatically runs the entire solver configuration before assembling and extracting the matrices You can save time during the evaluation by setting manually the linearization point Use the initmethod property as in the command below str mphmatrix model lt soltag gt out out initmethod method where method corresponds to the type of linearization point the initial value expression init ora solution sol You can set which solution to use for the linearization point with the property initsol str mphmatrix model lt soltag gt out out initsol initsoltag where lt initsoltag gt is the solver tag to use for linearization point You can also set the initsol property to zero which correspond to use a null solution vector as linearization point The default consists in the current solver node where the assemble node is associated For continuation time dependent or eigenvalue analysis you can set which solution number to use as linearization point Use the solnum property as indicated below str mphmatrix model lt soltag gt out out solnum solnum where lt solnum gt is an integer value corresponding to the solution number The default value consist in the last solution number available with the current solver configuration 144 CHAPTER 4 WORKING WITH MO
165. omi ftri1 meshi feature create ftriit FreeTri ftril selection geom geomi 2 ftril selection set 3 0151 mesh feature create dis1 Distribution dis1 selection set 1 dis1 set type predefined BUILDING MODELS disi set elemcount 20 disi set elemratio 100 swe1 meshi feature create swe1 Sweep swe1 selection sourceface geom geom1 2 swe1 selection targetface geom geom1 2 mesh1 run mphmesh model The result is shown in Figure 3 9 With the properties elemcount and elemratio you control the number and distribution of mesh element layers in the extruded direction Distribution in the COMSOL Java API Reference Guide See Also Figure 3 9 Extruded 3D prism mesh WORKING WITH MESHES 65 COMBINING UNSTRUCTURED AND STRUCTURED MESHES Swept meshing can also be combined with free meshing by specifying selections for the meshing operations In this case start by free meshing domain 2 then sweep the resulting surface mesh through domain 1 model ModelUtil create Model geomi model geom create geomi 3 1 geom1 feature create cone1 Cone cone1 set r 0 3 cone1 set h 1 cone1 set ang 9 cone1 set pos 0 0 5 0 5 conei set axis 1 0 0 geom1 feature create blk1 Block meshi model mesh create mesh1 geom1 ftet1 meshi feature create fteti FreeTet ftet1 selection
166. oop is not automatically saved Make sure to save the model at each iteration Use the command mphsave to save your model object If you are not interested in saving the entire El model object at each iteration you can extract data and store it in the e MATLAB workspace See Extracting Results to find the most suitable function to your model When running loops in MATLAB the iteration progress is entirely taking care by MATLAB only the COMSOL commands are executed in the COMSOL server You can generate as many nested loops your modeling requires and combine the loop with other MATLAB conditional statement such as if and switch or error handling statement such as try catch Break the loop with break or jump to the next loop iteration with continue Refer to MATLAB help to get more information about the MATLAB commands for while if switch try catch break and continue EXAMPLE GEOMETRY PARAMETRIZATION In this example you will see how to proceed to geometry parametrization using a MATLAB for loop The model consists in the busbar example available in the COMSOL Multiphysics model see the Introduction to COMSOL Multiphysics In this example the loop iterate over the busbar width wbb The solution for each parameter value is displayed using the second plot group defined in the COMSOL model All the results are plotted in the same figure model mphload busbar w 5e 2 10e 2 15e 2 20e 2 for i 1 4 model param set
167. operty list str mphstate model soltag Out SP1 SP2 returns a MATLAB structure str containing the state space matrices SP1 SP2 assembled using the solver node soltag and accessible as str SP1and str SP2 SP1 and SP2 being taken from the Out property list The function mphstate accepts the following property value pairs TABLE 6 22 PROPERTY VALUE FOR THE MPHSTATE COMMAND PROPERTY VALUE DEFAULT DESCRIPTION Out MA MB A B Output matrix D Mc Null ud Keepfeature off on off Keep the state space feature in the model Input String Input variables Output String Output variables Sparse off on off Return sparse matrices Initmethod init sol Use linearization point Initsol solname zero solname Solution to use for linearization Solmum Positive integer auto Solution number The property Sparse controls whether the matrices B C D M MA MB and Null are stored in the sparse format The equations correspond to the system below McAx McBu y Cx Du where x are the state variables u are the input variables and y are the output variables 249 mphstate 250 Example static linearized model of the system can be described by y D C McAy 1McB u The full solution vector U can be then obtained from U Nullx ud u0 where Null is the null space matrix ud the constraint contribution and u0 is the linearization point which is the solution stored in the
168. or linearization point You can also set the initsol property to zero which correspond to use a null solution vector as linearization point The default consists in the current solver node where the assemble node is associated For continuation time dependent or eigenvalue analysis you can set which solution number to use as linearization point Use the solnum property as indicated below str mphstate model lt soltag gt input input output output Out out solnum lt solnum gt CHAPTER 4 WORKING WITH MODELS where so1num isan integer value corresponding to the solution number The default value consist in the last solution number available with the current solver configuration EXAMPLE To illustrate how to use the mphstate function to extract the state space matrices of the model heat transient axi from the COMSOL Multiphysics Model Library To be able to extract the state space matrices you will need to do some modification of existing model First of all create a parameter TO that is set as external temperature model mphload heat transient axi model param set Tinput 1000 degC model physics ht feature temp1 set TO 1 Tinput Then you need to create a domain point probe pdomi model probe create pdomi DomainPoint pdom1 model mod1 pdomi setIndex coords2 0 28 0 0 pdomi setIndex coords2 0 38 0 1 You can now extract the matrices of the state sp
169. orials Knowledge Base www comsol com support knowledgebase Part No CM020008 Contents Contents 3 Chapter Introduction About LiveLink for MATLAB Help and Documentation Getting Help Where Do Access the Documentation and the Model Library Typographical Conventions Chapter 2 Getting Started The Client Server Architecture Running COMSOL with MATLAB Starting COMSOL with MATLAB on Windows Mac OSX Linux Connecting the COMSOL Server and MATLAB Manually Changing the MATLAB Version Calling a MATLAB Function From the COMSOL Desktop Chapter 3 Building Models The Model Object Important Notes About the Model Object The Model Object Methods The General Utility Functionality Loading and Saving a Model Exchanging Models Between MATLAB and the COMSOL Desktop Working with Geometry The Geometry Sequence Syntax Displaying the Geometry 10 10 M 13 19 19 20 2l 23 26 26 26 27 28 29 32 32 33 4 CHAPTER Working with Geometry Sequences Exchanging Geometries with the COMSOL Dodo Importing and Exporting Geometries and CAD Models from File Retrieving Geometry Information Modeling with a Parameterized Geometry Images and Interpolation Data Working with Meshes The Meshing Sequence Syntax Displaying the Mesh Mesh Creation Functions Importing External Meshes Mesh i beds Measuring M
170. ot belong to the specified domain selection the output value is NaN solnum specify the inner solution number for data evaluation Inner solutions are generated for the following analysis type time domain frequency domain eigenvalue or stationary with continuation parameters data mphmean model lt expr gt edim solnum lt solnum gt where lt solnum gt is an integer array corresponding to the inner solution index You can also set the property solnumto end to evaluate the expression for the last inner solution By default the evaluation is done using the last inner solution outersolnum specify the outer solution number for data evaluation Outer solutions are generated with parametric sweep data mphmean model expr edim outersolnum outersolnum where outersolnum is a positive integer array corresponding to the outer solution index The default settings uses the first outer solution for the data evaluation To evaluate the expression data at a specific time use the property t data mphmean model xexpr edim t time where time is a double array The default value correspond to all the stored time step OUTPUT FORMAT The function mphmean also supports other output format To extract the unit of the evaluated expression you need to define an extra output variable data unit mphmean model lt expr gt edim with unit is a 1xN cell array where N is the number of expression
171. ou retrieve the element information such as the node indices using a 0 based connected to the elements tri meshdata elem 2 tri Columns 1 through 5 0 3 1 1 6 78 CHAPTER 3 BUILDING MODELS 1 0 4 5 3 2 2 2 4 2 Columns 6 through 10 6 7 6 5 9 2 3 4 9 8 4 6 8 4 4 Columns 11 through 14 10 10 9 11 7 6 11 10 6 8 8 8 In the above command you can see that element number 1 is connected with nodes 1 2 and 3 element number 2 is connected with nodes 4 1 and 3 Now create manually a mesh using a data distribution generated in MATLAB by entering the command below meshgrid O 0 5 1 0 0 5 1 X reshape X 1 9 Y reshape Y 1 9 coord X Y The node distribution obtain with the above command correspond to the mesh in the figure Figure 3 18 3 0 1 10 02 04 4 06 0 8 17 Figure 3 18 Mesh with elements bold and nodes italic indices WORKING WITH MESHES 79 80 CHAPTER 3 In Table 3 1 you can see the nodes and element connectivity in the mesh TABLE 3 1 ELEMENT AND NODES CONNECTIVITY ELEMENT NODES 1 4 5 2 1 2 5 3 2 5 6 4 2 3 6 5 4 7 8 6 4 5 8 7 5 8 9 8 5 6 9 Now create the elements and nodes connectivity information with the command below new_tri new_tri new_tri new_tri new_tri new_tri new_tri new_tri ARH HA Ass
172. ource applied to the bottom circle is also defined by the user The button execute the building operation ofthe geometry and mesh Another button execute the computation of the solution CHAPTER 4 WORKING WITH MODELS COMSOL 3 5a Compatibility COMSOL makes a effort to be backward compatible you can load model MPH files created in COMSOL Multiphysics 3 5a and later versions in COMSOL Multiphysics 4 3 When going from version 3 5a to version 4 a major revision was made to the MATLAB interface This revision was made to reflect changes made to the new user interface and to support parameterized geometry operations As a result a new MATLAB interface syntax is used in today s version 4 of COMSOL Multiphysics and its add on product LiveLink for MATLAB In order to assist in the conversion process a special compatibility mode was created to facilitate the new syntax This compatibility mode together with LiveLink for MATLAB function mphv4 is no longer supported in COMSOL Multiphysics 4 3 If you wish to convert a model defined with an M file created with version 3 5a to the version 4 3 format we recommend the following procedure Run the M file using COMSOL Multiphysics 3 5a and save the model using flsave as an MPH file 2 Load the model into COMSOL Multiphysics 4 3 and verify that the model settings have been translated correctly In addition verify that the model can be meshed and solved 3 Select File gt Reset history
173. parameter Set the lt idx gt to 0 to define the first parameter 1 to define the second parameter and so on Set the list of the parameter value with the command model study studytag feature ftag setIndex plistarr pvalue idx where pvalue contains the list of parameter values defined with either a string or with a double array idx the index number of the parameter use the same value as for the parameter name If you have several parameters listed in the parametric sweep node you can select the type of the sweep all combinations or specified combinations of parameter values Do this with the command model study studytag feature ftag set sweeptype type BUILDING MODELS where the sweep type type can be either filled or sparse respectively The Batch Node Create a batch node to run automatically several jobs in a sequence model batch create batchtag type where type is the type of job to define It can be either Parametric Batch or Cluster Attach the batch mode to an existing study node defined in the model model batch lt batchtag gt atached lt studytag gt where lt studytag gt is the tag of the study node Set property to the batch job with the command model batch lt batchtag gt set property lt value gt You can get the list of the properties in model batch in the COMSOL See Also Java API Reference Guide Run the batc
174. parameters pd mpheval model lt expr gt solnum lt solnum gt where lt solnum gt is an integer array corresponding to the inner solution index lt solnum gt can also be end to evaluate the expression for the last inner solution By default the evaluation is done using the last inner solution outersolnun specify the outer solution number for data evaluation Outer solutions are generated with parametric sweep mpheval model lt expr gt outersolnum outersolnum where outersolnum is a positive integer corresponding to the outer solution index The default settings uses the first outer solution for the data evaluation To evaluate the expression data at a specific time use the property t pd mpheval model lt expr gt t lt time gt where time is a double array The default value correspond to all the stored time step phase specify the phase in degrees mpheval model lt expr gt phase lt phase gt where phase is a double value pattern use Gauss point evaluation pd mpheval model lt expr gt pattern gauss The default evaluation is performed on the Lagrange points OUTPUT FORMAT The function mpheval returns in the MATLAB workspace a structure You can specify other output data format CHAPTER 4 WORKING WITH MODELS To obtain only the data evaluation as a double array you can set the property dataonly to on pd mpheval model lt expr gt dat
175. presenting a simplex The field ve contains indices to mesh elements for each node point The field unit contains the list of the unit for each expression The function mpheval accepts the following property value pairs TABLE 6 1 PROPERTY VALUE PAIRS FOR THE MPHEVAL COMMAND PROPERTY PROPERTY DEFAULT DESCRIPTION VALUE Complexfun off on on Use complex valued functions with real input Complexout off on off Return complex values Dataonly off on off Only return expressions value Dataset String Data set tag Edim point Geometry Evaluate on elements with this edge space space dimension boundary dimension domain O 111213 Matherr off on off Error for undefined operations or expressions Outersolnum Positive 1 Solution number for parametric integer sweep 192 CHAPTER 6 COMMAND REFERENCE mpheval TABLE 6 1 PROPERTY VALUE PAIRS FOR THE MPHEVAL COMMAND PROPERTY PROPERTY DEFAULT DESCRIPTION VALUE Pattern lagrange lagrange Specifies if evaluation takes place in gauss Lagrange points or in Gauss points Phase Scalar 0 Phase angle in degrees Recover off ppr off Accurate derivative recovery pprint Refine Integer 1 Refinement of elements for evaluation points Selection Integer All Set selection tag or entity number vector domains string all Smooth Internal internal Smoothing setting none everywhere Solnum Integer all Solutions for evaluation vector all end t Double Tim
176. quadrilateral mesh on a unit circle enter model ModelUtil create Model geom1 model geom create geom1 2 geom1 feature create c1 Circle meshi model mesh create mesh1 geom1 meshi feature create ftril FreeQuad mesh1 run mphmesh model 58 CHAPTER 3 BUILDING MODELS 0 8 06 0 4 0 2 0 2 0 4 0 6 0 8 Figure 3 5 Free quad mesh CREATING STRUCTURED MESHES To create a structured quadrilateral mesh in 2D use the Map operation This operation uses a mapping technique to create the quadrilateral mesh in the COMSOL Java Reference Guide See Also Use the EdgeGroup attribute to group the edges boundaries into four edge groups one for each edge ofthe logical mesh Using the Distribution attribute you can also control the edge element distribution which determines the overall mesh density Example Creating a Structured Quadrilateral Mesh Create a structured quadrilateral mesh on a geometry where the domains are bounded by more than four edges model ModelUtil create Model geomi model geom create geomi 2 geom1 feature create r1 Rectangle r2 geom1 feature create r2 Rectangle WORKING WITH MESHES 59 r2 set pos 1 0 c1 geom1 feature create c1 Circle c1 set r 0 5 c1 set pos 1 1 0 1 dif1 geomi feature create dif1 Difference difi selection input set r1 r2 dif1 selection i
177. ral elements in 3D For additional properties supported see Convert in the COMSOL Java See Also API Reference Guide CHAPTER 3 The example below demonstrates how to convert a quad mesh into a triangle mesh model ModelUtil create Model geomi model geom create geomi 2 geom1 feature create c1 Circle geom1 feature create r1 Rectangle inti geom1 feature create int1 Intersection BUILDING MODELS int1 selection input object geom1 inti selection input set c 1 meshi model mesh create meshi geom1 mesh1 feature create fqi FreeQuad mesh1 runCurrent meshi feature create convi Convert mesh1 run mphmesh mode1 The result is illustrated in the Figure 3 15 Figure 3 15 Mesh using free quad elements left and converted mesh from quad to triangle right Importing External Meshes and Mesh Objects It is possible to import meshes to COMSOL Multiphysics using the following formats COMSOL Multiphysics text files extension mphtxt COMSOL Multiphysics binary files extension mphbin NASTRAN files extension nas or bdf For a description of the text file format see the COMSOL Multiphysics Reference Guide IMPORTING MESHES TO THE COMMAND LINE To import a mesh stored in a supported format use the Import feature The following commands import and plot a NASTRAN mesh for a crankshaft model ModelUtil create Mo
178. ration You can disable the history recording to keep the model history information low To disable the model history type the command model hist enable CHAPTER 4 WORKING WITH MODELS When the model history is disabled you will no longer see the commands use to set up the model when saving it as a M file If you load the model object with the function mphload it automatically disable the model history To activate the model history enter the command model hist disable IMPROVING PERFORMANCE FOR LARGE MODELS 169 170 Creating Custom GUI You can use the MATLAB guide functionality to create a GUI and connect the interface to a COMSOL model object Each operation at the GUI set the value of a MATLAB variable or call a MATLAB command As described in this manual you can call command at the MATLAB prompt to set up a COMSOL model object or set MATLAB variable in the COMSOL model object The figure below illustrates GUI made in MATLAB linked to COSMOL model object El heatgui elaks Geomet Eu Surface Temperature Radius 0 025 Position 02 0 18 0 16 Geom plot L Jj 1G Mesh Mesh plot Physics Heat source 5 0 0 05 0 1 0 15 0 2 Solve 0 The simplified GUI only allow the user to compute a heat transfer problem on a given geometry The user can only change the radius and the position of the bottom circle geometry The heat s
179. ray 1 0 0 Color for selected edges Edgelabels on off off Show edge labels Edgelabelscolor Char RGB g Color for edge labels array Edgemode on off on Show edges Entity Domain Set the selected entity boundary type edge point Facealpha Double 1 Set transparency value Facecolor RGB array 0 6 0 6 0 6 Color for face Facecolorselected RGB array 1 0 0 Color for selected face Facelabels on off off Show face labels Facelabelscolor Char RGB b Color for face labels array Facemode on off on Show faces Geommode on off on Show entire geometry Marker Vertex marker Markercolor Char RGB b Color for vertex array marker Markercolorselected Char RGB r Color for selected array vertex marker 253 mphviewselection 254 CHAPTER 6 TABLE 6 23 PROPERTY VALUE PAIRS FOR THE MPHVIEWSELECTION FUNCTION facealpha 0 5 edgecolorselected O 1 facecolorselected O 1 0 PROPERTY VALUE DEFAULT DESCRIPTION Markersize Int 12 Font size of marker Parent Double Parent axis Renderer Opengl opengl Set the rendering zbuffer method Selection String Set selection name or Positive entity number integer array Selectoralpha Double 0 25 Set selector transparency value Selectorcolor RGB array 0 0 1 Color for selected marker Showselector on off on Show Selector Vertexlabels on off off Show vertex labels Vertexlabelscolor Char RGB r Color for vertex array labels Vertexmode on off off
180. re respectively info model physics lt phystag gt feature lt ftag gt featureInfo info Use the method getInfoTable type to return the tables available in the Equation view node infoTable info getInfoTable type where t ype defines the type of table to return It can have the value Weak to return the weak form equations Constraint to return the constraint types table Expression to return the variable expressions table MODELING PHYSICS 85 86 CHAPTER 3 EXAMPLE ACCESS AND MODIFY THE EQUATION WEAK FORM Continue with the section Example Implement and Solve a Heat Transfer Problem to modify the model equation To retrieve information about the physics interface create an info object info model physics ht feature solid featureInfo info From the info object you can now access the weak form equation infoTable info getInfoTable Weak This returns a string variable that contains both the name of the weak equation variable and the equation of the physics implemented in the weak form Enter the command list infoTable which result in the following output list java lang String 1x159 char root mod1 ht solid1 weak 1 Material Domain 1 The output provided above shows that the physics is defined with the weak expression available in the variable list 1 enter list 1 To get the weak equation as a string variable The result of the above comma
181. re nodes When a feature node is selected its associated command is listed just beneath the model tree Click the Copy button to copy syntax in the clip board you can then paste it in your script You can notice that the Model Tree list slightly differs to the Model Builder list available in the COMSOL Desktop This is because mphnavigator display all feature nodes and do not use the same filter as in the COMSOL Desktop to order the available feature node CHAPTER 4 WORKING WITH MODELS THE PROPERTIES SECTION Properties ES Property Value 1 adjface selection 2 ange 0 EF 3 createselection off 4 ledge selection 5 face selection E 6 genpoints 0 0 0 1 0 0 0 1 0 7 offset 0 8 jorigin facecenter 9 planetype quick 10 quickplane xz 11 quickx 0 12 jquicky 0 Copy Table In the Properties section you will find all the properties ofa selected feature node their associated value Click Copy Table button to copy the entire properties table in the clip board which can the be paste in text or spreadsheet editor Click Copy button to copy a selected cell in the properties table THE METHODS SECTION VENE Value Li ETT ces 3 2 author COMSOL 3l 3 jautoRebuid on 3 4 checko 1 5 comments 6 currento fin 7 dateCreated Sep 23 2011 3 36 53 PM 8 dateModifiedO Sep 23 20
182. rom the x gt 0 6 operation and another assignment to the indices where x lt 0 6 All in all the function could look like this function c func2 x x 1 6 x gt 0 6 x 2 0 3 x 0 6 Updating The Functions If you have modified the function M file using a text editor click Clear Functions button to ensure the functions modifications to be updated in the COMSOL model v Functions Clear Functions Clear functions automatically before solving An alternative is to select Clear functions automatically before solving Defining Function Derivatives Automatic differentiation cannot be operated with MATLAB function In case the MATLAB function has Jacobian contribution you need to define its derivative with respect to the function input arguments By default COMSOL assumes the derivatives to be null You can expand the Derivatives section to define the derivatives of the function with respect to the function arguments In the table define the derivative for each of the function arguments In the Function column enter the function name in the Argument column enter the argument with respect to which you will define the function derivatives Finally in the Function derivative column enter the function derivative expression Note that the function derivative expression can also be defined by another external MATLAB function CALLING MATLAB FUNCTION For example using the Hankel function describe i
183. rrespond to all the stored time step EXTRACTING RESULTS 123 124 phase specify the phase in degrees data mphinterp model expr coord coord phase phase where phase is a double value OUTPUT FORMAT The function mphinterp returns in the MATLAB workspace a double array It also supports other output format To evaluate several expressions at once make sure that you have defined as many output variables as there are expressions specified d1 dn mphinterp model e21 en J coord coord To extract the unit of the evaluated expression you need to defined an extra output variable data unit mphinterp model lt expr gt coord lt coord gt with unit is a 1xN cell array where N is the number of expression to evaluate Include the imaginary part in the data evaluation with the property complexout data mphinterp model lt expr gt lt gt 1 To return an error if the all evaluation points outside the geometry set the property coorderr to on data mphinterp model lt expr gt coord lt coord gt coorderr on By default the function return the value NaN SPECIFY THE EVALUATION QUALITY With the property recover you can specify the accurate derivative recovery data mphinterp model lt expr gt coord lt coord gt recover recover where recoveris either ppr pprint or off
184. ry model mphload busbar Navigate the model object that is accessible with the variable model mphnavigator 235 mphnavigator Load effective diffusivity mph from the Model Library and set the model object with the variable eff diff eff diff mphload effective diffusivity Navigate the model object that is accessible with the variable eff diff mphnavigator eff diff See also mphgetexpressions mphgetproperties mphgetselection mphmodel mphsearch 236 CHAPTER 6 COMMAND REFERENCE mphplot Purpose Syntax Description Example Render a plot group in a figure window mphplot model pgtag pd mphplot model pgtag mphplot pd mphplot model pgtag renders the plot group tagged pgtag from the model object model in a figure window in MATLAB pd mphplot model pgtag also returns the plot data used in the MATLAB figure in a cell array pd mphplot pd makes a plot using the post data structure pd that is generated using the function mpheval Plots involving points lines and surfaces are supported The function mphplot accepts the following property value pairs TABLE 6 17 PROPERTY VALUE PAIRS FOR THE MPHPLOT COMMAND PROPERTY VALUE DEFAULT DESCRIPTION Colortable String Rainbow Color table used for plotting post data structure Index Positive 1 Index of variable to use plotting integer post data structure Rangenum Positive none Color range bar or legend t
185. s mphbin files 42 mphtxt files 42 fluid flow 67 free quad mesh 58 function inputs outputs 179 GDS format 42 geometries ID 34 2D 35 3D 39 exchanging with the COMSOL Desk top 41 parameterized 44 geometry sequences 32 getType methods 237 importing meshes 73 Internet resources 11 Java 26 knowledge base COMSOL 13 mass matrix 146 materials 84 mesh advancing front 57 converting 72 copying 70 creating a quad mesh 58 creating boundary layers 67 Delaunay 57 getting information about 76 importing 73 refining 69 mesh resolution 54 meshing sequences 52 Model Builder 26 Model Library 12 model object 26 INDEX 259 260 INDEX modifying equations 85 MPH files 12 NASTRAN files 73 NASTRAN mesh 73 native file formats 42 node point coordinates 119 no slip boundary condition 67 parameterized geometries 44 physics interfaces 81 plot groups syntax for 103 rectangle 36 refining meshes 69 reports 108 results analysis 103 results evaluation 108 sequences of operations 26 set operations 36 simplex elements 69 solver configurations syntax for 99 sparsity of matrix 222 state space matrices example of extracting 149 structured meshes 59 study syntax for 98 summary of commands 184 sweeping to revolve meshes 63 syntax for materials 84 for physics interfaces 81 technical support COMSOL 12 trimming solids 37 typographical conventions 13 user community COMSOL 13 visualization
186. s for example in the case of parametric eigenfrequency or time dependent solutions The t property is COMMAND REFERENCE mphmax Example See also available only for time dependent problems If Solnum is provided the solutions indicated by the indices provided with the Solnum property are used If t is provided solutions are interpolated If neither Solnum nor t is provided all solutions are evaluated Solnum is used to select the solution number when a parametric eigenvalue or time dependent solver has been used Outersolnum is used to select the outer solution number when a parametric sweep has been used in the study step node If the Matrix property is set to of f the output will be cell arrays of length P containing cell arrays of length M Load micromixer mph from the Model Library model mphload micromixer mph Find the maximum x velocity u at the outlet boundary and get its unit flow unit mphmax model u surface selection 136 Load heat transfer axi mph from the Model Library model mphload heat transient axi mph Find the max normal heat flux along the external boundaries Q mphmax model ht ndflux line selection 2 3 4 mphmean mphmin 225 mphmean 226 CHAPTER 6 Purpose Syntax Description Perform mean of expressions V1 vn mphmean model e1 en edim v1 vn unit mphmean model e1 en edim V1 vn
187. s or tags in the model object see also the section Finding Model Expressions for more information Solutions starts a GUI to display the solution object available in the COMSOL model object Show Errors lists the error or warning node available in the model object see the section Handling Errors And Warnings for more information the Settings menu only contains the Advanced options Click on it to select or deselect the advanced model object methods that are displayed in the Model Viewer tree the Help menu NAVIGATING THE MODEL 159 160 THE SHORTCUT ICON Just under the menu bar you will find two shortcut icon the Plot icon and the Help icon File Tools Settings Help aa These icon are grayed if you have not selected any method in the Model Tree section The Plot icon displays the geometry the mesh or a plot group in a MATLAB figure The Help icon displays the page of the COMSOL Java API Reference Guide of the corresponding method in your default web browser THE MODEL TREE SECTION r Model Tree Work Plane 1 COMSOL Model l batch H coordSystem o8 cpl H frame ll func zl geom geomi 29 gu 2 fil model geom geom1 feature wp1 Copy m In the Model Tree section you will find the list of the nodes of the model object Use the scroll bar at the right side to scroll down the list and click on the icon to expand the model object featu
188. sbar_lsw_Ilmatiab you can see perform geometry optimization using COMSOL MATLAB and SolidWorks Do not forget to check the ones listed below to get you up to speed with modeling Access the on line documentation with the function mphdoc Read this user guide to get detailed information about the different parts of the model object and how these are accessed from MATLAB The Command Reference chapter describes the function available for use with LiveLink for MATLAB The COMSOL Java API Reference Guide contains reference documentation that describes the methods in the model object Where Do I Access the Documentation and the Model Library number of Internet resources provide more information about COMSOL Multiphysics including licensing and technical information The electronic documentation Dynamic Help and the Model Library are all accessed through the COMSOL Desktop If you are reading the documentation as a PDF file on your computer the blue links do not work to open a model or content referenced in a different user s guide However if you are using the online help in Important COMSOL Multiphysics these links work to other modules model examples and documentation sets THE DOCUMENTATION The COMSOL Multiphysics User s Guide and COMSOL Multiphysics Reference Guide describe all interfaces and functionality included with the basic COMSOL Multiphysics license These guides also have instructions about how
189. scaling factor between the boundaries is allowed The following example demonstrates how to copy a mesh between two boundaries in 3D and then create a swept mesh on the domain model ModelUtil create Model geom1 model geom create geomi 3 wp1 geomi feature create wp1 WorkPlane wp1 set planetype quick wpl set quickplane xy 1 wpi geom feature create c Circle cl set r 0 5 c1 set pos 1 0 revi geomi feature create revi Revolve revi set angle1 O set angle2 180 revi selection input set wp1 geomi run wp1 mesh1 model mesh create meshi geomi size1 mesh1 feature create size1 Size sizel selection geom geomi 1 sizel selection set 18 sizel set hmax 0 06 ftril mesh feature create ftril FreeTri ftril selection geom geomi 2 ftril selection set 10 cpf1 mesh1 feature create cpf1 CopyFace cpf1 selection source geom geom1 2 cpf1 selection destination geom geom1 2 cpf1 selection source set 10 cpf1 selection destination set 1 swi meshi feature create swi Sweep sw1 selection sourceface geom geomi 2 sw1 selection targetface geom geomi 2 mesh1 run mphmesh model The algorithm automatically determines how to orient the source mesh on the target boundary and the result is shown in Figure 3 13 70 CHAPTER 3 BUILDING MODELS Fi
190. se in the evaluation data mphevalpoint model lt expr gt dataset lt dsettag gt lt dsettag gt is the tag of a solution data set The default value consist in the current solution data set of the model selection specify the domain selection for evaluation data mphevalpoint model lt expr gt selection lt seltag gt where lt seltag gt is the tag of a selection node to use for the data evaluation lt seltag gt can also be a positive integer array that corresponds to the domain index list The default selection consists in all domains where the expression is defined If the evaluation point does not belong to the specified domain selection the output value is NaN solnum specify the inner solution number for data evaluation Inner solutions are generated for the following analysis type time domain frequency domain eigenvalue or stationary with continuation parameters EXTRACTING RESULTS 125 126 data mphevalpoint model lt expr gt solnum lt solnum gt 5 where lt solnum gt is an integer array corresponding to the inner solution index lt solnum gt can also be end to evaluate the expression for the last inner solution By default the evaluation is done using the last inner solution outersolnum specify the outer solution number for data evaluation Outer solutions are generated with parametric sweep data mphevalpoint model lt expr gt outersolnum lt outersolnum gt
191. set lt dsettag gt where lt dsettag gt is a selection data set tag defined in the model for example Cut point Cut Plane Revolve and so forth SPECIFY THE EVALUATION DATA The function mphinterp supports the following properties to set the data of the evaluation to perform dataset specify the solution data set to use in the evaluation data mphinterp model lt expr gt coord lt coord gt dataset lt dsettag gt lt dsettag gt is the tag of a solution data set The default value consist in the current solution data set of the model selection specify the domain selection for evaluation CHAPTER 4 WORKING WITH MODELS data mphinterp model lt expr gt coord lt coord gt selection lt seltag gt where lt seltag gt is the tag of a selection node to use for the data evaluation lt seltag gt can also be a positive integer array that corresponds to the domain index list The default selection consists in all domains where the expression is defined If the evaluation point does not belong to the specified domain selection the output value is NaN edim specify the element dimension for evaluation data mphinterp model lt expr gt coord lt coord gt edim edim where edimis either a string or a positive integer such as point 0 edge 1 boundary 2 or domain 3 The default settings correspond to the model geometry space dimension When using a lower space dimens
192. solnum to end to evaluate the expression for the last inner solution By default the evaluation is done using the last inner solution outersolnum specify the outer solution number for data evaluation Outer solutions are generated with parametric sweep data mphglobal model lt expr gt outersolnum lt outersolnum gt where outersolnum is a positive integer corresponding to the outer solution index The default settings uses the first outer solution for the data evaluation To evaluate the expression data at a specific time use the property t data mphglobal model lt expr gt t lt time gt where time is a double array The default value correspond to all the stored time step phase specify the phase in degrees data mphglobal model lt expr gt phase lt phase gt where lt phase gt is a double value OUTPUT FORMAT The function mphglobal also supports other output format To extract the unit of the evaluated expression you need to define an extra output variable data unit mphglobal model lt expr gt with unit is a 1xN cell array where N is the number of expression to evaluate Include the imaginary part in the data evaluation with the property complexout data mphglobal model lt expr gt complexout on OTHERS EVALUATION PROPERTY Set the unit property to specify the unit of the evaluation data mphglobal model lt expr gt unit lt unit gt where lt
193. solution vector U for the default solution data set U Udot mphgetu model returns in addition Udot which is the time derivative of the solution vector This syntax is available for a time dependent solution only For a time dependent and parametric analysis type the last solution is returned by default For an eigenvalue analysis type the first solution number is returned by default The function mphgetu accepts the following property value pairs TABLE 6 5 PROPERTY VALUE PAIRS FOR THE MPHGETU COMMAND PROPERTY VALUE DEFAULT DESCRIPTION Solname String Auto Solver node tag Solnum Positive integer Auto Solution for evaluation vector Type String Sol Solution type Matrix off on on Store as matrix if possible The Solname property set the solution data set to use associated with the defined solver node Type is used to select the solution type This is So1 by default The valid types are Sol main solution Reacf reaction force Adj adjoint solution Fsens functional sensitivity and Sens forward sensitivity If Solnum is a vector and the result has been obtained with the same mesh then the solution will be stored a matrix if the Matrix option is set to on Load falling sand mph from the Model Library model mphload falling sand mph Get the solution vector for the last time step default solution number mphgetu model Get the solution vector and its derivativ
194. ssions model param mphnavigator mphmodel CHAPTER 6 COMMAND REFERENCE mphgetproperties Purpose Syntax Description Example See also Get the properties from a model node mphproperties modelnode mphproperties modelnode returns properties that are defined for the node modelnode Load busbar mph from the Model Library model mphload busbar Get the properties of the node model result pgl1 prop mphgetproperties model result pg mphnavigator 205 mphgetselection Purpose Syntax Description Example See also Get information about a selection node info mphgetselection selnode info mphgetselection selnode returns the selection data of the selection node selnode The output info is a MATLAB structure defined with the following fields dimension the space dimension of the geometry entity selected geom the geometry tag entities the indexes of the selected entities isGlobal a Boolean expression that indicates if the selection is global Load busbar mph from the Model Library model mphload busbar mph Get the information of the selection node model selection seli info mphgetselection model selection sel mphnavigator 206 CHAPTER 6 COMMAND REFERENCE mphgetu Purpose Syntax Description Example Return solution vector mphgetu model U Udot mphgetu model U mphgetu model returns the
195. t gt matrix off Evaluating an Expression Average Use the function mphmean to evaluate the average of a given expression over inner solution list To evaluate the mean of the COMSOL expressions e1 en you can use the command mphmean as below d1 dn mphmean model e1 en edim where edim is a string to define the element entity dimension volume surface or line edim can also be set as positive integer value 3 2 or 1 respectively The output variables d1 dn are NxP array where N is the number of inner solution and P the number of outer solution SPECIFY THE EVALUATION DATA The function mphmean supports the following properties to set the data of the evaluation to perform dataset specify the solution data set to use in the evaluation data mphmean model lt expr gt edim dataset lt dsettag gt lt dsettag gt is the tag of a solution data set The default value consist in the current solution data set of the model selection specify the domain selection for evaluation EXTRACTING RESULTS 133 134 data mphmean model expr edim selection seltag where lt seltag gt is the tag of a selection node to use for the data evaluation seltag can also be a positive integer array that corresponds to the domain index list The default selection consists in all domains where the expression is defined If the evaluation point does n
196. t is the tag of geometry node lt idx gt is a positive integer array that contains the entity indices The string entitytype can be one of point edge boundary or domain If your model contains a selection node with the tag lt seltag gt you can display it with the command mphviewselection model geomtag lt seltag gt Ifthe selection node is a Ball or Box selection you can also display the ball or box used in the selection mphviewselection model lt geomtag gt seltag showselector on CREATING SELECTIONS 97 98 The Study Node This section describes how to set up and run a study The study contains basic solver settings COMSOL uses the physics interfaces and the study to automatically determine solver settings The Solution Syntax Run RunAll RunFrom Adding a Parametric Sweep The Batch Node Plot While Solving Solvers and Study Types in the COMSOL Multiphysics User s Guide Solver in the COMSOL Java API Reference Guide G See Also The links to features described outside of this user guide do not work in the PDF only from within the online help Important CHAPTER 3 The Study Syntax Create a study by using the syntax model study create lt studytag gt where studytag is a string that you use define to the study sequence To add a study step to a study use the syntax model study studytag feature create ftag operation where
197. tag of a solution data set The default value consist in the current solution data set of the model Selection data set such as Cut point Cut line Edge Surface etc are not supported selection specify the domain selection for evaluation pd mpheval model lt expr gt selection lt seltag gt where lt seltag gt is the tag of a selection node to use for the data evaluation seltag can also be a positive integer array that corresponds to the domain index list The default selection consists in all domains where the expression is defined If the evaluation point does not belong to the specified domain selection the output value is NaN edim specify the element dimension for evaluation pd mpheval model lt expr gt edim edim where edimis either a string or a positive integer such as point 0 edge 1 boundary 2 or domain 3 The default settings correspond to the model EXTRACTING RESULTS 119 120 geometry space dimension When using a lower space dimension value make sure that the evaluation point coordinates dimension has the same size EI Use the function mphevalpoint to evaluate expressions at geometric points see Evaluating an Expression at Geometry Vertices Note solnum specify the inner solution number for data evaluation Inner solutions are generated for the following analysis type time domain frequency domain eigenvalue or stationary with continuation
198. te uni Union uni1 selection input object geom1 unit selection input set c1 1 geom1 runCurrent deli geom1 feature create deli Delete deli selection input object geomi 1 del1 selection input set unii 8 geom1 run del1 meshi model mesh create meshi geom1 0151 mesh1 feature create disi Distribution dis1 selection set 2 4 disi set type predefined dis1 set method geometric dist set elemcount 20 disil set reverse on dist set elemratio 20 dis2 meshi feature create dis2 Distribution dis2 selection set 1 3 dis2 set type predefined dis2 set method geometric dis2 set elemcount 20 dis2 set elemratio 20 mapi mesh1 feature create map1 map1 selection geom geomi 2 map1 selection set 2 mesh1 feature create frt1 FreeTri mesh1 run mphmesh model WORKING WITH MESHES 61 62 CHAPTER 3 The final mesh is in Figure 3 7 Note the effect of the Distribution feature with which the distribution of vertex elements along geometry edges can be controlled Figure 3 7 Incrementally generated mesh right The left hand side plot in Figure 3 7 is obtained with the following command mphgeom model geomi edgelabels on To replace the structured quad mesh by an unstructured quad mesh delete the Map feature and replace
199. te a default coarse mesh and get the mesh information With this information you can understand the requested mesh structure to use with the createMesh method Finally construct a complete mesh and store it in the meshing sequence If the geometry is not empty the new mesh is checked to ensure that it matches the geometry Thus to create an arbitrary mesh you need to create an empty geometry sequence and a corresponding empty meshing sequence and construct the mesh on the empty meshing sequence Start by creating a 2D model containing a square and mesh it with triangles model ModelUtil create Model model modelNode create mod geom1 model geom create geomi 2 geom1 feature create sqi Square geom1 run meshi model mesh create mesh1 geomi meshi feature create ftril FreeTri meshi feature feature size set hmax 0 5 mesh1 run ftri1 WORKING WITH MESHES 77 mphmesh model To get the mesh data information enter meshstats meshdata mphmeshstats model meshdata vertex 2x12 double elem 2x8 int32 3x14 int32 0 5 7 11 elementity 8x1 int32 14x1 int32 4x1 int32 The mesh node coordinates are stored in the vertex field vtx meshdata vertex vtx Columns 1 through 7 0 0 5000 0 3024 0 0 6314 1 0000 0 3511 0 0 0 3023 0 5000 0 3632 0 0 6397 Columns 8 through 12 0 0 6730 1 0000 0 5000 1 0000 1 0000 0 6728 0 5000 1 0000 1 0000 In the elem field y
200. text highlighted in blue to go to other information in the PDF When you are using the online help desk in COMSOL Multiphysics these links also work to other modules model examples and documentation sets boldface font A boldface font indicates that the given word s appear exactly that way on the COMSOL Desktop or for toolbar buttons in the corresponding tip For example the Model Builder window 7 is often referred to and this is the window that contains the model tree As another example the instructions might say to click the Zoom Extents button b and this means that when you hover over the button with your mouse the same label displays on the COMSOL Desktop Forward arrow symbol gt The forward arrow symbol gt is instructing you to select a series of menu items in a specific order For example Options gt Preferences is equivalent to From the Options menu choose Preferences Code monospace font A Code monospace font indicates you are to make a keyboard entry in the user interface You might see an instruction such as Enter or type 1 25 in the Current density field The monospace font also is an indication of programming code or a variable name HELP AND DOCUMENTATION 13 CONVENTION EXAMPLE Italic Code monospace An italic Code monospace font indicates user inputs and font Arrow brackets following the Code monospace or code italic fonts parts of names that can vary or
201. the function argument in the Arguments column The table support multiple function definition Define several functions in the same table or add several MATLAB node at your convenience PLOTTING THE FUNCTION Use the Plot button to display the function in the COMSOL Desktop main axis Use the Create Plot button to create a plot group under the Results node To plot the function you need to first define the argument limit Expand the Plot Parameters section and enter the desired value in the Lower limit and Upper limit column In the Plot Parameters table the number of row correspond to the number of input arguments of the function The first input arguments correspond to the top row In case of you have several functions declare in the Functions table only the function that have the same number of input arguments as plot parameters row is plotted If you CALLING MATLAB FUNCTION have several functions with same number of input arguments the first function in the table from top to bottom is then plotted Use the Move Up and Move Down button to change the order of the function EXAMPLE DEFINE THE HANKEL FUNCTION IN THE COMSOL DESKTOP Assume that you want to use MATLAB s Bessel function of the third kind Hankel function in COMSOL Multiphysics define the following settings FUNCTION ARGUMENTS besselh nu x 0 MATLAB Model Library Plot 24 Create Plot v Functions Clear functions automat
202. tiffness matrix and the eliminated load vector you need to set the linearization point to the initial value expression type mphmatrix model soli EXTRACTING SYSTEM MATRICES 145 146 Out Kc Lc Null ud uscale j initmethod init Solve for the eliminated solution vector using the extracted eliminated system Uc MA Null MA Kc MA Lc Combine the eliminated solution vector and the particular vector UO Uc MA ud Scale back the solution vector U1 1 U0 MA uscale Now compare both solution vector U and U1 computed by COMSOL and by the matrix operation respectively Extracting State Space Matrices Use state space export to create a linearized state space model corresponding to a COMSOL Multiphysics model You can export the matrices of the state space form directly to the MATLAB workspace with the command mphstate THE STATE SPACE SYSTEM A state space system is the mathematical representation of a physical model The system consistent in an ODE linking input output and state space variables A dynamic system can be represented with the following system dx q 7 Cx Du An alternative representation of the dynamic system is McAx y Cx Du This form is more suitable for large systems because the matrices Mc and MA usually become much more sparse than A If the mass matrix is small it is possible to approximate the dynamic stat
203. tion Use LiveLink for MATLAB to retrieve at the MATLAB workspace low level information of the COMSOL finite element model The Extended Mesh Xmesh The extended mesh xmesh is the finite element mesh that is used to compute the solution This contains the information about elements nodes and degrees of freedom such as dof names position of the nodes in the assembled matrix system or how element and nodes are connected Extracting Xmesh Information The function mphxmeshinfo returns the extended mesh information To get the xmesh information of the current solver and mesh node type the command info mphxmeshinfo model where info isa MATLAB structure that contains the fields listed in the following table FIELDS DESCRIPTION soltag Tag of the solver node ndofs Number of degrees of freedom fieldnames List of field variables names fieldndofs Number of degrees of freedom for each field variables meshtypes List of the mesh type geoms Tag of the geometry node used in the model dofs Structure containing the dofs information nodes Structure containing the nodes information elements Structure containing the elements information The dofs substructure contains the fields listed in the following table FIELDS DESCRIPTION geomnums Index of the geometry tag for each dofs coords Coordinates of the dofs nodes Nodes index of the dofs RETRIEVING XMESH INFORMATION 155 156 FIELDS DESCRIPTION
204. tion generates an additional column in the returned matrix The property COMMAND REFERENCE mphmean Example See also Solnum and t control which solutions are used for the evaluation The Solnum property is available when the data set has multiple solutions for example in the case of parametric eigenfrequency or time dependent solutions The t property is available only for time dependent problems If Solnum is provided the solutions indicated by the indices provided with the Solnum property are used If t is provided solutions are interpolated If neither Solnum nor t is provided all solutions are evaluated Solnum is used to select the solution number when a parametric eigenvalue or time dependent solver has been used Outersolnum is used to select the outer solution number when a parametric sweep has been used in the study step node If the Matrix property is set to of f the output will be cell arrays of length P containing cell arrays of length M Load micromixer mph from the Model Library model mphload micromixer mph Find the mean x velocity u at the outlet boundary and get its unit flow unit mphmean model u surface selection 136 Load heat transfer axi mph from the Model Library model mphload heat transient axi mph Find the mean normal heat flux along the external boundaries Q mphmean model ht ndflux line selection 2 3 4 mphmax mphmin 227 mphmesh 228 P
205. to 9 as its value to describe the mesh resolution Extremely fine 1 Extra fine 2 Finer 3 Fine 4 Normal 5 e Coarse 6 e Coarser 7 Extra coarse 8 Extremely coarse 9 The default value is 5 that is the Normal mesh settings For details about predefined mesh size settings and mesh element size See Also parameters see Size in the COMSOL Java API Reference Guide Example Creating a 2D Mesh with Triangular Elements Generate a triangular mesh of a unit square model ModelUtil create Model 54 CHAPTER 3 BUILDING MODELS geomi model geom create geom 2 geom1 feature create r1 Rectangle meshi model mesh create meshi geom1 ftri1 meshi feature create ftril FreeTri mesh1 run mphmesh model Figure 3 1 Default mesh on a unit square The default size feature is generated with the property hauto set to 5 that is mesh1 feature size set hauto 5 To override this behavior set hauto to another integer You can also override by setting specific size properties for example making the mesh finer than the default by specifying a maximum element size of 0 02 mesh1 feature size set hmax 0 02 mesh1 run mphmesh mode1 This value corresponds to 1 50 ofthe largest axis parallel distance whereas the default value is 1 15 WORKING WITH MESHES 55 56 CHAPTER 3 Figure 3 2 Fine mesh maximum element size 0 0
206. to use COMSOL Multiphysics and how to access the documentation electronically through the COMSOL Multiphysics help desk HELP AND DOCUMENTATION II 2 CHAPTER 1 To locate and search all the documentation in COMSOL Multiphysics Press Fl for Dynamic Help Click the buttons on the toolbar or Select Help gt Documentation 7 or Help gt Dynamic Help E from the main menu and then either enter a search term or look under a specific module in the documentation tree THE MODEL LIBRARY Fach model comes with documentation that includes a theoretical background and step by step instructions to create the model The models are available in COMSOL as MPH files that you can open for further investigation You can use the step by step instructions and the actual models as a template for your own modeling and applications SI units are used to describe the relevant properties parameters and dimensions in most examples but other unit systems are available To open the Model Library select View Model Library from the main menu and then search by model name or browse under a module folder name Click to highlight any model of interest and select Open Model and PDF to open both the model and the documentation explaining how to build the model Alternatively click the Dynamic Help button E or select Help gt Documentation in COMSOL to search by name or browse by module The model libraries are updated on a r
207. tring identifying the material you defined when creating the material The string mtag refers to the material model Now you can define material properties for the model by setting property value pairs by the following operations BUILDING MODELS model material lt mattag gt materialmodel lt mtag gt set property lt value gt e model material in the COMSOL Java API Reference Guide See Also EXAMPLE CREATE A MATERIAL NODE While the section Example Implement and Solve a Heat Transfer Problem showed how to change a material property inside a physics interface here you can define a material available globally in the model The steps below assume that you have completed the steps of the example above mat model material create mati1 The material automatically creates a material model def which you can use to set up basic properties Use it to define the density and the heat capacity mat materialmodel def set density 400 mat materialmodel def set heatcapacity 2e3 To use the defined material in your model you must set the solid feature to use the material node solid set k mat 1 from mat Modifying the Equations The equation defining the physics node can be edited with the method featureInfo info applied to a feature of the physics node physics phystag 2 feature ftag where lt phystag gt and lt ftag gt identify the physics interface and the featu
208. ture Refine Thus meshi feature create ref Refine refines the mesh By specifying the property tri either as a row vector of element numbers or a 2 row matrix you can control the elements to be refined In the latter case the second row of the matrix specifies the number of refinements for the corresponding element The refinement method is controlled by the property rmethod In 2D its default value is regular corresponding to regular refinement in which each specified triangular element is divided into four triangles of the same shape Setting rmethod to longest gives longest edge refinement where the longest edge of a triangle is bisected Some triangles outside the specified set might also be refined in order to preserve the triangulation and its quality In 3D the default refinement method is longest while regular refinement is only implemented for uniform refinements In 1D the function always uses regular refinement where each element is divided into two elements of the same shape For stationary or eigenvalue PDE problems you can use adaptive mesh refinement at the solver stage with the solver step adaption See Note Adaption in the COMSOL Java API Reference Guide WORKING WITH MESHES 69 COPYING BOUNDARY MESHES Use the CopyEdge feature in 2D and the CopyFace feature in 3D to copy a mesh between boundaries It is only possible to copy meshes between boundaries that have the same shape However a
209. ty is available when the data set has multiple solutions for example in the case of parametric eigenfrequency or time dependent solutions The t property is available only for time dependent problems If Solnum is provided the solutions indicated by the indices provided with the Solnum property are used If t is provided solutions are interpolated If neither Solnum nor t is provided all solutions are evaluated For time dependent problems the variable t can be used in the expressions ei The value of t is the interpolation time when the property t is provided and the time for the solution when Solnum is used Similarly Lambda and the parameter are available as eigenvalues for eigenvalue problems and as parameter values for parametric problems respectively The unit property defines the unit of the integral if a inconsistent unit is entered the default unit is used In case of multiple expression if the unit property is defined with a string the same unit is used for both expressions To use different units set the property with a cell array In case of inconsistent unit definition the default unit is used instead Solnum is used to select the solution number when a parametric eigenvalue or time dependent solver has been used Outersolnum is used to select the outer solution number when a parametric sweep has been used in the study step node Load micromixer mph from the Model Library model mphload micromixer mph Inte
210. udy step node Load heat_convection_2d mph from the Model Library model mphload heat convection 2d mph Compute the temperature T at the center of the domain T mphinterp model T coord 0 3 0 5 Load transport and adsorption mph from the Model Library model mphload transport and asorption mph Evaluate the concentration along boundary 5 at 2 s list 0 1 3 0 1 0 2 0 1 0 9 0 9 1e 3 1 c y mphinterp model c y coord list edim 1 selection 5 t 2 Load stresses in pulley mph from the Model Library model mphload stresses in pulley mph Evaluate the von Mises effective stress at the cut point data set cptl mises n mphinterp model solid mises n datset cpt1 mpheval mphevalpoint mphglobal mphint2 219 mphload 220 Purpose Syntax Description Example See also Load a COMSOL model MPH file model mphload filename model mphload filename ModelObjectName model mphload filename ModelObjectName history model filename mphload filename ModelObjectName model mphload filename loads a COMSOL model object saved with the name filename and assigns the default name Model in the COMSOL server model mphload filename ModelObjectName loads a COMSOL model object and assigns the name ModelObjectName in the COMSOL server model mphload filename ModelObjectName history turns on history recording
211. umber of solutions vectors stored NUreacf Number of reaction forces vectors stored NUadj Number of adjacency vectors stored NUfsens Number of functional sensitivity vectors stored NUsens Number of forward sensitivity vectors stored The batch field is a a structure including the following fields BATCH FIELDS DESCRIPTION type The type of batch psol Tag of the associated solver node 152 CHAPTER 4 WORKING WITH MODELS BATCH FIELDS DESCRIPTION sol Tag of the stored solution associated to psol seq Tag of the solver sequence associated to psol Extracting Solution Vector Extracts the solution vector with the function mphgetu U mphgetu model where U is Nx1 double array where N is the number of degrees of freedom of the COMSOL model You can refer to the function mphxmeshinfo to receive the dof name or the node coordinates in the solution vector see the section Retrieving Xmesh Information SPECIFYING THE SOLUTION Change the solver node to extract the solution vector with the property solname U mphgetu model soltag lt soltag gt where lt soltag gt is the tag of the solver node For solver settings that compute for several inner solution you can select which inner solution to use with the solnum property U mphgetu model solnum lt solnum gt where lt solnum gt a positive integer vector that correspond to the solution number to use to extract the solution vector For time dep
212. unit gt is a cell array with the same length as lt expr gt CHAPTER 4 WORKING WITH MODELS Use the property complexfun to not use complex value functions with real inputs data mphglobal model expr complexfun off The default value use complex value functions with real inputs Use the property matherr to return an error for undefined operations or expressions data mphglobal model lt expr gt matherr on Evaluating a Global Matrix mphevalglobalmatrix evaluates the matrix variable such as S parameters in a model with several ports activated as a parametric sweep and a frequency domain study To evaluate the global matrix associated to the expression lt expr gt execute the command below M mphevalglobalmatrix model lt expr gt The output data M is a NxN double array where N is the number of port boundary condition set in the model SPECIFY THE EVALUATION DATA Set the solution data set for evaluation with the property dataset data mphevalglobalmatrix model lt expr gt dataset lt dsettag gt where lt dsettag gt is the tag of a solution data Evaluating a Maximum of Expression Use the function mphmax to evaluate the maximum of a given expression over inner solution list To evaluate the maximum of the COMSOL expressions e1 en you can use the command mphmax as below d1 dn mphmax model e1 en edim where edim is a string to define the element
213. unscaled eliminated system matrices it is required to set the scaling method to none in the variables step of the solver configuration node The load vector is assembled using the current solution available as linearization point unless the initmethod property is provided In case ofthe presence ofa solver step node in the solver sequence the load vector correspond then to the residual of the problem Load heat convection 2d mph from the Model Library model mphload heat convection 2d mph Extract the stiffness matrix and the load vector str mphmatrix model sol out K L initmethod init Plot the sparsity of the matrix spy str K Extract the eliminated system str mphmatrix model sol out Kc Lc initmethod init Compare the sparsity of both system matrices non eliminated b and eliminated one r hold on spy str Kc r CHAPTER 6 COMMAND REFERENCE mphmatrix Load heat radiation ld mph from the model library model mphload heat radiation 1d mph Extract the eliminated residual str mphmatrix model sol1 out Lc See also mphstate mphxmeshinfo 223 mphmax 224 CHAPTER 6 Purpose Syntax Description Perform maximum of expressions V1 vn mphmax model e1 en edim v1 vn unit mphmax model e1 en edim V1 vn mphmax model e1 en edim evaluates the maximum of the string expressions e1
214. urpose Syntax Description Example See also Plot a mesh in a MATLAB figure window mphmesh model mphmesh model meshtag mphmesh model plots the mesh case in a MATLAB figure mphmesh model meshtag plots the mesh case meshtag in a MATLAB figure The function mphmesh accepts the following property value pairs TABLE 6 13 PROPERTY VALUE PAIRS FOR THE MPHMESH COMMAND PROPERTY VALUE DEFAULT DESCRIPTION Parent Double Parent axis Edgecolor Char k Edge color Edgelabels on off off Show edge labels Edgelabelscolor Char k Color for edge labels Edgemode on off on Show edges Facealpha Double 1 Set transparency value Facelabels on off off Show face labels Facelabelscolor Char k Color for face labels Facemode on off on Show faces Meshcolor Char flat Color for face element Vertexlabels on off off Show vertex labels Vertexlabelscolor Char k Color for vertex labels Vertexmode on off off Show vertices Load the example model shell diffusion mph from the Model Library model mphload shell diffusion mph Plot the model mesh mphmesh model Plot the mesh with a colored element and transparency set to 0 5 mphmesh model mesh edgecolor b facealpha 0 5 meshcolor r mphgeom mphmeshstats mphplot CHAPTER 6 COMMAND REFERENCE mphmeshstats Purpose Syntax Description Return mesh statistics and mesh data information stats mphmeshstats model stats mphm
215. valuation is supported only on solution data sets When the property Phase is used the solution vector is multiplied with exp i phase before evaluating the expression The expressions ei are evaluated for one or several solutions Each solution generates an additional row in the output data array di The property Solnum and t control which solutions are used for the evaluations The Solnum property is 209 mphglobal 210 Example See also available when the data set has multiple solutions for example in the case of parametric eigenfrequency or time dependent solutions The t property is available only for time dependent problems If Solnum is provided the solutions indicated by the indices provided with the Solnum property are used If t is provided solutions are interpolated If neither Solnum nor t is provided all solutions are evaluated For time dependent problems the variable t can be used in the expressions ei The value of t is the interpolation time when the property t is provided and the time for the solution when Solnum is used Similarly Lambda and the parameter are available as eigenvalues for eigenvalue problems and as parameter values for parametric problems respectively In case of multiple expression if the unit property is defined with a string the same unit is used for both expressions To use different units set the property with a cell array In case of inconsistent unit definition t
216. wbb w i model study std1 run subplot 2 2 i mphplot model pg2 1 end RUNNING MODELS IN LOOP 139 The resulting figure is shown below Surface Current density norm Aim ao Surface Current density norm Aim aie 0 1 8 0 1 6 m 0 05 4 0 2 2 0 1 0 1 0 05 5 Q Q or P 10 Surface Current density norm A Surface Current density norm 0 1 8 0 05 6 0 05 4 0 1 2 0 15 0 oe 0 02 0 23 140 CHAPTER 4 WORKING WITH MODELS Running Models in Batch Mode Use LiveLink for MATLAB to models in batch mode At the MATLAB prompt you can execute commands to set up the batch job using the COMSOL built in method or run custom scripts directly from a command line In this section The Batch Node Running A COMSOL M file In Batch Mode Running A COMSOL M file In Batch Mode Without Display The Batch Node Using the COMSOL Java API you can run model in loop See The Batch Node Running A COMSOL M file In Batch Mode To run in batch a M script that runs COMSOL Model start COMSOL with MATLAB at a terminal window with the following command comsol server matlab myscript where myscript is the M script saved as myscript m that contains the operation to run at the MATLAB prompt The COMSOL does not automatically save the model You need to make sure that the model is saved before the end of the execution of the script See Loading and Saving
217. xample Return HTML help of a specified function mphdoc argi mphdoc argi arg2 mphdoc arg1 returns the HTML documentation associated to the function arg mphdoc argi arg2 returns the HTML documentation associated to the feature arg2 of the method arg1 mphdoc arg1 web returns the HTML documentation in the default web browser Create a model object model ModelUtil creat Model Get the documentation for the mesh node mphdoc model mesh Get the documentation of the rectangle geometry feature mphdoc model geom Rectangle Display the documentation in the default web browser mphdoc model sol web 191 mpheval Purpose Evaluate expressions on node points Syntax pd mpheval model e1 en Description pd mpheval model e1 en returns the post data pd for the expressions e1 en The output value pd is a structure with fields expr p t ve unit and fields for data values The field expr contains the expression name evaluated For each expression e1 ena field with the name d1 dn is added with the numerical values The columns in the data value fields correspond to node point coordinates in columns in p The data contains only the real part of complex valued expressions The field p contains node point coordinate information The number of rows in p is the number of space dimensions The field t contains the indices to columns in p of a simplex mesh each column in t re
218. y length COMSOL calls your MATLAB function using vector arguments because the number of expensive calls from COMSOL to MATLAB can be reduced this way All common MATLAB functions such as sin abs and other mathematical functions support vector arguments When you write your own functions for specifying inhomogeneous materials logical expressions time dependent sources or other model properties remember that the input arguments are vectors The output must have the same size as the input All arguments and results must be double precision vectors Values can be real or complex Consider the following example function where the coefficient depends on the x coordinate function c funci x if x 0 6 x 1 6 else 2 0 3 This function looks good at first but it does not work in COMSOL Multiphysics because the input x is a matrix You must use element by element multiplication division and power that is the operators and Replace expressions such as x 1 6 and x 2 0 3 with x 1 6 and x 2 0 8 respectively The comparison x gt 0 6 returns a matrix with ones true for the entries where the expression holds true and zeros false where it is false The function evaluates the conditional statement if and only if all the entries are true 1 ADDITIONAL INFORMATION 180 CHAPTER 5 You can replace the if statement with a single assignment to the indices retrieved f
Download Pdf Manuals
Related Search
Related Contents
DSC-P92 GE Articulating Fiberscopes - NDT Brochure BOSS Rocker Volume PV-1 取扱説明書 - 三菱電機 高性能カーバッテリー - ジーエス・ユアサ バッテリー Manuel d`utilisation de l ac10 Benutzerhandbuch für Tascam iU2 Toshiba GMAD00274010 Laptop User Manual Manual Técnico (1000) Samsung GALAXY Tab S (10.5") LTE User Manual(Lollipop) Copyright © All rights reserved.
Failed to retrieve file