OpenCMISS-Iron Internal API Documentation
boundary_condition_routines.f90 File Reference

This module set the boundary conditions for the given equation set. More...

Go to the source code of this file.

Data Types

interface  boundary_conditions_routines::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_routines::boundary_conditions_set_local_dof
 Sets a boundary condition on the specified local DOF. More...
 

Modules

module  boundary_conditions_routines
 This module handles all boundary conditions routines.
 

Functions/Subroutines

subroutine, public boundary_conditions_routines::boundary_conditions_create_finish (BOUNDARY_CONDITIONS, ERR, ERROR,)
 Finish the creation of boundary conditions. More...
 
subroutine, public boundary_conditions_routines::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_routines::boundary_conditions_destroy (BOUNDARY_CONDITIONS, ERR, ERROR,)
 Destroys boundary conditions. More...
 
subroutine boundary_conditions_routines::boundary_conditions_finalise (BOUNDARY_CONDITIONS, ERR, ERROR,)
 Finalise the boundary conditions and deallocate all memory. More...
 
subroutine boundary_conditions_routines::boundary_conditions_initialise (SOLVER_EQUATIONS, ERR, ERROR,)
 Initialises the boundary conditions for an equations set. More...
 
subroutine, public boundary_conditions_routines::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_routines::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_routines::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_routines::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_routines::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_routines::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 boundary_conditions_routines::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_routines::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 boundary_conditions_routines::boundaryconditions_checkinterpolationtype (condition, field, variableType, componentNumber, err, error,)
 Checks that the specified boundary condition is appropriate for the field variable interpolation type. More...
 
subroutine boundary_conditions_routines::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_routines::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_routines::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 boundary_conditions_routines::boundaryconditions_neumanninitialise (boundaryConditionsVariable, err, error,)
 Initialise the Neumann boundary conditions information. More...
 
subroutine boundary_conditions_routines::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 boundary_conditions_routines::boundaryconditions_neumannfinalise (boundaryConditionsVariable, err, error,)
 
subroutine boundary_conditions_routines::boundaryconditions_neumannmatricesfinalise (boundaryConditionsVariable, err, error,)
 
subroutine, public boundary_conditions_routines::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 boundary_conditions_routines::boundaryconditions_neumannsparsitytypeset (boundaryConditions, sparsityType, err, error,)
 Sets/changes the sparsity type for the Neumann integration matrices. More...
 
subroutine, public boundary_conditions_routines::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 boundary_conditions_routines::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 boundary_conditions_routines::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 boundary_conditions_routines::boundaryconditions_dofconstraintset (boundaryConditions, fieldVariable, globalDof, dofs, coefficients, err, error,)
 Constrain a DOF to be a linear combination of other DOFs. More...
 
subroutine boundary_conditions_routines::boundaryconditions_dofconstraintscreatefinish (boundaryConditionsVariable, err, error,)
 Finish the creation of the dof constraints for a boundary conditions variable. More...
 
subroutine boundary_conditions_routines::boundaryconditions_dofconstraintsfinalise (dofConstraints, err, error,)
 Finalise the DOF constraints structure. More...
 
subroutine boundary_conditions_routines::boundaryconditions_dofconstraintsinitialise (dofConstraints, err, error,)
 Initialise the DOF constraints structure. More...
 
subroutine boundary_conditions_routines::boundary_conditions_variable_finalise (BOUNDARY_CONDITIONS_VARIABLE, ERR, ERROR,)
 Finalise the boundary conditions variable and deallocate all memory. More...
 
subroutine boundary_conditions_routines::boundaryconditions_sparsityindicesarrayfinalise (SPARSITY_INDICES_ARRAY, ERR, ERROR,)
 Finalise an array of sparcity indices and deallocate all memory. More...
 
subroutine boundary_conditions_routines::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_routines::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_routines::boundary_conditions_dirichlet_initialise (BOUNDARY_CONDITIONS_VARIABLE, ERR, ERROR,)
 Initialise dirichlet boundary conditions for a boundary conditions. More...
 
subroutine boundary_conditions_routines::boundaryconditions_sparsityindicesinitialise (SPARSITY_INDICES, NUMBER_OF_DIRICHLET, ERR, ERROR,)
 Initialise Sparsity Indices type. More...
 
subroutine boundary_conditions_routines::boundary_conditions_pressure_incremented_initialise (BOUNDARY_CONDITIONS_VARIABLE, ERR, ERROR,)
 Initialises the pressure incremented boundary condition. More...
 

Variables

integer(intg), parameter, public boundary_conditions_routines::boundary_condition_dof_free =0
 The dof is free. More...
 
integer(intg), parameter, public boundary_conditions_routines::boundary_condition_dof_fixed =1
 The dof is fixed as a boundary condition. More...
 
integer(intg), parameter, public boundary_conditions_routines::boundary_condition_dof_mixed =2
 The dof is set as a mixed boundary condition. More...
 
integer(intg), parameter, public boundary_conditions_routines::boundary_condition_dof_constrained =3
 The dof is constrained to be a linear combination of other DOFs. More...
 
integer(intg), parameter, public boundary_conditions_routines::boundary_condition_free =0
 The dof is free. More...
 
integer(intg), parameter, public boundary_conditions_routines::boundary_condition_fixed =1
 The dof is fixed as a boundary condition. More...
 
integer(intg), parameter, public boundary_conditions_routines::boundary_condition_fixed_inlet =2
 The dof is fixed as a boundary condition. More...
 
integer(intg), parameter, public boundary_conditions_routines::boundary_condition_fixed_outlet =3
 The dof is fixed as a boundary condition. More...
 
integer(intg), parameter, public boundary_conditions_routines::boundary_condition_fixed_wall =4
 The dof is fixed as a boundary condition. More...
 
integer(intg), parameter, public boundary_conditions_routines::boundary_condition_moved_wall =5
 The dof is fixed as a boundary condition. More...
 
integer(intg), parameter, public boundary_conditions_routines::boundary_condition_free_wall =6
 The dof is fixed as a boundary condition. More...
 
integer(intg), parameter, public boundary_conditions_routines::boundary_condition_neumann_point =8
 The dof is set to a Neumann point boundary condition. More...
 
integer(intg), parameter, public boundary_conditions_routines::boundary_condition_neumann_integrated =9
 The dof is set to a Neumann integrated boundary condition. More...
 
integer(intg), parameter, public boundary_conditions_routines::boundary_condition_dirichlet =10
 The dof is set to a Dirichlet boundary condition. More...
 
integer(intg), parameter, public boundary_conditions_routines::boundary_condition_cauchy =11
 The dof is set to a Cauchy boundary condition. More...
 
integer(intg), parameter, public boundary_conditions_routines::boundary_condition_robin =12
 The dof is set to a Robin boundary condition. More...
 
integer(intg), parameter, public boundary_conditions_routines::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_conditions_routines::boundary_condition_pressure =14
 The dof is a surface pressure boundary condition. More...
 
integer(intg), parameter, public boundary_conditions_routines::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_conditions_routines::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_conditions_routines::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_conditions_routines::boundary_condition_impermeable_wall =19
 The dof is set such that (via penalty formulation): velocity * normal = 0. More...
 
integer(intg), parameter, public boundary_conditions_routines::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_conditions_routines::boundary_condition_linear_constraint =21
 The dof is constrained to be a linear combination of other DOFs. More...
 
integer(intg), parameter, public boundary_conditions_routines::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_conditions_routines::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_conditions_routines::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_conditions_routines::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_conditions_routines::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 boundary_conditions_routines::max_boundary_condition_number =26
 
integer(intg), parameter, public boundary_conditions_routines::boundary_condition_sparse_matrices =1
 The matrices are stored as sparse matrices. More...
 
integer(intg), parameter, public boundary_conditions_routines::boundary_condition_full_matrices =2
 The matrices are stored as full matrices. More...
 

Detailed Description

This module set the boundary conditions for the given equation set.

Author
Ting Yu

LICENSE

Version: MPL 1.1/GPL 2.0/LGPL 2.1

The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/

Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.

The Original Code is OpenCMISS

The Initial Developer of the Original Code is University of Auckland, Auckland, New Zealand, the University of Oxford, Oxford, United Kingdom and King's College, London, United Kingdom. Portions created by the University of Auckland, the University of Oxford and King's College, London are Copyright (C) 2007-2010 by the University of Auckland, the University of Oxford and King's College, London. All Rights Reserved.

Contributor(s):

Alternatively, the contents of this file may be used under the terms of either the GNU General Public License Version 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), in which case the provisions of the GPL or the LGPL are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of either the GPL or the LGPL, and not to allow others to use your version of this file under the terms of the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the GPL or the LGPL. If you do not delete the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL.

Definition in file boundary_condition_routines.f90.