2-D Laplace Equation

8 views (last 30 days)
Abigail on 31 Mar 2024
Answered: SAI SRUJAN on 10 Apr 2024
How would I be able to set up a matlab code for a 2-D Laplace for hydraulic head. The shape is a polygon. Thanks!
Torsten on 31 Mar 2024
This will be a hard job for an arbitrary polygonal region.
Use the PDE Toolbox instead of trying to code it on your own.

SAI SRUJAN on 10 Apr 2024
Hi Abigail,
I understand that you are trying to set up a MATLAB code for a 2D Laplace for hydraulic head.
Please follow the below code sample to proceed further which uses the functions of PDE Toolbox,
% This is an example for a simple square; you'll need to adjust it for your polygon
gd = [3; 4; 0; 1; 1; 0; 0; 0; 1; 1];
% Step 2: Create PDE model
model = createpde(1);
% Step 3: Assign geometry to the model
geometryFromEdges(model,gd);
% Step 4: Set boundary conditions (example)
applyBoundaryCondition(model,'dirichlet','Edge',1:model.Geometry.NumEdges,'u',0);
generateMesh(model);
result = solvepde(model);
figure;
pdeplot(model,'XYData',result.NodalSolution);
Please refer to the following MATLAB Central Answers thread, which discusses solving 2D Laplace equations using boundary value problem (BVP) solvers.
For a comprehensive understanding of the 'solvepde' function in MATLAB, please refer to the following documentation.
I hope this helps!