Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Nov 03 19:34

    christopher-dG on set-up-TagBot

    (compare)

  • Nov 03 19:23

    christopher-dG on master

    Automated commit made by MassIn… Merge pull request #7 from SciM… (compare)

  • Nov 03 19:23
    christopher-dG closed #7
  • Nov 03 19:20
    christopher-dG opened #7
  • Nov 03 19:20

    christopher-dG on set-up-TagBot

    Automated commit made by MassIn… (compare)

  • Feb 10 12:18

    ChrisRackauckas on master

    Delete REQUIRE (compare)

  • Feb 08 15:39

    ChrisRackauckas on master

    Install TagBot as a GitHub Acti… Merge pull request #6 from Juli… (compare)

  • Feb 08 15:39
    ChrisRackauckas closed #6
  • Feb 08 15:03
    JuliaTagBot opened #6
  • Nov 21 2019 22:29

    ChrisRackauckas on master

    Delete CompatHelper.yml (compare)

  • Nov 21 2019 16:07

    ChrisRackauckas on master

    Add CompatHelper.jl to repo (compare)

  • Nov 21 2019 15:11

    ChrisRackauckas on master

    Add journal to CITATION.bib (compare)

  • Nov 21 2019 15:07

    ChrisRackauckas on master

    Add journal to CITATION.bib (compare)

  • Nov 21 2019 15:03

    ChrisRackauckas on master

    Add journal to CITATION.bib (compare)

  • Nov 21 2019 15:02

    ChrisRackauckas on master

    Add journal to CITATION.bib (compare)

  • Jul 30 2019 15:27
    ChrisRackauckas removed as member
  • Jun 24 2019 11:37

    ChrisRackauckas on master

    Add journal to CITATION.bib (compare)

  • Jun 24 2019 11:32

    ChrisRackauckas on master

    Add CITATION.bib Merge pull request #5 from asin… (compare)

  • Jun 24 2019 11:32
    ChrisRackauckas closed #5
  • May 05 2019 03:28
    coveralls commented #5
Christopher Rackauckas
@ChrisRackauckas
what we're doing is developing a full wrapper so it can be accessed at a low-level, then putting these higher level interfaces so common equations can be easily solved
so diffusion with all of the goodies should be one of those
we may only get through the low-level wrapper by this summer though: we have ran into some difficulties
Daniel Karrasch
@dkarrasch
Ok, good luck then!
Francis J. Poulin
@francispoulin
I am very new to Julia and looking for some advise on how best to proceed. I am currently using Fenics to solve FEM methods but have also used Finite Difference and Spectral Methods. couple of years ago I had a summer student who was writing code to solve a system of nonlinear wave equations in python and we wanted to parallelize it using mpi4py. He suggested we use Julia and i was open to the idea but he couldnt find enough docs to figure out how to do it.
I have two questions. First, if i wanted to solve PDEs in parallel using FDs how do you suggest i should proceed and how much work do you think it might be?
Francis J. Poulin
@francispoulin
Second, if i wanted to solve PDEs using the FEM i see there are several packages out there. I found one in DiffEqTutorial that looks promising but it is limited and Chris said it needed a lot of restructuring. What approach do people suggest and how much work do you think it will take to get started?
Shivin Srivastava
@shivin9
Hi @francispoulin, DerivativeOperator uses parallelism intrinsically so you need not bother about that. However if you are talking of solving equations in parallel then you might take a look at pmap and threading structs provided by Julia
It shouldn't take much work in my opinion.
Christopher Rackauckas
@ChrisRackauckas
@shivin9 it uses multithreading internally
but not multiprocessing
if he's looking for an MPI-type alternative, it would need multiprocessing.
@francispoulin what size are you looking at?
I think one good way to handle this is to make separate dispatches for DistributedArray inputs which does distributed parallelism
it can be built off of pretty much the same inner loop code, but then just do the parallelism differently.
I don't think this would be that difficult
it would just be about understanding https://github.com/JuliaParallel/DistributedArrays.jl
and then using it to form a separate dispatch here:
Shivin Srivastava
@shivin9
multiple equations are being solved simultaneously here
of course the two equations are coupled so it's a different case I guess
Christopher Rackauckas
@ChrisRackauckas
system of nonlinear wave equations would be coupled as well
then then there are extra methods for that case (or it does the conversion to first order internally if you use a standard method)
As for FEM, that's a doozie
essentially, DifferentialEquations.jl started its FEM stuff about a year ago when I started writing an FEM toolbox
but it's not going to be finished
so the current stuff is just some linear elements and assembly for Laplacians
all of the solvers are written in an old style instead of using the ODE solvers, so they need to be re-worked as well
Christopher Rackauckas
@ChrisRackauckas
in the end, what really needs to happen is the FEM toolbox needs to go to something more robust like FEniCS
and then expanded to more equations
and instead of hardcoding solvers, just call out to ODE solvers
there is almost an ODE solver for each of the ones in there, except for the few IMEX methods like semi-implicit Euler and stuff like that
but I've been leaving that for a possible GSoC project (unless someone wants to get started sooner)
but the engineering that was required to build methods for split equations is already in place
Francis J. Poulin
@francispoulin
Thank you @shivin9 and @Crhis
Thank you @shivin9 and @ChrisRackauckas for your helpful replies. Where to begin? I am interested in developing this code both for teaching purposes and for research, to share with my group as well as colleagues. For classes it would be fine to run things in serial, but certainly threading would be nice. For research, having multiprocessing would be a great asset. I remember looking at the Distributed Arrays a while back thinking that was a good thing to learn. I didn't before but now I have my chance. Ideally I will find a clever summer student to help develop this code and I will let you know how things go, and when I have more questions.
Christopher Rackauckas
@ChrisRackauckas
I think the distributed arrays part is a good start
it should be a relatively straightword exercise in adding a new dispatch to specialize on an array type
Francis J. Poulin
@francispoulin
As for the FEM, I take this to mean that I should probably keep on using FEniCS for a while since that is already established. I would be keep to help in developing a FEM toolbox but it sounds like a bit task for me right now, with many other things going on.
Christopher Rackauckas
@ChrisRackauckas
there are some other Julia projects developing FEM toolboxes
our long term plan is to use whichever one really takes off
but building an FEM toolbox takes years and years
Francis J. Poulin
@francispoulin
@ChrisRackauckas Thank you for the extra link and I will keep up with the different FEM toolboxes out there and try and help where I can. Thanks again.
Christopher Rackauckas
@ChrisRackauckas
they are definitely not super accessible or far along quite yet though
I'll be putting out a DiffEq 3.0 release post, with 4.0 milestones. One of the big things for 4.0 is finding out how to really handle PDEs
Francis J. Poulin
@francispoulin
Thanks @ChrisRackauckas . I had seen JuliaFEM but not JuAFEM. I will make sure to check them both out and I hope to figure them out and contribute in a positive way.