[bddcml-users] bddcml : example ?

Jakub Sistek sistek at math.cas.cz
Fri Jun 14 00:18:05 CEST 2013


Hello,

sorry about the missing examples. However, an example is attached. It is 
quite recent, and it is contained within the version on git. It should 
go to the examples/ subdirectory (as well as the updated Makefile). I 
recommend anyway to use the version downloaded from git, as there are 
some major changes important for scalability on very large numbers of 
cores. The example creates a simple mesh on a cube and solves a Poisson 
equation on it. I hope the example is reasonably commented and sort of 
self-explanatory. No input data are needed for it.
To run it, you just need to specify
mpirun -np X poisson_on_cube NUM_EL_PER_SUB_EDGE NUM_SUB_PER_CUBE_EDGE 
NLEVELS
where
X - is number of processes
NUM_EL_PER_SUB_EDGE - number of cubic elements on an edge of a 
subdomain, known as H/h in DD theory
NUM_SUB_PER_CUBE_EDGE - number of cubic subdomains on an edge of the 
unit cube
NLEVELS - number of levels employed by BDDC, say 2,3,4 are reasonable values

I will be happy if you let me know about your experience with the code.

Best wishes

Jakub


On 06/13/2013 11:06 PM, bob wrote:
>
> Hello,
>
> Do you plan to provide a complete example (mesh, matrices ...) to test 
> the code in the next release or on the website?
>
>
> Thanking you in advance
>
> Bob 


-- 
Jakub Sistek, Ph.D.
Institute of Mathematics of the AS CR
http://www.math.cas.cz/~sistek
tel: (+420) 222 090 710

-------------- next part --------------
A non-text attachment was scrubbed...
Name: poisson_on_cube.f90
Type: text/x-fortran
Size: 39979 bytes
Desc: not available
Url : http://list.math.cas.cz/pipermail/bddcml-users/attachments/20130614/b254220e/attachment-0001.bin 
-------------- next part --------------
# general setting on system (compiler, flags, libraries)
include ../make.inc

# include files needed
# libraries needed
LIBS = $(BDDCML_LINK_SEQUENCE) 
EXAMPLES = bddcml_global bddcml_local poisson_on_cube
##############################################################
# GNU Make automatic variables:
# $@ - target
# $^ - all prerequisities
# $< - first prerequisity
# rules
all: $(EXAMPLES)

# general rule s for compiling objects
%.o : %.f90
	$(BDDCML_MPFC) $(BDDCML_MPFFLAGS) -I../src -c $<

# building binaries
poisson_on_cube: \
   poisson_on_cube.o \
   $(LIBBDDCML)
	$(BDDCML_MPFC) $(BDDCML_MPFFLAGS) -o $@ $^ $(LIBS) 

bddcml_global: \
   bddcml_global.o \
   $(LIBBDDCML)
	$(BDDCML_MPFC) $(BDDCML_MPFFLAGS) -o $@ $^ $(LIBS) 

bddcml_local: \
   bddcml_local.o \
   $(LIBBDDCML)
	$(BDDCML_MPFC) $(BDDCML_MPFFLAGS) -o $@ $^ $(LIBS) 
clean:
	-rm -f *.o *.mod $(EXAMPLES)


More information about the bddcml-users mailing list