lucasmyers97 / maier-saupe-lc-hydrodynamics

Work at University of Minnesota using finite element methods to simulate hydrodynamics of liquid crystals with a Maier-Saupe field theory free energy
4 stars 0 forks source link

Better way to fix internal boundaries #58

Open lucasmyers97 opened 1 year ago

lucasmyers97 commented 1 year ago

Probably what should happen is that everything is done with the user_index, and that everything with respect to that should be done in the NematicSystemMPI class. Hence, a non-const reference to a Triangulation would have to be passed in, and NematicSystemMPI would just have to make sure that the user_index are cleared at the end. Further, the information that's needed to set internal boundary conditions is a struct which contains:

  1. A function which eats a cell object and spits out an unsigned int which corresponds to the internal region which will have boundaries.
  2. A map between unsigned ints (perhaps aliased as internal_region_id or something) and dealii::Function pointers.

Then the functions internal to NematicSystemMPI just set the user_index based on the function from 1. and then add lines to the AffineConstraints objects using 2. and the SetDefectBoundaries function (although I should rename that for sure).