248 |
sub DomainMeshCheck{ |
sub DomainMeshCheck{ |
249 |
|
|
250 |
# $domainop = required domain operation |
# $domainop = required domain operation |
251 |
|
# $bc = value of Dirichlet boundary condition on outside mesh boundary |
252 |
# $signature = expected result |
# $signature = expected result |
253 |
|
|
254 |
my ($domainop,$signature) = @_; |
my ($domainop,$bc,$signature) = @_; |
255 |
|
|
256 |
# The list of useful povray objects, written to one povray file |
# The list of useful povray objects, written to one povray file |
257 |
# and used as necessary in the following FF3D script. |
# and used as necessary in the following FF3D script. |
288 |
$script .= "u = 1 on <1,0,0>;\n" if $domainop =~ /<1,0,0>/; |
$script .= "u = 1 on <1,0,0>;\n" if $domainop =~ /<1,0,0>/; |
289 |
$script .= "u = 1 on <0,1,0>;\n" if $domainop =~ /<0,1,0>/; |
$script .= "u = 1 on <0,1,0>;\n" if $domainop =~ /<0,1,0>/; |
290 |
$script .= "u = 1 on <0,0,1>;\n" if $domainop =~ /<0,0,1>/; |
$script .= "u = 1 on <0,0,1>;\n" if $domainop =~ /<0,0,1>/; |
291 |
$script .= << 'EOF'; |
|
292 |
u = 0 on M; |
# The outside Dirichlet boundary condition value has to change |
293 |
} |
# depending on whether we compute the Laplacian on the inside or |
294 |
EOF |
# on the outside of the immersed object. |
295 |
|
|
296 |
|
$script .= "u = $bc on M;\n}\n"; |
297 |
|
|
298 |
|
# Debugging output |
299 |
|
|
300 |
|
$script .= "save(medit,\"test\",M);\nsave(medit,\"test\",u,M);\n"; |
301 |
|
|
302 |
# Final trace output, aimed at testing point values scattered |
# Final trace output, aimed at testing point values scattered |
303 |
# around the domain. |
# around the domain. |