sfepy.homogenization.coefs_base module

class sfepy.homogenization.coefs_base.CoefDim(name, problem, kwargs)[source]
class sfepy.homogenization.coefs_base.CoefDimDim(name, problem, kwargs)[source]
class sfepy.homogenization.coefs_base.CoefDimNonSym(name, problem, kwargs)[source]
class sfepy.homogenization.coefs_base.CoefDimSym(name, problem, kwargs)[source]
class sfepy.homogenization.coefs_base.CoefDummy(name, problem, kwargs)[source]

Dummy class serving for computing and returning its requirements.

class sfepy.homogenization.coefs_base.CoefEval(name, problem, kwargs)[source]

Evaluate expression.

class sfepy.homogenization.coefs_base.CoefExprPar(name, problem, kwargs)[source]

The coefficient which expression can be parametrized via ‘expr_pars’, the dimension is given by the number of parameters.

Example:

‘expression’: ‘dw_surface_ndot.5.Ys(mat_norm.k%d, corr1)’, ‘expr_pars’: [ii for ii in range(dim)], ‘class’: cb.CoefExprPar,

static set_variables_default(variables, ir, set_var, data)[source]
class sfepy.homogenization.coefs_base.CoefMN(name, problem, kwargs)[source]
get_coef(row, col, volume, problem, data)[source]
static set_variables_default(variables, ir, ic, mode, set_var, data, dtype)[source]
class sfepy.homogenization.coefs_base.CoefN(name, problem, kwargs)[source]
get_coef(row, volume, problem, data)[source]
static set_variables_default(variables, ir, ic, mode, set_var, data, dtype)[source]
class sfepy.homogenization.coefs_base.CoefNonSym(name, problem, kwargs)[source]
is_sym = False
static iter_sym(dim)
class sfepy.homogenization.coefs_base.CoefNonSymDim(name, problem, kwargs)[source]
class sfepy.homogenization.coefs_base.CoefNonSymNonSym(name, problem, kwargs)[source]
is_sym = False
static iter_sym(dim)
class sfepy.homogenization.coefs_base.CoefNone(name, problem, kwargs)[source]
class sfepy.homogenization.coefs_base.CoefOne(name, problem, kwargs)[source]
static set_variables_default(variables, set_var, data, dtype)[source]
class sfepy.homogenization.coefs_base.CoefSum(name, problem, kwargs)[source]
class sfepy.homogenization.coefs_base.CoefSym(name, problem, kwargs)[source]
is_sym = True
static iter_sym(dim)
class sfepy.homogenization.coefs_base.CoefSymDim(name, problem, kwargs)[source]
class sfepy.homogenization.coefs_base.CoefSymSym(name, problem, kwargs)[source]
is_sym = True
static iter_sym(dim)
class sfepy.homogenization.coefs_base.CorrApplyFunction(name, problem, kwargs)[source]

Apply a user function to components of the requirements that correspond to each other.

The user function positional arguments are problem, data (see CorrApplyFunction.__call__()) and the requirements in the order specified in the ‘requires’ list in the corrector configuration.

If there are no requirements, either ‘variables’ or ‘variable’ key must be present in the corrector configuration.

Examples

Sum correponding components of three correctors:

requirements = {
    ...
    'corrs_sum': {
        'requires': ['corrs1', 'corrs2, corrs3],
        'function': lambda problem, data, a, b, c: a + b + c,
        'class': CorrApplyFunction,
        'save_name': 'corrs_sum',
    },
    ...
}
class sfepy.homogenization.coefs_base.CorrDim(name, problem, kwargs)[source]
class sfepy.homogenization.coefs_base.CorrDimDim(name, problem, kwargs)[source]
class sfepy.homogenization.coefs_base.CorrEqPar(name, problem, kwargs)[source]

The corrector which equation can be parametrized via ‘eq_pars’, the dimension is given by the number of parameters.

Example:

‘equations’: ‘dw_diffusion.5.Y(mat.k, q, p) =

dw_integrate.5.%s(q)’,

‘eq_pars’: (‘bYMp’, ‘bYMm’), ‘class’: cb.CorrEqPar,

class sfepy.homogenization.coefs_base.CorrEval(name, problem, kwargs)[source]
class sfepy.homogenization.coefs_base.CorrMiniApp(name, problem, kwargs)[source]
get_output(corr_sol, is_dump=False, extend=True, variables=None, var_map=None)[source]
get_save_name(save_format='.h5', stamp='')[source]
get_save_name_base()[source]
save(state, problem, variables=None, ts=None, var_map=None)[source]
setup_output(save_formats=None, post_process_hook=None, split_results_by=None)[source]

Instance attributes have precedence!

class sfepy.homogenization.coefs_base.CorrN(name, problem, kwargs)[source]
static set_variables_default(variables, ir, set_var, data)[source]
class sfepy.homogenization.coefs_base.CorrNN(name, problem, kwargs)[source]

__init__() kwargs: {

‘ebcs’ : [], ‘epbcs’ : [], ‘equations’ : {}, ‘set_variables’ : None,

},

static set_variables_default(variables, ir, ic, set_var, data)[source]
class sfepy.homogenization.coefs_base.CorrOne(name, problem, kwargs)[source]
static set_variables_default(variables, set_var, data)[source]
class sfepy.homogenization.coefs_base.CorrSetBCS(name, problem, kwargs)[source]
class sfepy.homogenization.coefs_base.CorrSolution(**kwargs)[source]

Class for holding solutions of corrector problems.

get_output(is_dump=False, var_map=None, variables=None)[source]
get_ts_val(step)[source]
iter_solutions()[source]
iter_time_steps()[source]
class sfepy.homogenization.coefs_base.MiniAppBase(name, problem, kwargs)[source]
static any_from_conf(name, problem, kwargs)[source]
init_solvers(problem)[source]

Setup solvers. Use local options if these are defined, otherwise use the global ones.

For linear problems, assemble the matrix and try to presolve the linear system.

process_options()[source]

Setup application-specific options.

Subclasses should implement this method as needed.

Returns:
app_optionsStruct instance

The application options.

class sfepy.homogenization.coefs_base.OnesDim(name, problem, kwargs)[source]
class sfepy.homogenization.coefs_base.ShapeDim(name, problem, kwargs)[source]
class sfepy.homogenization.coefs_base.ShapeDimDim(name, problem, kwargs)[source]
class sfepy.homogenization.coefs_base.TSTimes(name, problem, kwargs)[source]

Coefficient-like class, returns times of the time stepper.

class sfepy.homogenization.coefs_base.VolumeFractions(name, problem, kwargs)[source]

Coefficient-like class, returns volume fractions of given regions within the whole domain.