Research projects under my supervision

I am always looking for highly motivated and talented research students at different academic levels (undergraduate, PhB, Honours, Masters, and PhD/MPhil). These include individual research projects for ANU students enrolled in COMP3770/4550/8603/8604/8800/SCNC2101.

Generally speaking, the research projects to be performed under my supervision lie on the interface of numerical methods for the solution of Partial Differential Equations (mainly finite element methods and scalable multilevel solvers), High Performance Computing, and Scientific Machine Learning. See also here for more details on my research interests and achievements. Thus, they require excellent computational and mathematical problem solving skills (e.g., numerical methods for PDEs and numerical linear algebra), and preferably some prior experience in numerical computing and/or HPC. You should have excellent written and oral English proficiency, strong programming skills (preferably in Julia, although not a must), some familiarity with parallel computing architectures (multicore CPUs, distributed-memory computers and/or GPUs), programming models (such as MPI, OpenMP and/or CUDA) and scientific software version control using Git.

As a reference (not actually a requirement) some ANU courses that are helpful to build the skill set required to succeed in research projects under my supervision include (although not restricted to): High Performance Scientific Computation (COMP3320), Parallel Systems (COMP4300), Finite Element Analysis (ENGN6615), Matrix Computations (MATH3512), Scientific Computing (MATH3511) and Numerical Optimisation (MATH3514).

As a reference, example topics for research projects are as follows:

  • Matrix-free techniques for the efficient exploitation of multicore CPUs and many-core accelerators in the preconditioned iterative solution of hybridizable PDE discretizations (HDG, HHO, etc.) using multilevel preconditioners.

  • Leveraging many-task, DAG-based, asynchronous parallel programming models in Julia in order to extract distant parallelism out of key algorithms in the finite element simulation pipeline (e.g., multilevel solvers) towards increased parallel efficiency and efficient exploitation of heterogeneous hardware architectures (GPUs, co-processors, etc.)

  • Leveraging synergies among artificial neural networks and finite element methods for the numerical solution of forward and inverse PDEs.

If you are interested in performing a research project under my supervision, you can directly email me. Carefully write your email, avoiding typos and obvious mistakes. Include in your message background information (e.g., research project academic level, courses taken, academic transcript, programming and mathematical skills) and a concise statement about your motivation to undertake a project under my supervision. Based on your email, I will decide whether we can proceed with an interview. Before emailing, please also read the following:

  • First, familiarise with the ANU entry requirements for the corresponding academic degree. Entry requirements for Honours students are available here while those for PhD/Mphil students here.

  • Second, if you are an ANU undergraduate or masters' student interested in Honours, I have various existing project ideas that we may discuss. In any case, project ideas are not limited to the ones I have already in mind. As long as a project aligns with my research directions, I am also happy for you to propose your own project. Therefore, email me to express your interest, including background information (e.g., courses taken, academic transcript, and programming skills) and a concise statement about the research that you would like to undertake.

  • Third, for prospective PhD/MPhil students with an excellent academic track record, you might also consider to apply for an ANU research scholarship along with your application to the PhD/MPhil program. See here for more details.

CC BY-SA 4.0 Alberto F Martín. Last modified: April 24, 2024. Website built with Franklin.jl and the Julia programming language.