指定边界条件GydF4y2Ba
在创建边界条件之前,您需要创建一个GydF4y2BapdemodelGydF4y2Ba
容器。有关详细信息,请参阅GydF4y2BaSolve Problems Using PDEModel Objects。Suppose that you have a container named模型GydF4y2Ba
, 和that the geometry is stored in模型GydF4y2Ba
。Examine the geometry to see the label of each edge or face.
pdegplot(model,'edgelabels'GydF4y2Ba,,,,GydF4y2Ba'在'GydF4y2Ba)GydF4y2Ba2-D的%GydF4y2Bapdegplot(model,'facelabels'GydF4y2Ba,,,,GydF4y2Ba'在'GydF4y2Ba)GydF4y2Ba%3-DGydF4y2Ba
now you can specify the boundary conditions for each edge or face. If you have a system of PDEs, you can set a different boundary condition for each component on each boundary edge or face.
如果您不指定一种boundary condition for an edge or face, the default is the Neumann boundary condition with the zero values for'g'
和GydF4y2Ba'Q'GydF4y2Ba
。GydF4y2Ba
If the boundary condition is a function of position, time, or the solution你GydF4y2Ba,,,,set boundary conditions by using the syntax in非稳定边界条件GydF4y2Ba。GydF4y2Ba
Dirichlet边界条件GydF4y2Ba
Scalar PDEs
Dirichlet边界条件意味着解决方案GydF4y2Ba你GydF4y2Baon a particular edge or face satisfies the equation
胡GydF4y2Ba=GydF4y2BarGydF4y2Ba,,,,GydF4y2Ba
whereHGydF4y2Ba和GydF4y2BarGydF4y2Ba是在∂Ω上定义的函数,可以是空间的函数(GydF4y2BaXGydF4y2Ba,,,,GydF4y2BayGydF4y2Ba, 和,,,,一世n3-D,zGydF4y2Ba),,,,the solution你GydF4y2Ba,并且对于时间相关方程,时间。Often, you takeHGydF4y2Ba= 1,设置GydF4y2BarGydF4y2Bato the appropriate value. You can specify Dirichlet boundary conditions as the value of the solution你GydF4y2Ba
在边界或作为一对参数GydF4y2BaHGydF4y2Ba
和GydF4y2BarGydF4y2Ba
。GydF4y2Ba
假设您有一个名称的PDE模型GydF4y2Ba模型GydF4y2Ba
, 和edges or faces[e1,e2,e3]
,,,,解决方案GydF4y2Ba你GydF4y2Bamust equal2GydF4y2Ba
。如下指定此边界条件。GydF4y2Ba
% For 3-D geometry:应用程序条件(模型,GydF4y2Ba'dirichlet'GydF4y2Ba,,,,GydF4y2Ba'Face',[E1,E2,E3],GydF4y2Ba'U'GydF4y2Ba,2);GydF4y2Ba%的2D几何形状:GydF4y2Ba应用程序条件(模型,GydF4y2Ba'dirichlet'GydF4y2Ba,,,,GydF4y2Ba'边缘'GydF4y2Ba,[E1,E2,E3],GydF4y2Ba'U'GydF4y2Ba,2);GydF4y2Ba
如果边缘或面部的解决方案GydF4y2Ba[e1,e2,e3]
满足方程式GydF4y2Ba2GydF4y2Ba你GydF4y2Ba= 3GydF4y2Ba,,,,specify the boundary condition as follows.
% For 3-D geometry:应用程序条件(模型,GydF4y2Ba'dirichlet'GydF4y2Ba,,,,GydF4y2Ba'Face',[E1,E2,E3],GydF4y2Ba'r'GydF4y2Ba,,,,3,,,,GydF4y2Ba'h',2);GydF4y2Ba%的2D几何形状:GydF4y2Ba应用程序条件(模型,GydF4y2Ba'dirichlet'GydF4y2Ba,,,,GydF4y2Ba'边缘'GydF4y2Ba,[E1,E2,E3],GydF4y2Ba'r'GydF4y2Ba,,,,3,,,,GydF4y2Ba'h',2);GydF4y2Ba
如果您不指定GydF4y2Ba
'r'GydF4y2Ba
,,,,GydF4y2Ba申请包围条件GydF4y2Ba
将其价值设置为GydF4y2Ba0GydF4y2Ba
。GydF4y2Ba如果您不指定GydF4y2Ba
'h'
,,,,GydF4y2Ba申请包围条件GydF4y2Ba
将其价值设置为GydF4y2Ba1GydF4y2Ba
。GydF4y2Ba
Systems of PDEs
PDE系统的DIRICHLET边界条件是GydF4y2Ba胡GydF4y2Ba=GydF4y2BarGydF4y2Ba,,,,whereHGydF4y2Ba是矩阵,GydF4y2Ba你GydF4y2Ba是解决方案向量,并且GydF4y2BarGydF4y2Ba一世s a vector.
假设您有一个名称的PDE模型GydF4y2Ba模型GydF4y2Ba
,边缘或面部标签GydF4y2Ba[e1,e2,e3]
解决方案的第一个组件GydF4y2Ba你GydF4y2Bamust equal1GydF4y2Ba
,,,,while the second and third components must equal2GydF4y2Ba
。如下指定此边界条件。GydF4y2Ba
% For 3-D geometry:应用程序条件(模型,GydF4y2Ba'dirichlet'GydF4y2Ba,,,,GydF4y2Ba'Face',[E1,E2,E3],GydF4y2Ba。。。GydF4y2Ba'U'GydF4y2Ba,,,,[1,2,2],'equationIndex'GydF4y2Ba,[1,2,3]);GydF4y2Ba%的2D几何形状:GydF4y2Ba应用程序条件(模型,GydF4y2Ba'dirichlet'GydF4y2Ba,,,,GydF4y2Ba'边缘'GydF4y2Ba,[E1,E2,E3],GydF4y2Ba。。。GydF4y2Ba'U'GydF4y2Ba,,,,[1,2,2],'equationIndex'GydF4y2Ba,[1,2,3]);GydF4y2Ba
这GydF4y2Ba
'U'GydF4y2Ba
和GydF4y2Ba'equationIndex'GydF4y2Ba
参数必须具有相同的长度。GydF4y2BaIf you exclude the
'equationIndex'GydF4y2Ba
一种rG你ment, the'U'GydF4y2Ba
一种rG你ment must have lengthnGydF4y2Ba。GydF4y2BaIf you exclude the
'U'GydF4y2Ba
一种rG你ment,申请包围条件GydF4y2Ba
将组件设置在GydF4y2Ba'equationIndex'GydF4y2Ba
to0GydF4y2Ba
。GydF4y2Ba
假设您有一个名称的PDE模型GydF4y2Ba模型GydF4y2Ba
,边缘或面部标签GydF4y2Ba[e1,e2,e3]
溶液的第一个,第二和第三部分GydF4y2Ba你GydF4y2Ba必须满足方程式GydF4y2Ba2GydF4y2Ba你GydF4y2Ba1GydF4y2Ba= 3GydF4y2Ba,,,,GydF4y2Ba4GydF4y2Ba你GydF4y2Ba2GydF4y2Ba= 5GydF4y2Ba, 和GydF4y2Ba6GydF4y2Ba你GydF4y2Ba3GydF4y2Ba= 7GydF4y2Ba, 分别。如下指定此边界条件。GydF4y2Ba
H0 = [2 0 0; 0 4 0; 0 0 6]; R0 = [3;5;7];% For 3-D geometry:应用程序条件(模型,GydF4y2Ba'dirichlet'GydF4y2Ba,,,,GydF4y2Ba。。。GydF4y2Ba'Face',[E1,E2,E3],GydF4y2Ba。。。GydF4y2Ba'h',H0,GydF4y2Ba'r'GydF4y2Ba,,,,R0);%的2D几何形状:GydF4y2Ba应用程序条件(模型,GydF4y2Ba'dirichlet'GydF4y2Ba,,,,GydF4y2Ba。。。GydF4y2Ba'边缘'GydF4y2Ba,[E1,E2,E3],GydF4y2Ba。。。GydF4y2Ba'h',H0,GydF4y2Ba'r'GydF4y2Ba,,,,R0);
这GydF4y2Ba
'r'GydF4y2Ba
parameter must be a numeric vector of lengthnGydF4y2Ba。如果您不指定GydF4y2Ba'r'GydF4y2Ba
,,,,GydF4y2Ba申请包围条件GydF4y2Ba
sets the values to0GydF4y2Ba
。GydF4y2Ba这GydF4y2Ba
'h'
parameter can be annGydF4y2Ba-by-nGydF4y2Ban你meric matrix or a vector of lengthnGydF4y2Ba2GydF4y2BaC或者responding to the linear indexing form of thenGydF4y2Ba-by-nGydF4y2Bamatrix. For details about the linear indexing form, seeArray Indexing。如果您不指定GydF4y2Ba'h'
,,,,GydF4y2Ba申请包围条件GydF4y2Ba
sets the value to the identity matrix.
neumann Boundary Conditions
Scalar PDEs
Generalized Neumann boundary conditions imply that the solution你GydF4y2Baon the edge or face satisfies the equation
这CoefficientCGydF4y2Ba一世s the same as the coefficient of the second-order differential operator in the PDE equation
是正常的外部单位。GydF4y2Ba问GydF4y2Ba和GydF4y2BaGGydF4y2Ba是在∂Ω上定义的函数,可以是空间的函数(GydF4y2BaXGydF4y2Ba,,,,GydF4y2BayGydF4y2Ba, 和,,,,一世n3-D,zGydF4y2Ba),,,,the solution你GydF4y2Ba,并且对于时间相关方程,时间。GydF4y2Ba
假设您有一个名称的PDE模型GydF4y2Ba模型GydF4y2Ba
, 和edges or faces[e1,e2,e3]
解决方案GydF4y2Ba你GydF4y2Bamust satisfy the Neumann boundary condition with问=2GydF4y2Ba
和GydF4y2Bag = 3GydF4y2Ba
。如下指定此边界条件。GydF4y2Ba
% For 3-D geometry:应用程序条件(模型,GydF4y2Ba'neumann',,,,GydF4y2Ba'Face',[E1,E2,E3],GydF4y2Ba'Q'GydF4y2Ba,,,,2,,,,GydF4y2Ba'g',3);GydF4y2Ba%的2D几何形状:GydF4y2Ba应用程序条件(模型,GydF4y2Ba'neumann',,,,GydF4y2Ba'边缘'GydF4y2Ba,[E1,E2,E3],GydF4y2Ba'Q'GydF4y2Ba,,,,2,,,,GydF4y2Ba'g',3);GydF4y2Ba
如果您不指定GydF4y2Ba
'g'
,,,,GydF4y2Ba申请包围条件GydF4y2Ba
将其价值设置为GydF4y2Ba0GydF4y2Ba
。GydF4y2Ba如果您不指定GydF4y2Ba
'Q'GydF4y2Ba
,,,,GydF4y2Ba申请包围条件GydF4y2Ba
将其价值设置为GydF4y2Ba0GydF4y2Ba
。GydF4y2Ba
Systems of PDEs
neumann boundary conditions for a system of PDEs is 。对于二维系统,符号GydF4y2Ba 表示GydF4y2BanGydF4y2Ba-b-1矢量与(GydF4y2Ba一世GydF4y2Ba,1) - 组件GydF4y2Ba
where the outward normal vector of the boundary 。GydF4y2Ba
对于3-D系统,符号GydF4y2Ba 表示GydF4y2BanGydF4y2Ba-b-1矢量与(GydF4y2Ba一世GydF4y2Ba,1) - 组件GydF4y2Ba
where the outward normal vector of the boundary 。对于每个边缘或面部段,总共有GydF4y2BanGydF4y2Ba边界条件。GydF4y2Ba
假设您有一个名称的PDE模型GydF4y2Ba模型GydF4y2Ba
, 和edges or faces[e1,e2,e3]
解决方案的第一个组件GydF4y2Ba你GydF4y2Bamust satisfy the Neumann boundary condition with问=2GydF4y2Ba
和GydF4y2Bag = 3GydF4y2Ba
, 和the second component must satisfy the Neumann boundary condition with问=4GydF4y2Ba
和GydF4y2Bag = 5GydF4y2Ba
。如下指定此边界条件。GydF4y2Ba
Q = [2 0; 0 4]; G = [3;5];% For 3-D geometry:应用程序条件(模型,GydF4y2Ba'neumann',,,,GydF4y2Ba'Face',[E1,E2,E3],GydF4y2Ba'Q'GydF4y2Ba,,,,Q,'g',G);GydF4y2Ba%的2D几何形状:GydF4y2Ba应用程序条件(模型,GydF4y2Ba'neumann',,,,GydF4y2Ba'边缘'GydF4y2Ba,[E1,E2,E3],GydF4y2Ba'Q'GydF4y2Ba,,,,Q,'g',G);GydF4y2Ba
这GydF4y2Ba
'g'
parameter must be a numeric vector of lengthnGydF4y2Ba。如果您不指定GydF4y2Ba'g'
,,,,GydF4y2Ba申请包围条件GydF4y2Ba
sets the values to0GydF4y2Ba
。GydF4y2Ba这GydF4y2Ba
'Q'GydF4y2Ba
parameter can be annGydF4y2Ba-by-nGydF4y2Ban你meric matrix or a vector of lengthnGydF4y2Ba2GydF4y2BaC或者responding to the linear indexing form of thenGydF4y2Ba-by-nGydF4y2Bamatrix. For details about the linear indexing form, seeArray Indexing。如果您不指定GydF4y2Ba'Q'GydF4y2Ba
,,,,GydF4y2Ba申请包围条件GydF4y2Ba
sets the values to0GydF4y2Ba
。GydF4y2Ba
混合边界条件GydF4y2Ba
如果您的PDE系统中的某些方程式必须满足DIRICHLET边界条件,并且有些必须满足相同几何区域的Neumann边界条件,请使用GydF4y2Ba“混合”GydF4y2Ba
parameter to apply boundary conditions in one call. Note that申请包围条件GydF4y2Ba
使用默认的neumann边界条件GydF4y2BaG = 0GydF4y2Ba
和GydF4y2Ba问=0GydF4y2Ba
对于您未明确指定边界条件的方程式。GydF4y2Ba
假设您有一个名称的PDE模型GydF4y2Ba模型GydF4y2Ba
,边缘或面部标签GydF4y2Ba[e1,e2,e3]
解决方案的第一个组件GydF4y2Ba你GydF4y2Bamust equal11GydF4y2Ba
,第二个组件必须等于GydF4y2Ba22GydF4y2Ba
,第三部分必须满足诺伊曼边界条件GydF4y2Ba问= 3GydF4y2Ba
和GydF4y2Bag = 4GydF4y2Ba
。如下表达此边界条件。GydF4y2Ba
q = [0 0 0;0 0 0;0 0 3];g = [0; 0; 4];GydF4y2Ba% For 3-D geometry:应用程序条件(模型,GydF4y2Ba“混合”GydF4y2Ba,,,,GydF4y2Ba'Face',[E1,E2,E3],GydF4y2Ba。。。GydF4y2Ba'U'GydF4y2Ba,,,,[11,22],'equationIndex'GydF4y2Ba,,,,[1,2],。。。GydF4y2Ba'Q'GydF4y2Ba,,,,Q,'g',G);GydF4y2Ba%的2D几何形状:GydF4y2Ba应用程序条件(模型,GydF4y2Ba“混合”GydF4y2Ba,,,,GydF4y2Ba。。。GydF4y2Ba'边缘'GydF4y2Ba,[E1,E2,E3],GydF4y2Ba'U'GydF4y2Ba,,,,[11,22],。。。GydF4y2Ba'equationIndex'GydF4y2Ba,,,,[1,2],'Q'GydF4y2Ba,,,,Q,'g',G);GydF4y2Ba
假设您有一个名称的PDE模型GydF4y2Ba模型GydF4y2Ba
, 和edges or faces[e1,e2,e3]
解决方案的第一个组件GydF4y2Ba你GydF4y2Bamust satisfy the Dirichlet boundary condition2GydF4y2Ba你GydF4y2Ba1GydF4y2Ba= 3GydF4y2Ba,第二个组件必须满足诺伊曼边界条件GydF4y2Ba问=4GydF4y2Ba
和GydF4y2Bag = 5GydF4y2Ba
,第三部分必须满足诺伊曼边界条件GydF4y2Ba问=6GydF4y2Ba
和GydF4y2BaG = 7GydF4y2Ba
。如下表达此边界条件。GydF4y2Ba
h = [2 0 0;0 0 0;0 0 0];r = [3; 0; 0];q = [0 0 0;0 4 0;0 0 6];g = [0; 5; 7];GydF4y2Ba% For 3-D geometry:应用程序条件(模型,GydF4y2Ba“混合”GydF4y2Ba,,,,GydF4y2Ba。。。GydF4y2Ba'Face',[E1,E2,E3],GydF4y2Ba。。。GydF4y2Ba'h',H,GydF4y2Ba'r'GydF4y2Ba,,,,r,,,,GydF4y2Ba'Q'GydF4y2Ba,,,,Q,'g',G);GydF4y2Ba%的2D几何形状:GydF4y2Ba应用程序条件(模型,GydF4y2Ba“混合”GydF4y2Ba,,,,GydF4y2Ba。。。GydF4y2Ba'边缘'GydF4y2Ba,[E1,E2,E3],GydF4y2Ba。。。GydF4y2Ba'h',H,GydF4y2Ba'r'GydF4y2Ba,,,,r,,,,GydF4y2Ba'Q'GydF4y2Ba,,,,Q,'g',G);GydF4y2Ba
非稳定边界条件GydF4y2Ba
Use functions to express nonconstant boundary conditions.
应用程序条件(模型,GydF4y2Ba'dirichlet'GydF4y2Ba,,,,GydF4y2Ba。。。GydF4y2Ba'边缘'GydF4y2Ba,,,,1,,,,GydF4y2Ba。。。GydF4y2Ba'r'GydF4y2Ba,@myrfun);应用程序条件(模型,GydF4y2Ba'neumann',,,,GydF4y2Ba。。。GydF4y2Ba'Face',,,,2,,,,GydF4y2Ba。。。GydF4y2Ba'g',,,,@mygfun,'Q'GydF4y2Ba,,,,@myqfun); applyBoundaryCondition(model,“混合”GydF4y2Ba,,,,GydF4y2Ba。。。GydF4y2Ba'边缘'GydF4y2Ba,[3,4],,GydF4y2Ba。。。GydF4y2Ba'U'GydF4y2Ba,@myufun,GydF4y2Ba。。。GydF4y2Ba'equationIndex'GydF4y2Ba,[2,3]);GydF4y2Ba
每个函数必须具有以下语法。GydF4y2Ba
功能GydF4y2BaBCMATRIX=myfun(location,state)
solvepdeGydF4y2Ba
或者GydF4y2Basolvepdeeig
Compute and populate the data in thelocation
和GydF4y2Bastate
构造数组并将此数据传递给您的功能。您可以定义您的功能,以便其输出取决于此数据。您可以使用任何名称而不是GydF4y2Balocation
和GydF4y2Bastate
,,,,but the function must have exactly two arguments.
location
-A structure containing the following fields. If you pass a name-value pair to申请包围条件GydF4y2Ba
和GydF4y2BaVectorized
设置GydF4y2Ba'在'GydF4y2Ba
, 然后GydF4y2Balocation
C一种nContain several evaluation points. If you do not setVectorized
或使用GydF4y2BaVectorized,'off'
,然后求解器仅通过每个呼叫中的一个评估点。GydF4y2Balocation.x
-这GydF4y2BaXGydF4y2Ba-coordinate of the point or pointslocation.y
-这GydF4y2BayGydF4y2Ba-coordinate of the point or pointslocation.z
- 对于3-D几何,GydF4y2BazGydF4y2Ba-coordinate of the point or points
Furthermore, if there are Neumann conditions, then solvers pass the following data in the
location
structure.location.nx
-GydF4y2BaXGydF4y2Ba- 在评估点或点处正常向量的组件GydF4y2Balocation.ny
-GydF4y2BayGydF4y2Ba- 在评估点或点处正常向量的组件GydF4y2Balocation.nz
- 对于3D几何形状,GydF4y2BazGydF4y2Ba- 在评估点或点处正常向量的组件GydF4y2Ba
state
-For transient or nonlinear problems.state.uGydF4y2Ba
在评估点包含溶液向量。GydF4y2Bastate.uGydF4y2Ba
一世s annGydF4y2Ba-by-mGydF4y2Ba矩阵,每列对应于一个评估点,并且GydF4y2BamGydF4y2Ba是评估点的数量。GydF4y2Ba状态。时间GydF4y2Ba
包含在评估点上的时间。GydF4y2Ba状态。时间GydF4y2Ba
一世s a scalar.
您的功能返回GydF4y2BaBCMATRIXGydF4y2Ba
。该矩阵具有以下形式,具体取决于边界条件类型。GydF4y2Ba
'U'GydF4y2Ba
-GydF4y2BaN1GydF4y2Ba-by-mGydF4y2Ba矩阵,每列对应于一个评估点,并且GydF4y2BamGydF4y2Ba是评估点的数量。GydF4y2BaN1GydF4y2Ba一世s the length of the'equationIndex'GydF4y2Ba
争论。如果没有GydF4y2Ba'equationIndex'GydF4y2Ba
争论,然后GydF4y2BaN1GydF4y2Ba=GydF4y2BanGydF4y2Ba。GydF4y2Ba'r'GydF4y2Ba
或者GydF4y2Ba'g'
-GydF4y2BanGydF4y2Ba-by-mGydF4y2Ba矩阵,每列对应于一个评估点,并且GydF4y2BamGydF4y2Ba是评估点的数量。GydF4y2Ba'h'
或者GydF4y2Ba'Q'GydF4y2Ba
-GydF4y2BanGydF4y2Ba2GydF4y2Ba-by-mGydF4y2Ba矩阵,每列通过基础线性索引对应于一个评估点GydF4y2BanGydF4y2Ba-by-nGydF4y2Ba矩阵,和GydF4y2BamGydF4y2Ba是评估点的数量。或者,一个GydF4y2BanGydF4y2Ba-by-nGydF4y2Ba-by-mGydF4y2Ba一种rr一种y,,,,where each evaluation point is annGydF4y2Ba-by-nGydF4y2Bamatrix. For details about linear indexing, seeArray Indexing。GydF4y2Ba
如果边界条件取决于GydF4y2Bastate.uGydF4y2Ba
或者GydF4y2Ba状态。时间GydF4y2Ba
,确保您的功能返回GydF4y2Ba南GydF4y2Ba
正确的尺寸GydF4y2Bastate.uGydF4y2Ba
或者GydF4y2Ba状态。时间GydF4y2Ba
一种re南GydF4y2Ba
。解决者通过通过GydF4y2Ba南GydF4y2Ba
状态值,并寻找返回的GydF4y2Ba南GydF4y2Ba
values.
看GydF4y2Ba指定非构造边界条件GydF4y2Ba。GydF4y2Ba
Additional Arguments in Functions for Nonconstant Boundary Conditions
要在您的函数中使用其他参数,请用匿名函数将您的函数(采用其他参数)包裹GydF4y2Balocation
和GydF4y2Bastate
参数。例如:GydF4y2Ba
你Val =。。。GydF4y2Ba@(位置、状态)myfunWithAdditionalArgs(位置,,,,state,arg1,arg2。。。GydF4y2Ba)GydF4y2Ba应用程序条件(模型,GydF4y2Ba“混合”GydF4y2Ba,,,,GydF4y2Ba。。。GydF4y2Ba'边缘'GydF4y2Ba,[3,4],,GydF4y2Ba。。。GydF4y2Ba'U'GydF4y2Ba,,,,你Val,。。。GydF4y2Ba'equationIndex'GydF4y2Ba,[2,3]);GydF4y2Ba