OpenCMISS-Iron Internal API Documentation
|
This module handles all boundary conditions routines. More...
Data Types | |
interface | boundary_conditions_add_local_dof |
Adds to the value of the specified local DOF and sets this as a boundary condition on the specified local DOF. More... | |
interface | boundary_conditions_set_local_dof |
Sets a boundary condition on the specified local DOF. More... | |
Functions/Subroutines | |
subroutine, public | boundary_conditions_create_finish (BOUNDARY_CONDITIONS, ERR, ERROR,) |
Finish the creation of boundary conditions. More... | |
subroutine, public | boundary_conditions_create_start (SOLVER_EQUATIONS, BOUNDARY_CONDITIONS, ERR, ERROR,) |
Start the creation of boundary conditions for the equation set. More... | |
subroutine, public | boundary_conditions_destroy (BOUNDARY_CONDITIONS, ERR, ERROR,) |
Destroys boundary conditions. More... | |
subroutine | boundary_conditions_finalise (BOUNDARY_CONDITIONS, ERR, ERROR,) |
Finalise the boundary conditions and deallocate all memory. More... | |
subroutine | boundary_conditions_initialise (SOLVER_EQUATIONS, ERR, ERROR,) |
Initialises the boundary conditions for an equations set. More... | |
subroutine, public | boundary_conditions_add_constant (BOUNDARY_CONDITIONS, FIELD, VARIABLE_TYPE, COMPONENT_NUMBER, CONDITION, VALUE, ERR, ERROR,) |
Adds to the value of the specified constant and sets this as a boundary condition on the specified constant. More... | |
subroutine, public | boundary_conditions_set_constant (BOUNDARY_CONDITIONS, FIELD, VARIABLE_TYPE, COMPONENT_NUMBER, CONDITION, VALUE, ERR, ERROR,) |
Sets a boundary condition on the specified constant. More... | |
subroutine | boundary_conditions_add_local_dof1 (BOUNDARY_CONDITIONS, FIELD, VARIABLE_TYPE, DOF_INDEX, CONDITION, VALUE, ERR, ERROR,) |
Adds to the value of the specified DOF and sets this as a boundary condition on the specified DOF. More... | |
subroutine | boundary_conditions_add_local_dofs (BOUNDARY_CONDITIONS, FIELD, VARIABLE_TYPE, DOF_INDICES, CONDITIONS, VALUES, ERR, ERROR,) |
Adds to the value of the specified DOF and sets this as a boundary condition on the specified DOFs. More... | |
subroutine | boundary_conditions_set_local_dof1 (BOUNDARY_CONDITIONS, FIELD, VARIABLE_TYPE, DOF_INDEX, CONDITION, VALUE, ERR, ERROR,) |
Sets a boundary condition on the specified DOF. More... | |
subroutine | boundary_conditions_set_local_dofs (BOUNDARY_CONDITIONS, FIELD, VARIABLE_TYPE, DOF_INDICES, CONDITIONS, VALUES, ERR, ERROR,) |
Sets a boundary condition on the specified DOFs. More... | |
subroutine | boundaryconditions_setconditiontype (boundaryConditionsVariable, globalDof, condition, err, error,) |
Checks the boundary condition type and sets the boundary condition type and dof type for the boundary conditions. Makes sure any field parameter sets required are created, and sets the parameter set required array value. More... | |
subroutine, public | boundary_conditions_add_element (BOUNDARY_CONDITIONS, FIELD, VARIABLE_TYPE, USER_ELEMENT_NUMBER, COMPONENT_NUMBER, CONDITION, VALUE, ERR, ERROR,) |
Adds to the value of the specified constant and sets this as a boundary condition on the specified user element. More... | |
subroutine | boundaryconditions_checkinterpolationtype (condition, field, variableType, componentNumber, err, error,) |
Checks that the specified boundary condition is appropriate for the field variable interpolation type. More... | |
subroutine | boundaryconditions_checkequations (boundaryConditionsVariable, err, error,) |
Checks that the applied boundary conditions are supported by the equations sets in the solver equations. More... | |
subroutine, public | boundary_conditions_set_element (BOUNDARY_CONDITIONS, FIELD, VARIABLE_TYPE, USER_ELEMENT_NUMBER, COMPONENT_NUMBER, CONDITION, VALUE, ERR, ERROR,) |
Sets a boundary condition on the specified user element. More... | |
subroutine, public | boundary_conditions_add_node (BOUNDARY_CONDITIONS, FIELD, VARIABLE_TYPE, VERSION_NUMBER, DERIVATIVE_NUMBER, USER_NODE_NUMBER, COMPONENT_NUMBER, CONDITION, VALUE, ERR, ERROR,) |
Adds to the value of the specified constant and sets this as a boundary condition on the specified user node. More... | |
subroutine | boundaryconditions_neumanninitialise (boundaryConditionsVariable, err, error,) |
Initialise the Neumann boundary conditions information. More... | |
subroutine | boundaryconditions_neumannmatricesinitialise (boundaryConditionsVariable, err, error,) |
Initialise the Neumann boundary conditions matrices and vectors. This must be done after we know which DOFs have Neumann point conditions so that we can work out the matrix sparsity pattern. More... | |
subroutine | boundaryconditions_neumannfinalise (boundaryConditionsVariable, err, error,) |
subroutine | boundaryconditions_neumannmatricesfinalise (boundaryConditionsVariable, err, error,) |
subroutine, public | boundaryconditions_neumannintegrate (rhsBoundaryConditions, err, error,) |
Calculates integrated Neumann condition values from point values for a boundary conditions variable and updates the FIELD_INTEGRATED_NEUMANN_SET_TYPE parameter set for the field variable. More... | |
subroutine, public | boundaryconditions_neumannsparsitytypeset (boundaryConditions, sparsityType, err, error,) |
Sets/changes the sparsity type for the Neumann integration matrices. More... | |
subroutine, public | boundary_conditions_set_node (BOUNDARY_CONDITIONS, FIELD, VARIABLE_TYPE, VERSION_NUMBER, DERIVATIVE_NUMBER, USER_NODE_NUMBER, COMPONENT_NUMBER, CONDITION, VALUE, ERR, ERROR,) |
Sets a boundary condition on the specified user node. More... | |
subroutine | boundaryconditions_constraindofsequal (boundaryConditions, fieldVariable, globalDofs, coefficient, err, error,) |
Constrain multiple equations dependent field DOFs to be a single solver DOF in the solver equations. More... | |
subroutine, public | boundaryconditions_constrainnodedofsequal (boundaryConditions, field, fieldVariableType, versionNumber, derivativeNumber, component, nodes, coefficient, err, error,) |
Constrain multiple nodal equations dependent field DOFs to be a single solver DOF in the solver equations. More... | |
subroutine | boundaryconditions_dofconstraintset (boundaryConditions, fieldVariable, globalDof, dofs, coefficients, err, error,) |
Constrain a DOF to be a linear combination of other DOFs. More... | |
subroutine | boundaryconditions_dofconstraintscreatefinish (boundaryConditionsVariable, err, error,) |
Finish the creation of the dof constraints for a boundary conditions variable. More... | |
subroutine | boundaryconditions_dofconstraintsfinalise (dofConstraints, err, error,) |
Finalise the DOF constraints structure. More... | |
subroutine | boundaryconditions_dofconstraintsinitialise (dofConstraints, err, error,) |
Initialise the DOF constraints structure. More... | |
subroutine | boundary_conditions_variable_finalise (BOUNDARY_CONDITIONS_VARIABLE, ERR, ERROR,) |
Finalise the boundary conditions variable and deallocate all memory. More... | |
subroutine | boundaryconditions_sparsityindicesarrayfinalise (SPARSITY_INDICES_ARRAY, ERR, ERROR,) |
Finalise an array of sparcity indices and deallocate all memory. More... | |
subroutine | boundary_conditions_variable_initialise (BOUNDARY_CONDITIONS, FIELD_VARIABLE, ERR, ERROR,) |
Initialise the boundary conditions variable for a variable type if that variable has not already been initialised, otherwise do nothing. More... | |
subroutine, public | boundary_conditions_variable_get (BOUNDARY_CONDITIONS, FIELD_VARIABLE, BOUNDARY_CONDITIONS_VARIABLE, ERR, ERROR,) |
Find the boundary conditions variable for a given field variable. More... | |
subroutine | boundary_conditions_dirichlet_initialise (BOUNDARY_CONDITIONS_VARIABLE, ERR, ERROR,) |
Initialise dirichlet boundary conditions for a boundary conditions. More... | |
subroutine | boundaryconditions_sparsityindicesinitialise (SPARSITY_INDICES, NUMBER_OF_DIRICHLET, ERR, ERROR,) |
Initialise Sparsity Indices type. More... | |
subroutine | boundary_conditions_pressure_incremented_initialise (BOUNDARY_CONDITIONS_VARIABLE, ERR, ERROR,) |
Initialises the pressure incremented boundary condition. More... | |
Variables | |
integer(intg), parameter, public | boundary_condition_dof_free =0 |
The dof is free. More... | |
integer(intg), parameter, public | boundary_condition_dof_fixed =1 |
The dof is fixed as a boundary condition. More... | |
integer(intg), parameter, public | boundary_condition_dof_mixed =2 |
The dof is set as a mixed boundary condition. More... | |
integer(intg), parameter, public | boundary_condition_dof_constrained =3 |
The dof is constrained to be a linear combination of other DOFs. More... | |
integer(intg), parameter, public | boundary_condition_free =0 |
The dof is free. More... | |
integer(intg), parameter, public | boundary_condition_fixed =1 |
The dof is fixed as a boundary condition. More... | |
integer(intg), parameter, public | boundary_condition_fixed_inlet =2 |
The dof is fixed as a boundary condition. More... | |
integer(intg), parameter, public | boundary_condition_fixed_outlet =3 |
The dof is fixed as a boundary condition. More... | |
integer(intg), parameter, public | boundary_condition_fixed_wall =4 |
The dof is fixed as a boundary condition. More... | |
integer(intg), parameter, public | boundary_condition_moved_wall =5 |
The dof is fixed as a boundary condition. More... | |
integer(intg), parameter, public | boundary_condition_free_wall =6 |
The dof is fixed as a boundary condition. More... | |
integer(intg), parameter, public | boundary_condition_neumann_point =8 |
The dof is set to a Neumann point boundary condition. More... | |
integer(intg), parameter, public | boundary_condition_neumann_integrated =9 |
The dof is set to a Neumann integrated boundary condition. More... | |
integer(intg), parameter, public | boundary_condition_dirichlet =10 |
The dof is set to a Dirichlet boundary condition. More... | |
integer(intg), parameter, public | boundary_condition_cauchy =11 |
The dof is set to a Cauchy boundary condition. More... | |
integer(intg), parameter, public | boundary_condition_robin =12 |
The dof is set to a Robin boundary condition. More... | |
integer(intg), parameter, public | boundary_condition_fixed_incremented =13 |
The dof is a fixed boundary condition, to be used with load increment loop. More... | |
integer(intg), parameter, public | boundary_condition_pressure =14 |
The dof is a surface pressure boundary condition. More... | |
integer(intg), parameter, public | boundary_condition_pressure_incremented =15 |
The dof is a surface pressure boundary condition, to be used with load increment loop. More... | |
integer(intg), parameter, public | boundary_condition_moved_wall_incremented =17 |
The dof is fixed as a boundary condition, to be used with load increment loop. More... | |
integer(intg), parameter, public | boundary_condition_correction_mass_increase =18 |
The dof is fixed as a boundary condition, to be used with load increment loop. More... | |
integer(intg), parameter, public | boundary_condition_impermeable_wall =19 |
The dof is set such that (via penalty formulation): velocity * normal = 0. More... | |
integer(intg), parameter, public | boundary_condition_neumann_integrated_only =20 |
A Neumann integrated boundary condition, and no point values will be integrated over a face or line that includes this dof. More... | |
integer(intg), parameter | boundary_condition_linear_constraint =21 |
The dof is constrained to be a linear combination of other DOFs. More... | |
integer(intg), parameter, public | boundary_condition_neumann_point_incremented =22 |
A Neumann point boundary condition that is incremented inside a load increment control loop. More... | |
integer(intg), parameter, public | boundary_condition_fixed_fitted =23 |
The dof is fixed as a boundary condition to be updated from fitting data. More... | |
integer(intg), parameter, public | boundary_condition_fixed_nonreflecting =24 |
The dof is fixed and set to a non-reflecting type for 1D wave propagation problems. More... | |
integer(intg), parameter, public | boundary_condition_fixed_cellml =25 |
The dof is fixed and set to values specified based on the coupled CellML solution at the dof. More... | |
integer(intg), parameter, public | boundary_condition_fixed_stree =26 |
The dof is fixed and set to values specified based on the transmission line theory at the dof. More... | |
integer(intg), parameter | max_boundary_condition_number =26 |
integer(intg), parameter, public | boundary_condition_sparse_matrices =1 |
The matrices are stored as sparse matrices. More... | |
integer(intg), parameter, public | boundary_condition_full_matrices =2 |
The matrices are stored as full matrices. More... | |
This module handles all boundary conditions routines.
subroutine, public boundary_conditions_routines::boundary_conditions_add_constant | ( | type(boundary_conditions_type), pointer | BOUNDARY_CONDITIONS, |
type(field_type), pointer | FIELD, | ||
integer(intg), intent(in) | VARIABLE_TYPE, | ||
integer(intg), intent(in) | COMPONENT_NUMBER, | ||
integer(intg), intent(in) | CONDITION, | ||
real(dp), intent(in) | VALUE, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Adds to the value of the specified constant and sets this as a boundary condition on the specified constant.
boundary_conditions | A pointer to the boundary conditions to set the boundary condition for | |
field | The dependent field to set the boundary condition on. | |
[in] | variable_type | The variable type to set the boundary condition at |
[in] | component_number | The component number to set the boundary condition at |
[in] | condition | The boundary condition type to set |
[in] | value | The value of the boundary condition to add |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1015 of file boundary_condition_routines.f90.
References boundary_conditions_variable_get(), and boundaryconditions_checkinterpolationtype().
subroutine, public boundary_conditions_routines::boundary_conditions_add_element | ( | type(boundary_conditions_type), pointer | BOUNDARY_CONDITIONS, |
type(field_type), pointer | FIELD, | ||
integer(intg), intent(in) | VARIABLE_TYPE, | ||
integer(intg), intent(in) | USER_ELEMENT_NUMBER, | ||
integer(intg), intent(in) | COMPONENT_NUMBER, | ||
integer(intg), intent(in) | CONDITION, | ||
real(dp), intent(in) | VALUE, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Adds to the value of the specified constant and sets this as a boundary condition on the specified user element.
boundary_conditions | A pointer to the boundary conditions to set the boundary condition for | |
field | The dependent field to set the boundary condition on. | |
[in] | variable_type | The variable type to set the boundary condition at |
[in] | user_element_number | The user element number to set the boundary condition at |
[in] | component_number | The component number to set the boundary condition at |
[in] | condition | The boundary condition type to set |
[in] | value | The value of the boundary condition to set |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1645 of file boundary_condition_routines.f90.
References boundary_conditions_variable_get(), and boundaryconditions_checkinterpolationtype().
|
private |
Adds to the value of the specified DOF and sets this as a boundary condition on the specified DOF.
boundary_conditions | A pointer to the boundary conditions to set the boundary condition for | |
field | The dependent field to set the boundary condition on. | |
[in] | variable_type | The variable type to set the boundary condition at |
[in] | dof_index | The local dof index to set the boundary condition at |
[in] | condition | The boundary condition type to set |
[in] | value | The value of the boundary condition to add |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1133 of file boundary_condition_routines.f90.
References boundary_conditions_add_local_dofs().
|
private |
Adds to the value of the specified DOF and sets this as a boundary condition on the specified DOFs.
boundary_conditions | A pointer to the boundary conditions to set the boundary condition for | |
field | The dependent field to set the boundary condition on. | |
[in] | variable_type | The variable type to set the boundary condition at |
[in] | dof_indices | DOF_INDICES(:). The local dof index for the i'th dof to set the boundary condition at |
[in] | conditions | CONDITIONS(:). The boundary condition type to set for the i'th dof |
[in] | values | VALUES(:). The value of the boundary condition for the i'th dof to add |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1162 of file boundary_condition_routines.f90.
References boundary_condition_correction_mass_increase, boundary_condition_fixed, boundary_condition_fixed_cellml, boundary_condition_fixed_fitted, boundary_condition_fixed_incremented, boundary_condition_fixed_inlet, boundary_condition_fixed_nonreflecting, boundary_condition_fixed_outlet, boundary_condition_fixed_stree, boundary_condition_fixed_wall, boundary_condition_free, boundary_condition_free_wall, boundary_condition_impermeable_wall, boundary_condition_moved_wall, boundary_condition_moved_wall_incremented, boundary_condition_neumann_integrated, boundary_condition_neumann_integrated_only, boundary_condition_neumann_point, boundary_condition_neumann_point_incremented, boundary_condition_pressure, boundary_condition_pressure_incremented, boundary_conditions_variable_get(), and boundaryconditions_setconditiontype().
Referenced by boundary_conditions_add_local_dof1().
subroutine, public boundary_conditions_routines::boundary_conditions_add_node | ( | type(boundary_conditions_type), pointer | BOUNDARY_CONDITIONS, |
type(field_type), pointer | FIELD, | ||
integer(intg), intent(in) | VARIABLE_TYPE, | ||
integer(intg), intent(in) | VERSION_NUMBER, | ||
integer(intg), intent(in) | DERIVATIVE_NUMBER, | ||
integer(intg), intent(in) | USER_NODE_NUMBER, | ||
integer(intg), intent(in) | COMPONENT_NUMBER, | ||
integer(intg), intent(in) | CONDITION, | ||
real(dp), intent(in) | VALUE, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Adds to the value of the specified constant and sets this as a boundary condition on the specified user node.
boundary_conditions | A pointer to the boundary conditions to set the boundary condition for | |
field | A pointer to the field to set the boundary condition on. | |
[in] | variable_type | The variable type to set the boundary condition at |
[in] | version_number | The derivative version to set the boundary condition at |
[in] | derivative_number | The derivative to set the boundary condition at |
[in] | user_node_number | The user node number to set the boundary condition at |
[in] | component_number | The component number to set the boundary condition at |
[in] | condition | The boundary condition type to set |
[in] | value | The value of the boundary condition to add |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1999 of file boundary_condition_routines.f90.
References boundary_conditions_variable_get(), and boundaryconditions_checkinterpolationtype().
subroutine, public boundary_conditions_routines::boundary_conditions_create_finish | ( | type(boundary_conditions_type), pointer | BOUNDARY_CONDITIONS, |
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Finish the creation of boundary conditions.
boundary_conditions | A pointer to the boundary conditions to finish the creation of. | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 179 of file boundary_condition_routines.f90.
References boundary_condition_dof_fixed, boundary_condition_neumann_point, boundary_condition_neumann_point_incremented, boundary_condition_pressure_incremented, boundary_conditions_dirichlet_initialise(), boundary_conditions_pressure_incremented_initialise(), boundaryconditions_checkequations(), boundaryconditions_dofconstraintscreatefinish(), boundaryconditions_neumanninitialise(), boundaryconditions_neumannmatricesinitialise(), boundaryconditions_sparsityindicesinitialise(), comp_environment::computational_environment, base_routines::enters(), max_boundary_condition_number, and cmiss_mpi::mpi_error_check().
subroutine, public boundary_conditions_routines::boundary_conditions_create_start | ( | type(solver_equations_type), pointer | SOLVER_EQUATIONS, |
type(boundary_conditions_type), pointer | BOUNDARY_CONDITIONS, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Start the creation of boundary conditions for the equation set.
solver_equations | A pointer to the solver equations to create boundary conditions for | |
boundary_conditions | On exit, a pointer to the created boundary conditions. Must not be associated on entry. | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 678 of file boundary_condition_routines.f90.
References boundary_conditions_initialise().
subroutine, public boundary_conditions_routines::boundary_conditions_destroy | ( | type(boundary_conditions_type), pointer | BOUNDARY_CONDITIONS, |
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Destroys boundary conditions.
boundary_conditions | A pointer to the boundary conditions to destroy | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 724 of file boundary_condition_routines.f90.
References boundary_conditions_finalise().
|
private |
Initialise dirichlet boundary conditions for a boundary conditions.
boundary_conditions_variable | A pointer to the boundary conditions variable to initialise a boundary conditions dirichlet type for | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 3696 of file boundary_condition_routines.f90.
Referenced by boundary_conditions_create_finish().
|
private |
Finalise the boundary conditions and deallocate all memory.
boundary_conditions | A pointer to the boundary conditions to finalise | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 752 of file boundary_condition_routines.f90.
References boundary_conditions_variable_finalise().
Referenced by boundary_conditions_destroy(), and boundary_conditions_initialise().
|
private |
Initialises the boundary conditions for an equations set.
solver_equations | A pointer to the solver equations to initialise the boundary conditions for | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 793 of file boundary_condition_routines.f90.
References boundary_condition_sparse_matrices, boundary_conditions_finalise(), and boundary_conditions_variable_initialise().
Referenced by boundary_conditions_create_start().
|
private |
Initialises the pressure incremented boundary condition.
boundary_conditions_variable | A pointer to the boundary conditions variable to initialise a boundary conditions dirichlet type for | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 3829 of file boundary_condition_routines.f90.
References boundary_condition_pressure_incremented.
Referenced by boundary_conditions_create_finish().
subroutine, public boundary_conditions_routines::boundary_conditions_set_constant | ( | type(boundary_conditions_type), pointer | BOUNDARY_CONDITIONS, |
type(field_type), pointer | FIELD, | ||
integer(intg), intent(in) | VARIABLE_TYPE, | ||
integer(intg), intent(in) | COMPONENT_NUMBER, | ||
integer(intg), intent(in) | CONDITION, | ||
real(dp), intent(in) | VALUE, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Sets a boundary condition on the specified constant.
boundary_conditions | A pointer to the boundary conditions to set the boundary condition for | |
field | The dependent field to set the boundary condition on. | |
[in] | variable_type | The variable type to set the boundary condition at |
[in] | component_number | The component number to set the boundary condition at |
[in] | condition | The boundary condition type to set |
[in] | value | The value of the boundary condition to set |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1076 of file boundary_condition_routines.f90.
References boundary_conditions_variable_get(), and boundaryconditions_checkinterpolationtype().
subroutine, public boundary_conditions_routines::boundary_conditions_set_element | ( | type(boundary_conditions_type), pointer | BOUNDARY_CONDITIONS, |
type(field_type), pointer | FIELD, | ||
integer(intg), intent(in) | VARIABLE_TYPE, | ||
integer(intg), intent(in) | USER_ELEMENT_NUMBER, | ||
integer(intg), intent(in) | COMPONENT_NUMBER, | ||
integer(intg), intent(in) | CONDITION, | ||
real(dp), intent(in) | VALUE, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Sets a boundary condition on the specified user element.
boundary_conditions | A pointer to the boundary conditions to set the boundary condition for | |
field | The dependent field to set the boundary condition on. | |
[in] | variable_type | The variable type to set the boundary condition at |
[in] | user_element_number | The user element number to set the boundary condition at |
[in] | component_number | The component number to set the boundary condition at |
[in] | condition | The boundary condition type to set |
[in] | value | The value of the boundary condition to set |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1934 of file boundary_condition_routines.f90.
References boundary_conditions_variable_get(), and boundaryconditions_checkinterpolationtype().
|
private |
Sets a boundary condition on the specified DOF.
boundary_conditions | A pointer to the boundary conditions to set the boundary condition for | |
field | The dependent field to set the boundary condition on. | |
[in] | variable_type | The variable type to set the boundary condition at |
[in] | dof_index | The local dof index to set the boundary condition at |
[in] | condition | The boundary condition type to set |
[in] | value | The value of the boundary condition to set |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1327 of file boundary_condition_routines.f90.
References boundary_conditions_set_local_dofs().
|
private |
Sets a boundary condition on the specified DOFs.
boundary_conditions | A pointer to the boundary conditions to set the boundary condition for | |
field | The dependent field to set the boundary condition on. | |
[in] | variable_type | The variable type to set the boundary condition at |
[in] | dof_indices | DOF_INDICES(:). The local dof index for the i'th dof to set the boundary condition at |
[in] | conditions | CONDITIONS(:). The boundary condition type to set for the i'th dof |
[in] | values | VALUES(:). The value of the boundary condition for the i'th dof to set |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1355 of file boundary_condition_routines.f90.
References boundary_condition_correction_mass_increase, boundary_condition_fixed, boundary_condition_fixed_cellml, boundary_condition_fixed_fitted, boundary_condition_fixed_incremented, boundary_condition_fixed_inlet, boundary_condition_fixed_nonreflecting, boundary_condition_fixed_outlet, boundary_condition_fixed_stree, boundary_condition_fixed_wall, boundary_condition_free, boundary_condition_free_wall, boundary_condition_impermeable_wall, boundary_condition_moved_wall, boundary_condition_moved_wall_incremented, boundary_condition_neumann_integrated, boundary_condition_neumann_integrated_only, boundary_condition_neumann_point, boundary_condition_neumann_point_incremented, boundary_condition_pressure, boundary_condition_pressure_incremented, boundary_conditions_variable_get(), and boundaryconditions_setconditiontype().
Referenced by boundary_conditions_set_local_dof1().
subroutine, public boundary_conditions_routines::boundary_conditions_set_node | ( | type(boundary_conditions_type), pointer | BOUNDARY_CONDITIONS, |
type(field_type), pointer | FIELD, | ||
integer(intg), intent(in) | VARIABLE_TYPE, | ||
integer(intg), intent(in) | VERSION_NUMBER, | ||
integer(intg), intent(in) | DERIVATIVE_NUMBER, | ||
integer(intg), intent(in) | USER_NODE_NUMBER, | ||
integer(intg), intent(in) | COMPONENT_NUMBER, | ||
integer(intg), intent(in) | CONDITION, | ||
real(dp), intent(in) | VALUE, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Sets a boundary condition on the specified user node.
boundary_conditions | A pointer to the boundary conditions to set the boundary condition for | |
field | The dependent field to set the boundary condition on. | |
[in] | variable_type | The variable type to set the boundary condition at |
[in] | version_number | The derivative version to set the boundary condition at |
[in] | derivative_number | The derivative to set the boundary condition at |
[in] | user_node_number | The user node number to set the boundary condition at |
[in] | component_number | The component number to set the boundary condition at |
[in] | condition | The boundary condition type to set |
[in] | value | The value of the boundary condition to set |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 2922 of file boundary_condition_routines.f90.
References boundary_conditions_variable_get(), and boundaryconditions_checkinterpolationtype().
Referenced by finite_elasticity_routines::finiteelasticity_boundaryconditionsanalyticcalculate().
|
private |
Finalise the boundary conditions variable and deallocate all memory.
boundary_conditions_variable | A pointer to the boundary conditions variable to finalise | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 3453 of file boundary_condition_routines.f90.
References boundaryconditions_dofconstraintsfinalise(), boundaryconditions_neumannfinalise(), and boundaryconditions_sparsityindicesarrayfinalise().
Referenced by boundary_conditions_finalise(), and boundary_conditions_variable_initialise().
subroutine, public boundary_conditions_routines::boundary_conditions_variable_get | ( | type(boundary_conditions_type), pointer | BOUNDARY_CONDITIONS, |
type(field_variable_type), pointer | FIELD_VARIABLE, | ||
type(boundary_conditions_variable_type), intent(out), pointer | BOUNDARY_CONDITIONS_VARIABLE, | ||
integer(intg), intent(out) | ERR, | ||
type(varying_string), intent(out) | ERROR | ||
) |
Find the boundary conditions variable for a given field variable.
boundary_conditions | A pointer to the boundary conditions to initialise a variable type for. | |
field_variable | A pointer to the field variable to initialise the boundary conditions variable for. | |
[out] | boundary_conditions_variable | On return, a pointer to the boundary conditions variable, or NULL if it wasn't found |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 3635 of file boundary_condition_routines.f90.
Referenced by advection_diffusion_equation_routines::advection_diffusion_pre_solve_update_bc(), boundary_conditions_add_constant(), boundary_conditions_add_element(), boundary_conditions_add_local_dofs(), boundary_conditions_add_node(), boundary_conditions_set_constant(), boundary_conditions_set_element(), boundary_conditions_set_local_dofs(), boundary_conditions_set_node(), boundary_conditions_variable_initialise(), boundaryconditions_dofconstraintset(), burgers_equation_routines::burgers_presolveupdateanalyticvalues(), darcy_equations_routines::darcy_presolveupdateboundaryconditions(), diffusion_equation_routines::diffusion_presolveupdateanalyticvalues(), equations_set_routines::equations_set_backsubstitute(), equations_set_routines::equations_set_boundary_conditions_increment(), equations_set_routines::equations_set_nonlinear_rhs_update(), finite_elasticity_routines::finiteelasticity_finiteelementjacobianevaluate(), finite_elasticity_routines::finiteelasticity_finiteelementresidualevaluate(), finite_elasticity_routines::finiteelasticity_presolveupdateboundaryconditions(), multi_compartment_transport_routines::MultiCompartmentTransport_PreSolveUpdateAnalyticValues::multicompartmenttransport_presolveupdateanalyticvalues(), navier_stokes_equations_routines::NavierStokes_BoundaryConditionsAnalyticCalculate::navierstokes_boundaryconditionsanalyticcalculate(), navier_stokes_equations_routines::NavierStokes_PreSolveUpdateBoundaryConditions::navierstokes_presolveupdateboundaryconditions(), navier_stokes_equations_routines::NavierStokes_UpdateMultiscaleBoundary::navierstokes_updatemultiscaleboundary(), solver_mapping_routines::solver_mapping_calculate(), stokes_equations_routines::stokes_pre_solve_update_boundary_conditions(), and stree_equation_routines::stree_pre_solve().
|
private |
Initialise the boundary conditions variable for a variable type if that variable has not already been initialised, otherwise do nothing.
boundary_conditions | A pointer to the boundary conditions to initialise a variable type for. | |
field_variable | A pointer to the field variable to initialise the boundary conditions variable for. | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 3544 of file boundary_condition_routines.f90.
References boundary_condition_dof_free, boundary_condition_free, boundary_conditions_variable_finalise(), boundary_conditions_variable_get(), boundaryconditions_dofconstraintsinitialise(), and max_boundary_condition_number.
Referenced by boundary_conditions_initialise().
|
private |
Checks that the applied boundary conditions are supported by the equations sets in the solver equations.
boundaryconditionsvariable | A pointer to the boundary conditions variable to check | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1792 of file boundary_condition_routines.f90.
References boundary_condition_correction_mass_increase, boundary_condition_fixed, boundary_condition_fixed_cellml, boundary_condition_fixed_fitted, boundary_condition_fixed_incremented, boundary_condition_fixed_inlet, boundary_condition_fixed_nonreflecting, boundary_condition_fixed_outlet, boundary_condition_fixed_stree, boundary_condition_fixed_wall, boundary_condition_free, boundary_condition_free_wall, boundary_condition_impermeable_wall, boundary_condition_linear_constraint, boundary_condition_moved_wall, boundary_condition_moved_wall_incremented, boundary_condition_neumann_integrated, boundary_condition_neumann_integrated_only, boundary_condition_neumann_point, boundary_condition_neumann_point_incremented, boundary_condition_pressure, boundary_condition_pressure_incremented, and max_boundary_condition_number.
Referenced by boundary_conditions_create_finish().
|
private |
Checks that the specified boundary condition is appropriate for the field variable interpolation type.
[in] | condition | The boundary condition type being set |
field | A pointer to the field the boundary condition is set on | |
[in] | variabletype | The variable type the boundary condition is set on |
[in] | componentnumber | The component number the boundary condition is set on |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1709 of file boundary_condition_routines.f90.
References boundary_condition_correction_mass_increase, boundary_condition_fixed, boundary_condition_fixed_cellml, boundary_condition_fixed_fitted, boundary_condition_fixed_incremented, boundary_condition_fixed_inlet, boundary_condition_fixed_nonreflecting, boundary_condition_fixed_outlet, boundary_condition_fixed_stree, boundary_condition_fixed_wall, boundary_condition_free, boundary_condition_free_wall, boundary_condition_impermeable_wall, boundary_condition_moved_wall, boundary_condition_moved_wall_incremented, boundary_condition_neumann_integrated, boundary_condition_neumann_integrated_only, boundary_condition_neumann_point, boundary_condition_neumann_point_incremented, boundary_condition_pressure, and boundary_condition_pressure_incremented.
Referenced by boundary_conditions_add_constant(), boundary_conditions_add_element(), boundary_conditions_add_node(), boundary_conditions_set_constant(), boundary_conditions_set_element(), and boundary_conditions_set_node().
|
private |
Constrain multiple equations dependent field DOFs to be a single solver DOF in the solver equations.
[in] | boundaryconditions | The boundary conditions for the solver equations in which to constrain the DOF. |
[in] | fieldvariable | A pointer to the field variable containing the DOFs. |
[in] | globaldofs | The global DOFs to be constrained to be equal. |
[in] | coefficient | The coefficient of constraint. |
[out] | err | The error code. |
[out] | error | The error message. |
Definition at line 2989 of file boundary_condition_routines.f90.
References boundaryconditions_dofconstraintset().
Referenced by boundaryconditions_constrainnodedofsequal().
subroutine, public boundary_conditions_routines::boundaryconditions_constrainnodedofsequal | ( | type(boundary_conditions_type), intent(in), pointer | boundaryConditions, |
type(field_type), intent(in), pointer | field, | ||
integer(intg), intent(in) | fieldVariableType, | ||
integer(intg), intent(in) | versionNumber, | ||
integer(intg), intent(in) | derivativeNumber, | ||
integer(intg), intent(in) | component, | ||
integer(intg), dimension(:), intent(in) | nodes, | ||
real(dp), intent(in) | coefficient, | ||
integer(intg), intent(out) | err, | ||
type(varying_string), intent(out) | error | ||
) |
Constrain multiple nodal equations dependent field DOFs to be a single solver DOF in the solver equations.
[in] | boundaryconditions | The solver equations boundary conditions to constrain the DOFs for. |
[in] | field | The equations dependent field containing the field DOFs to be constrained. |
[in] | fieldvariabletype | The field variable type of the DOFs to be constrained. |
[in] | versionnumber | The derivative version number. |
[in] | derivativenumber | The derivative number. |
[in] | component | The field component number of the DOFs to be constrained. |
[in] | nodes | The user numbers of the nodes to be constrained to be equal. |
[in] | coefficient | The coefficient of constraint, applied to all but the first node. |
[out] | err | The error code. |
[out] | error | The error message. |
Definition at line 3038 of file boundary_condition_routines.f90.
References boundaryconditions_constraindofsequal().
|
private |
Finish the creation of the dof constraints for a boundary conditions variable.
boundaryconditionsvariable | A pointer to boundary conditions variable to finish the dof constraints for | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 3208 of file boundary_condition_routines.f90.
References boundary_condition_dof_constrained, boundary_condition_dof_free, and boundaryconditions_dofconstraintsfinalise().
Referenced by boundary_conditions_create_finish().
|
private |
Constrain a DOF to be a linear combination of other DOFs.
[in] | boundaryconditions | The boundary conditions for the solver equations in which to constrain the DOF. |
[in] | fieldvariable | A pointer to the field variable containing the DOFs. |
[in] | globaldof | The global DOF to set the constraint on. |
[in] | dofs | The global DOFs that this DOF is constrained to depend on. |
[in] | coefficients | The coefficient values in the DOF constraint. |
[out] | err | The error code. |
[out] | error | The error message. |
Definition at line 3092 of file boundary_condition_routines.f90.
References boundary_condition_dof_free, boundary_condition_linear_constraint, boundary_conditions_variable_get(), and boundaryconditions_setconditiontype().
Referenced by boundaryconditions_constraindofsequal().
|
private |
Finalise the DOF constraints structure.
dofconstraints | A pointer to the dof constraints to initialise | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 3367 of file boundary_condition_routines.f90.
Referenced by boundary_conditions_variable_finalise(), and boundaryconditions_dofconstraintscreatefinish().
|
private |
Initialise the DOF constraints structure.
dofconstraints | A pointer to the dof constraints to initialise | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 3425 of file boundary_condition_routines.f90.
Referenced by boundary_conditions_variable_initialise().
|
private |
boundaryconditionsvariable | A pointer to the boundary conditions variable to finalise the Neumann conditions for | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 2471 of file boundary_condition_routines.f90.
References boundaryconditions_neumannmatricesfinalise().
Referenced by boundary_conditions_variable_finalise(), and boundaryconditions_neumanninitialise().
|
private |
Initialise the Neumann boundary conditions information.
boundaryconditionsvariable | A pointer to the boundary conditions variable to initialise Neumann conditions for | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 2065 of file boundary_condition_routines.f90.
References boundary_condition_neumann_point, boundary_condition_neumann_point_incremented, and boundaryconditions_neumannfinalise().
Referenced by boundary_conditions_create_finish().
subroutine, public boundary_conditions_routines::boundaryconditions_neumannintegrate | ( | type(boundary_conditions_variable_type), intent(in), pointer | rhsBoundaryConditions, |
integer(intg), intent(out) | err, | ||
type(varying_string), intent(out) | error | ||
) |
Calculates integrated Neumann condition values from point values for a boundary conditions variable and updates the FIELD_INTEGRATED_NEUMANN_SET_TYPE parameter set for the field variable.
[in] | rhsboundaryconditions | The boundary conditions for the right hand side field variable |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 2542 of file boundary_condition_routines.f90.
References boundary_condition_neumann_integrated_only, boundary_condition_neumann_point, and boundary_condition_neumann_point_incremented.
|
private |
boundaryconditionsvariable | A pointer to the boundary conditions variable to finalise Neumann condition matrices for | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 2506 of file boundary_condition_routines.f90.
Referenced by boundaryconditions_neumannfinalise(), and boundaryconditions_neumannmatricesinitialise().
|
private |
Initialise the Neumann boundary conditions matrices and vectors. This must be done after we know which DOFs have Neumann point conditions so that we can work out the matrix sparsity pattern.
boundaryconditionsvariable | A pointer to the boundary conditions variable to initialise Neumann condition matrices for | |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 2115 of file boundary_condition_routines.f90.
References boundary_condition_full_matrices, boundary_condition_neumann_point, boundary_condition_neumann_point_incremented, boundary_condition_sparse_matrices, and boundaryconditions_neumannmatricesfinalise().
Referenced by boundary_conditions_create_finish().
subroutine, public boundary_conditions_routines::boundaryconditions_neumannsparsitytypeset | ( | type(boundary_conditions_type), pointer | boundaryConditions, |
integer(intg), intent(in) | sparsityType, | ||
integer(intg), intent(out) | err, | ||
type(varying_string), intent(out) | error | ||
) |
Sets/changes the sparsity type for the Neumann integration matrices.
[in] | sparsitytype | The matrix sparsity type to be set |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 2884 of file boundary_condition_routines.f90.
References boundary_condition_full_matrices, and boundary_condition_sparse_matrices.
|
private |
Checks the boundary condition type and sets the boundary condition type and dof type for the boundary conditions. Makes sure any field parameter sets required are created, and sets the parameter set required array value.
boundaryconditionsvariable | A pointer to the boundary conditions variable to set the boundary condition for | |
[in] | globaldof | The globalDof to set the boundary condition at |
[in] | condition | The boundary condition type to set |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 1510 of file boundary_condition_routines.f90.
References boundary_condition_correction_mass_increase, boundary_condition_dof_constrained, boundary_condition_dof_fixed, boundary_condition_dof_free, boundary_condition_fixed, boundary_condition_fixed_cellml, boundary_condition_fixed_fitted, boundary_condition_fixed_incremented, boundary_condition_fixed_inlet, boundary_condition_fixed_nonreflecting, boundary_condition_fixed_outlet, boundary_condition_fixed_stree, boundary_condition_fixed_wall, boundary_condition_free, boundary_condition_free_wall, boundary_condition_impermeable_wall, boundary_condition_linear_constraint, boundary_condition_moved_wall, boundary_condition_moved_wall_incremented, boundary_condition_neumann_integrated, boundary_condition_neumann_integrated_only, boundary_condition_neumann_point, boundary_condition_neumann_point_incremented, boundary_condition_pressure, and boundary_condition_pressure_incremented.
Referenced by boundary_conditions_add_local_dofs(), boundary_conditions_set_local_dofs(), and boundaryconditions_dofconstraintset().
|
private |
Finalise an array of sparcity indices and deallocate all memory.
[out] | err | The error code |
[out] | error | The error string |
Definition at line 3501 of file boundary_condition_routines.f90.
Referenced by boundary_conditions_variable_finalise().
|
private |
Initialise Sparsity Indices type.
sparsity_indices | A pointer to the Sparsity Indices type tp initialise | |
[in] | number_of_dirichlet | The number of dirichlet conditions this sparsity indices type will hold |
[out] | err | The error code |
[out] | error | The error string |
Definition at line 3795 of file boundary_condition_routines.f90.
Referenced by boundary_conditions_create_finish().
|
private |
Definition at line 121 of file boundary_condition_routines.f90.
Referenced by boundary_conditions_create_finish(), boundary_conditions_variable_initialise(), and boundaryconditions_checkequations().