ahbarnett / dpls-demos Goto Github PK
View Code? Open in Web Editor NEWMATLAB codes for CPAM paper on doubly-periodic 2D Laplace and Stokes
License: GNU General Public License v3.0
MATLAB codes for CPAM paper on doubly-periodic 2D Laplace and Stokes
License: GNU General Public License v3.0
When running the example in /multiinclusion_Stokes/README.md
>>setup % sets up MATLAB path
>>TestScript
% Suppose TestScript generates the .mat file Script.mat
>>StokesSolver('Script')
the following error is generated.
Invalid MEX-file '/MATLAB Drive/DPLS-demos/FMM/fmm2d_r2012a.mexa64': libgfortran.so.3: cannot open shared object file: No such file or directory
Error in [rfmm2dpart](matlab:matlab.internal.language.introspective.errorDocCallback('rfmm2dpart', '/MATLAB Drive/DPLS-demos/FMM/rfmm2dpart.m', 147)) ([line 147](matlab: opentoline('/MATLAB Drive/DPLS-demos/FMM/rfmm2dpart.m',147,0)))
[ier, pot, grad, hess, pottarg, gradtarg, hesstarg] = fmm2d_r2012a(mex_id_, ier, iprec, nsource, source, ifcharge, charge, ifdipole, dipstr, dipvec, ifpot, pot, ifgrad, grad, ifhess, hess, ntarget, target, ifpottarg, pottarg, ifgradtarg, gradtarg, ifhesstarg, hesstarg, 1, 1, 1, 2, nsource, 1, 1, 2, nsource, 1, 1, 1, 1, 1, 1, 1);
Error in [SLP_Lap_FMM](matlab:matlab.internal.language.introspective.errorDocCallback('SLP_Lap_FMM', '/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/Stokes Interactions/SLP_Lap_FMM.m', 37)) ([line 37](matlab: opentoline('/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/Stokes Interactions/SLP_Lap_FMM.m',37,0)))
U=rfmm2dpart(iprec,nsource,source,ifcharge,charge,ifdipole,dipstr,dipvec,ifpot,ifgrad,ifhess,ntarget,target,ifpottarg,ifgradtarg,ifhesstarg);
Error in [SLP_Far_Apply](matlab:matlab.internal.language.introspective.errorDocCallback('SLP_Far_Apply', '/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/Stokes Interactions/SLP_Far_Apply.m', 9)) ([line 9](matlab: opentoline('/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/Stokes Interactions/SLP_Far_Apply.m',9,0)))
[I1x1, I3x1, I3x2] = SLP_Lap_FMM(s,if_s,t,if_t,tau,iprec_S);
Error in [A_SD_operator](matlab:matlab.internal.language.introspective.errorDocCallback('A_SD_operator', '/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/A_SD_operator.m', 26)) ([line 26](matlab: opentoline('/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/A_SD_operator.m',26,0)))
u_S_far=SLP_Far_Apply(s,1,t,1,X1);
Error in [StokesSolver>@(x)A_SD_operator(x,I,N,s,SM,t,h,mu,NPt)](matlab:matlab.internal.language.introspective.errorDocCallback('StokesSolver>@(x)A_SD_operator(x,I,N,s,SM,t,h,mu,NPt)', '/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/StokesSolver.m', 95)) ([line 95](matlab: opentoline('/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/StokesSolver.m',95,0)))
Aop=@(x)A_SD_operator(x,I,N,s,SM,t,h,mu,NPt);
Error in [StokesSolver](matlab:matlab.internal.language.introspective.errorDocCallback('StokesSolver', '/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/StokesSolver.m', 142)) ([line 142](matlab: opentoline('/MATLAB Drive/DPLS-demos/multiinclusion_Stokes/StokesSolver.m',142,0)))
Bw=B+([Aop(H(:,1)),Aop(H(:,2))])*R(:,1:2)';
I'm running this in a clean MATLAB 2023b Online environment
>> system("command uname -a")
Linux bonline23b-prod-j2521687b-matlab-pool-v2-f4c7fdb4d-4dcjs 5.15.0-1052-aws #57~20.04.1-Ubuntu SMP Mon Jan 15 17:04:56 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
I think the mex file is failing to find the correct version of fortran. I unsuccesfully tried recompiling the mex file using
>> mex -R2017b fmm2d_r2012a.c
Building with 'gcc'.
Error using [mex](matlab:matlab.internal.language.introspective.errorDocCallback('mex'))
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub1':
fmm2d_r2012a.c:(.text+0x26fb): undefined reference to `hfmm2dpartself_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub2':
fmm2d_r2012a.c:(.text+0x4039): undefined reference to `hfmm2dparttarg_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub3':
fmm2d_r2012a.c:(.text+0x56a9): undefined reference to `h2dpartdirect_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub4':
fmm2d_r2012a.c:(.text+0x668e): undefined reference to `lfmm2dpartself_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub5':
fmm2d_r2012a.c:(.text+0x7e14): undefined reference to `lfmm2dparttarg_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub6':
fmm2d_r2012a.c:(.text+0x930c): undefined reference to `l2dpartdirect_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub7':
fmm2d_r2012a.c:(.text+0x9e82): undefined reference to `zfmm2dpartself_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub8':
fmm2d_r2012a.c:(.text+0xb107): undefined reference to `zfmm2dparttarg_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub9':
fmm2d_r2012a.c:(.text+0xc146): undefined reference to `z2dpartdirect_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub10':
fmm2d_r2012a.c:(.text+0xd002): undefined reference to `cfmm2dpartself_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub11':
fmm2d_r2012a.c:(.text+0xe6a9): undefined reference to `cfmm2dparttarg_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub12':
fmm2d_r2012a.c:(.text+0xfab3): undefined reference to `c2dpartdirect_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub13':
fmm2d_r2012a.c:(.text+0x10928): undefined reference to `rfmm2dpartself_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub14':
fmm2d_r2012a.c:(.text+0x11f0d): undefined reference to `rfmm2dparttarg_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub15':
fmm2d_r2012a.c:(.text+0x132b2): undefined reference to `r2dpartdirect_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub16':
fmm2d_r2012a.c:(.text+0x1369e): undefined reference to `prini_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub17':
fmm2d_r2012a.c:(.text+0x1440a): undefined reference to `d2tstrcr_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub18':
fmm2d_r2012a.c:(.text+0x15853): undefined reference to `d2tstrcrem_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub19':
fmm2d_r2012a.c:(.text+0x15f4a): undefined reference to `d2tgetb_'
/usr/bin/ld: /tmp/mex_1222581229252386_20/fmm2d_r2012a.o: in function `mexStub20':
fmm2d_r2012a.c:(.text+0x16474): undefined reference to `d2tgetl_'
collect2: error: ld returned 1 exit status
and
>> system("make -f makefile.mwrap -j4 TARGET=matlab-linux-a64-openmp clean")
rm -f hfmm2dpart.o hfmm2drouts.o d2tstrcr_omp.o d2mtreeplot.o h2dterms.o helmrouts2d.o cdjseval2d.o hank103.o prini.o cfmm2dpart.o zfmm2dpart.o lfmm2dpart.o rfmm2dpart.o lfmm2drouts.o l2dterms.o laprouts2d.o
ans =
0
>> system("make -f makefile.mwrap -j4 TARGET=matlab-linux-a64-openmp")
make: *** No rule to make target 'hfmm2dpart.f', needed by 'hfmm2dpart.o'. Stop.
ans =
2
Struggling to make progress from here. Does this have to be run with MATLAB2012a? Any help would be appreciated!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.