sfepy/sfepy — Issue #23: new input syntax for boundary conditions
Author: rc
Created: 2012-01-30 10:24:08+00:00
State: open

This is motivated by needing different sets of boundary conditions for
various subproblems of a single computation, namely solving the subproblems
for the corrector functions of micro-problems related to a homogenization
of porous media.

EBC = essential BC

old syntax:
ebc = {
'Corners' : (('fixed_u', (0, 1, 2), 0.0 ),),
'EBCGammaI' : (('fixed_p_zero', (8,), 0.0),), # % variantI
'EBCGamma' : (('fixed_p_one', (8,), 1.0),), # % variant
}

new syntax (similar to regions, solvers, ...):
ebc_1 = {
'name' : 'fixed_u',
'region' : 'Corners',
'dofs' : (0, 1, 2),
'value' : 0.0
}
ebc_2 = {
'name' : 'fixed_p_zero',
'region' : 'EBCGammaI',
'dofs' : (8,),
'value' : 0.0
}
ebc_3 = {
'name' : 'fixed_p_one',
'region' : 'EBCGamma',
'dofs' : (8,),
'value' : 1.0
}

The used EBC could then be selected by their names and combined at wish.

Similarly should be updated also LCBC (linear combination BC) and EPBC
(periodic BC).

Migrated from http://code.google.com/p/sfepy/issues/detail?id=19

earlier comments

robert.cimrman said, at 2008-02-18T14:12:49.000Z:

Also: order of EBC application will be given by the lexicographical ordering of their
definition names ('ebc_0' < 'ebc_020' < 'ebc_10').

robert.cimrman said, at 2008-02-18T15:47:43.000Z:

Implemented as discussed above.