Thank you very much your kind reply.
Could I have one more question..?
You mention that
>
> The difference that in step-3, you are imposing *strong* boundary
> conditions,
> whereas in step-20, you are imposing *weak* boundary conditions.
>
>
Then, is there anyway to use strong boundary condition using FESystem<dim>
Because, It seems that the below thing, that I added in step-20, doesn't
work out.
//test for strong boundary condtion
std::map<types::global_dof_index,double> boundary_values_strong;
VectorTools::interpolate_boundary_values (dof_handler,
0,
ZeroFunction<dim>(),
boundary_values_strong);
MatrixTools::apply_boundary_values (boundary_values_strong,
system_matrix.block(1,1),
solution.block(1),
system_rhs.block(1));
//test for strong boundary condtion
The error message is...
An error occurred in line <1783> of file
</user2/hanks318/dealii/dealii-8.3.0/include/deal.II/numerics/vector_tools.templates.h>
in function
void
dealii::VectorTools::<unnamed>::do_interpolate_boundary_values(const
M_or_MC<DH::dimension, DH::space_dimension>&, const DH&, const typename
dealii::FunctionMap<DH::space_dimension, double>::type&, std::map<unsigned
int, double, std::less<unsigned int>, std::allocator<std::pair<const
unsigned int, double> > >&, const dealii::ComponentMask&,
dealii::internal::int2type<dim_>) [with DH = dealii::DoFHandler<2, 2>,
M_or_MC = dealii::Mapping, int dim_ = 2]
The violated condition was:
n_components == i->second->n_components
The name and call sequence of the exception was:
ExcDimensionMismatch(n_components, i->second->n_components)
Additional Information:
Dimension 3 not equal to 1
Stacktrace:
-----------
#0 /user2/hanks318/dealii/dealii_pre/lib/libdeal_II.g.so.8.3.0:
#1 /user2/hanks318/dealii/dealii_pre/lib/libdeal_II.g.so.8.3.0: void
dealii::VectorTools::interpolate_boundary_values<dealii::DoFHandler<2, 2>
>(dealii::Mapping<dealii::DoFHandler<2, 2>::dimension,
dealii::DoFHandler<2, 2>::space_dimension> const&, dealii::DoFHandler<2, 2>
const&, dealii::FunctionMap<dealii::DoFHandler<2, 2>::space_dimension,
double>::type const&, std::map<unsigned int, double, std::less<unsigned
int>, std::allocator<std::pair<unsigned int const, double> > >&,
dealii::ComponentMask const&)
#2 /user2/hanks318/dealii/dealii_pre/lib/libdeal_II.g.so.8.3.0: void
dealii::VectorTools::interpolate_boundary_values<dealii::DoFHandler<2, 2>
>(dealii::Mapping<dealii::DoFHandler<2, 2>::dimension,
dealii::DoFHandler<2, 2>::space_dimension> const&, dealii::DoFHandler<2, 2>
const&, unsigned char, dealii::Function<dealii::DoFHandler<2,
2>::space_dimension, double> const&, std::map<unsigned int, double,
std::less<unsigned int>, std::allocator<std::pair<unsigned int const,
double> > >&, dealii::ComponentMask const&)
#3 /user2/hanks318/dealii/dealii_pre/lib/libdeal_II.g.so.8.3.0: void
dealii::VectorTools::interpolate_boundary_values<dealii::DoFHandler<2, 2>
>(dealii::DoFHandler<2, 2> const&, unsigned char,
dealii::Function<dealii::DoFHandler<2, 2>::space_dimension, double> const&,
std::map<unsigned int, double, std::less<unsigned int>,
std::allocator<std::pair<unsigned int const, double> > >&,
dealii::ComponentMask const&)
#4 ./step-20: Step20::MixedLaplaceProblem<2>::assemble_system()
#5 ./step-20: Step20::MixedLaplaceProblem<2>::run()
#6 ./step-20: main
--------------------------------------------------------
Thank you.
Kyusik.
--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see
https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.