Skip to content

Latest commit

 

History

History
67 lines (60 loc) · 1.87 KB

File metadata and controls

67 lines (60 loc) · 1.87 KB

TODO

Prioritized Entities

Required for writing (a minimal version of) Example 1.

  • Mesh
  • Mesh::Dimension()
  • Mesh::GetNE()
  • Mesh::UniformRefinement()
  • Mesh::bdr_attributes
  • Mesh::Save()
  • FiniteElementCollection
  • FiniteElementCollection::Name()
  • H1_FECollection
  • Mesh::GetNodes()
  • GridFunction
  • GridFunction::OwnFEC()
  • GridFunction::SetAll()
  • GridFunction::Save()
  • FiniteElementSpace
  • FiniteElementSpace::GetTrueVSize()
  • FiniteElementSpace::GetEssentialTrueDofs()
  • Array
  • Array::Size()
  • Array::Max()
  • Array::SetAll()
  • LinearForm
  • LinearForm::AddDomainIntegrator()
  • LinearForm::Assemble()
  • ConstantCoefficient
  • DomainLFIntegrator
  • BilinearForm
  • BilinearForm::AddDomainIntegrator()
  • BilinearForm::Assemble()
  • BilinearForm::FormLinearSystem()
  • BilinearForm::RecoverFEMSolution()
  • DiffusionIntegrator
  • OperatorHandle
  • OperatorHandle::try_as_SparseMatrix()
  • Operator
  • Operator::Height()
  • Vector
  • GSSmoother
  • GSSmoother::as_mut_Solver()
  • Solver
  • PCG

High-Level Wrapper

  • Turn method-like wrapper functions into real methods
  • Hide sharp bits such as UniquePtr, C/C++ strings, etc.
  • Turn C++ base classes into traits
  • Phase out custom traits
    • AsBase -> AsRef
    • IntoBase -> Into

Stretch Goals

  • Revisit SomethingRef types
  • Get rid of ArrayInt and use &[i32] and Vec<i32> instead
  • Separate the different uses of Array<int> on the type level:
    • DomainMarker
    • BoundaryMarker
    • DofList
  • Make a FunctionCoefficient that can wrap a Rust fn-like thing
  • GridFunction::ProjectCoefficient()