-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sorting out boundary conditions #28
Conversation
This needs some modifications for the linear elasticity parameterized problem to work. |
@@ -427,14 +428,20 @@ void LinElastSolver::SetupDomainBCOperators() | |||
continue; | |||
if (!BCExistsOnBdr(b)) | |||
continue; | |||
as[m]->AddBdrFaceIntegrator(new DGElasticityIntegrator(*(lambda_c[m]), *(mu_c[m]), alpha, kappa), *(bdr_markers[b])); | |||
|
|||
if (bdr_type[b] == BoundaryType::DIRICHLET) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should also be true for the Zero Neumann condition.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you sure about this? zero Neumann condition will be filtered out at the previous if clause, both previous and current version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No I think that you're right. The examples all seem to work well now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
@@ -427,14 +428,20 @@ void LinElastSolver::SetupDomainBCOperators() | |||
continue; | |||
if (!BCExistsOnBdr(b)) | |||
continue; | |||
as[m]->AddBdrFaceIntegrator(new DGElasticityIntegrator(*(lambda_c[m]), *(mu_c[m]), alpha, kappa), *(bdr_markers[b])); | |||
|
|||
if (bdr_type[b] == BoundaryType::DIRICHLET) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No I think that you're right. The examples all seem to work well now.
BoundaryType
is now independent, applicable to all problems.BoundaryType::ZERO
is reserved for zero Dirichlet boundary condition.MultiBlockSolver
hasArray<BoundaryType> bdr_type
, indicating boundary types for all global boundary attributes.MultiBlockSolver::SetParameterizedProblem
specifiesbdr_type
according toproblem
. Executed in all derived classes.SetupBCOperator
now supports various boundary conditions depending on Dirichlet/Neumann boundary types, specified by member variablebdr_type
.MultiBlockSolver::BCExistsOnBdr
still behaves the same as before, returning whether a boundary condition is specified.