Skip to content

Commit

Permalink
Converting inner constructor to outer constructor
Browse files Browse the repository at this point in the history
MultiFieldFESpaceComponent
  • Loading branch information
amartinhuertas committed Dec 21, 2021
1 parent 1d2d09c commit ea21295
Showing 1 changed file with 15 additions and 13 deletions.
28 changes: 15 additions & 13 deletions src/MultiField/MultiFieldFESpaces.jl
Original file line number Diff line number Diff line change
Expand Up @@ -93,22 +93,24 @@ struct MultiFieldFEBasisComponent{B} <: FEBasis
single_field::B
fieldid::Int
nfields::Int
function MultiFieldFEBasisComponent(
single_field::SingleFieldFEBasis,fieldid::Integer,nfields::Integer)
function block_dofs(cell_bs,::TestBasis,fieldid,nfields)
cell_basis = lazy_map(BlockMap(nfields,fieldid),cell_bs)
end
function block_dofs(cell_bs,::TrialBasis,fieldid,nfields)
cell_basis = lazy_map(BlockMap((1,nfields),fieldid),cell_bs)
end
B = typeof(single_field)
cell_bs = get_data(single_field)
bsty = BasisStyle(single_field)
cell_basis = block_dofs(cell_bs,bsty,fieldid,nfields)
new{B}(cell_basis,single_field,fieldid,nfields)
end

function MultiFieldFEBasisComponent(
single_field::SingleFieldFEBasis,fieldid::Integer,nfields::Integer)
function block_dofs(cell_bs,::TestBasis,fieldid,nfields)
cell_basis = lazy_map(BlockMap(nfields,fieldid),cell_bs)
end
function block_dofs(cell_bs,::TrialBasis,fieldid,nfields)
cell_basis = lazy_map(BlockMap((1,nfields),fieldid),cell_bs)
end
B = typeof(single_field)
cell_bs = get_data(single_field)
bsty = BasisStyle(single_field)
cell_basis = block_dofs(cell_bs,bsty,fieldid,nfields)
MultiFieldFEBasisComponent{B}(cell_basis,single_field,fieldid,nfields)
end


CellData.get_data(f::MultiFieldFEBasisComponent) = f.cell_basis
CellData.get_triangulation(f::MultiFieldFEBasisComponent) = get_triangulation(f.single_field)
FESpaces.BasisStyle(::Type{<:MultiFieldFEBasisComponent{B}}) where B = BasisStyle(B)
Expand Down

0 comments on commit ea21295

Please sign in to comment.