diff --git a/bin/codeutil/fix_includes.sh b/bin/codeutil/fix_includes.sh deleted file mode 100755 index 6ab3cc5216a2547a9d6aa89c2431ff850f84483d..0000000000000000000000000000000000000000 --- a/bin/codeutil/fix_includes.sh +++ /dev/null @@ -1,384 +0,0 @@ -#! /bin/bash - -if [ $# -eq 0 ] - then - echo "No arguments supplied." - echo "Usage: bash ./fix_includes.sh file1 [file2 ...]" -fi - -for TMP in $@; do - echo "File: $TMP" - sed -i \ -" -s%dumux/implicit/common/implicitassembler.hh%dumux/implicit/assembler.hh%g; -s%dumux/implicit/common/implicitlocaljacobian.hh%dumux/implicit/localjacobian.hh%g; -s%dumux/implicit/common/implicitlocalresidual.hh%dumux/implicit/localresidual.hh%g; -s%dumux/implicit/common/implicitmodel.hh%dumux/implicit/model.hh%g; -s%dumux/implicit/common/implicitproblem.hh%dumux/implicit/problem.hh%g; -s%dumux/implicit/common/implicitproperties.hh%dumux/implicit/properties.hh%g; -s%dumux/implicit/common/implicitpropertydefaults.hh%dumux/implicit/propertydefaults.hh%g; -s%dumux/implicit/common/implicitvolumevariables.hh%dumux/implicit/volumevariables.hh%g; -s%dumux/implicit/common/implicitdarcyfluxvariables.hh%dumux/porousmediumflow/implicit/darcyfluxvariables.hh%g; -s%dumux/implicit/common/implicitforchheimerfluxvariables.hh%dumux/porousmediumflow/implicit/forchheimerfluxvariables.hh%g; -s%dumux/implicit/common/implicitporousmediaproblem.hh%dumux/porousmediumflow/implicit/problem.hh%g; -s%dumux/implicit/common/implicitvelocityoutput.hh%dumux/porousmediumflow/implicit/velocityoutput.hh%g; -s%dumux/implicit/box/boxassembler.hh%dumux/implicit/box/assembler.hh%g; -s%dumux/implicit/box/boxelementboundarytypes.hh%dumux/implicit/box/elementboundarytypes.hh%g; -s%dumux/implicit/box/boxelementvolumevariables.hh%dumux/implicit/box/elementvolumevariables.hh%g; -s%dumux/implicit/box/boxfvelementgeometry.hh%dumux/implicit/box/fvelementgeometry.hh%g; -s%dumux/implicit/box/boxlocalresidual.hh%dumux/implicit/box/localresidual.hh%g; -s%dumux/implicit/box/boxproperties.hh%dumux/implicit/box/properties.hh%g; -s%dumux/implicit/box/boxpropertydefaults.hh%dumux/implicit/box/propertydefaults.hh%g; -s%dumux/implicit/cellcentered/ccassembler.hh%dumux/implicit/cellcentered/assembler.hh%g; -s%dumux/implicit/cellcentered/ccelementboundarytypes.hh%dumux/implicit/cellcentered/elementboundarytypes.hh%g; -s%dumux/implicit/cellcentered/ccelementvolumevariables.hh%dumux/implicit/cellcentered/elementvolumevariables.hh%g; -s%dumux/implicit/cellcentered/ccfvelementgeometry.hh%dumux/implicit/cellcentered/fvelementgeometry.hh%g; -s%dumux/implicit/cellcentered/cclocalresidual.hh%dumux/implicit/cellcentered/localresidual.hh%g; -s%dumux/implicit/cellcentered/ccproperties.hh%dumux/implicit/cellcentered/properties.hh%g; -s%dumux/implicit/cellcentered/ccpropertydefaults.hh%dumux/implicit/cellcentered/propertydefaults.hh%g; -s%dumux/implicit/cornerpoint/cpelementvolumevariables.hh%dumux/implicit/cornerpoint/elementvolumevariables.hh%g; -s%dumux/implicit/cornerpoint/cpfvelementgeometry.hh%dumux/implicit/cornerpoint/fvelementgeometry.hh%g; -s%dumux/implicit/cornerpoint/cpdarcyfluxvariables.hh%dumux/porousmediumflow/implicit/cpdarcyfluxvariables.hh%g; -s%dumux/implicit/nonisothermal/nifluxvariables.hh%dumux/porousmediumflow/nonisothermal/implicit/fluxvariables.hh%g; -s%dumux/implicit/nonisothermal/niindices.hh%dumux/porousmediumflow/nonisothermal/implicit/indices.hh%g; -s%dumux/implicit/nonisothermal/nilocalresidual.hh%dumux/porousmediumflow/nonisothermal/implicit/localresidual.hh%g; -s%dumux/implicit/nonisothermal/nimodel.hh%dumux/porousmediumflow/nonisothermal/implicit/model.hh%g; -s%dumux/implicit/nonisothermal/niproperties.hh%dumux/porousmediumflow/nonisothermal/implicit/properties.hh%g; -s%dumux/implicit/nonisothermal/nipropertydefaults.hh%dumux/porousmediumflow/nonisothermal/implicit/propertydefaults.hh%g; -s%dumux/implicit/nonisothermal/nivolumevariables.hh%dumux/porousmediumflow/nonisothermal/implicit/volumevariables.hh%g; -s%dumux/implicit/1p/1pindices.hh%dumux/porousmediumflow/1p/implicit/indices.hh%g; -s%dumux/implicit/1p/1plocalresidual.hh%dumux/porousmediumflow/1p/implicit/localresidual.hh%g; -s%dumux/implicit/1p/1pmodel.hh%dumux/porousmediumflow/1p/implicit/model.hh%g; -s%dumux/implicit/1p/1pproperties.hh%dumux/porousmediumflow/1p/implicit/properties.hh%g; -s%dumux/implicit/1p/1ppropertydefaults.hh%dumux/porousmediumflow/1p/implicit/propertydefaults.hh%g; -s%dumux/implicit/1p/1pvolumevariables.hh%dumux/porousmediumflow/1p/implicit/volumevariables.hh%g; -s%dumux/implicit/2p/2pgridadaptindicator.hh%dumux/porousmediumflow/2p/implicit/gridadaptindicator.hh%g; -s%dumux/implicit/2p/2pindices.hh%dumux/porousmediumflow/2p/implicit/indices.hh%g; -s%dumux/implicit/2p/2plocalresidual.hh%dumux/porousmediumflow/2p/implicit/localresidual.hh%g; -s%dumux/implicit/2p/2pmodel.hh%dumux/porousmediumflow/2p/implicit/model.hh%g; -s%dumux/implicit/2p/2pproperties.hh%dumux/porousmediumflow/2p/implicit/properties.hh%g; -s%dumux/implicit/2p/2ppropertydefaults.hh%dumux/porousmediumflow/2p/implicit/propertydefaults.hh%g; -s%dumux/implicit/2p/2pvolumevariables.hh%dumux/porousmediumflow/2p/implicit/volumevariables.hh%g; -s%dumux/implicit/3p/3pindices.hh%dumux/porousmediumflow/3p/implicit/indices.hh%g; -s%dumux/implicit/3p/3plocalresidual.hh%dumux/porousmediumflow/3p/implicit/localresidual.hh%g; -s%dumux/implicit/3p/3pmodel.hh%dumux/porousmediumflow/3p/implicit/model.hh%g; -s%dumux/implicit/3p/3pproperties.hh%dumux/porousmediumflow/3p/implicit/properties.hh%g; -s%dumux/implicit/3p/3ppropertydefaults.hh%dumux/porousmediumflow/3p/implicit/propertydefaults.hh%g; -s%dumux/implicit/3p/3pvolumevariables.hh%dumux/porousmediumflow/3p/implicit/volumevariables.hh%g; -s%dumux/implicit/1p2c/1p2cfluxvariables.hh%dumux/porousmediumflow/1p2c/implicit/fluxvariables.hh%g; -s%dumux/implicit/1p2c/1p2cindices.hh%dumux/porousmediumflow/1p2c/implicit/indices.hh%g; -s%dumux/implicit/1p2c/1p2clocalresidual.hh%dumux/porousmediumflow/1p2c/implicit/localresidual.hh%g; -s%dumux/implicit/1p2c/1p2cmodel.hh%dumux/porousmediumflow/1p2c/implicit/model.hh%g; -s%dumux/implicit/1p2c/1p2cproperties.hh%dumux/porousmediumflow/1p2c/implicit/properties.hh%g; -s%dumux/implicit/1p2c/1p2cpropertydefaults.hh%dumux/porousmediumflow/1p2c/implicit/propertydefaults.hh%g; -s%dumux/implicit/1p2c/1p2cvolumevariables.hh%dumux/porousmediumflow/1p2c/implicit/volumevariables.hh%g; -s%dumux/implicit/2p2c/2p2cfluxvariables.hh%dumux/porousmediumflow/2p2c/implicit/fluxvariables.hh%g; -s%dumux/implicit/2p2c/2p2cindices.hh%dumux/porousmediumflow/2p2c/implicit/indices.hh%g; -s%dumux/implicit/2p2c/2p2clocalresidual.hh%dumux/porousmediumflow/2p2c/implicit/localresidual.hh%g; -s%dumux/implicit/2p2c/2p2cmodel.hh%dumux/porousmediumflow/2p2c/implicit/model.hh%g; -s%dumux/implicit/2p2c/2p2cnewtoncontroller.hh%dumux/porousmediumflow/2p2c/implicit/newtoncontroller.hh%g; -s%dumux/implicit/2p2c/2p2cproperties.hh%dumux/porousmediumflow/2p2c/implicit/properties.hh%g; -s%dumux/implicit/2p2c/2p2cpropertydefaults.hh%dumux/porousmediumflow/2p2c/implicit/propertydefaults.hh%g; -s%dumux/implicit/2p2c/2p2cvolumevariables.hh%dumux/porousmediumflow/2p2c/implicit/volumevariables.hh%g; -s%dumux/implicit/3p3c/3p3cfluxvariables.hh%dumux/porousmediumflow/3p3c/implicit/fluxvariables.hh%g; -s%dumux/implicit/3p3c/3p3cindices.hh%dumux/porousmediumflow/3p3c/implicit/indices.hh%g; -s%dumux/implicit/3p3c/3p3clocalresidual.hh%dumux/porousmediumflow/3p3c/implicit/localresidual.hh%g; -s%dumux/implicit/3p3c/3p3cmodel.hh%dumux/porousmediumflow/3p3c/implicit/model.hh%g; -s%dumux/implicit/3p3c/3p3cnewtoncontroller.hh%dumux/porousmediumflow/3p3c/implicit/newtoncontroller.hh%g; -s%dumux/implicit/3p3c/3p3cproperties.hh%dumux/porousmediumflow/3p3c/implicit/properties.hh%g; -s%dumux/implicit/3p3c/3p3cpropertydefaults.hh%dumux/porousmediumflow/3p3c/implicit/propertydefaults.hh%g; -s%dumux/implicit/3p3c/3p3cvolumevariables.hh%dumux/porousmediumflow/3p3c/implicit/volumevariables.hh%g; -s%dumux/implicit/2pnc/2pncfluxvariables.hh%dumux/porousmediumflow/2pnc/implicit/fluxvariables.hh%g; -s%dumux/implicit/2pnc/2pncindices.hh%dumux/porousmediumflow/2pnc/implicit/indices.hh%g; -s%dumux/implicit/2pnc/2pnclocalresidual.hh%dumux/porousmediumflow/2pnc/implicit/localresidual.hh%g; -s%dumux/implicit/2pnc/2pncmodel.hh%dumux/porousmediumflow/2pnc/implicit/model.hh%g; -s%dumux/implicit/2pnc/2pncnewtoncontroller.hh%dumux/porousmediumflow/2pnc/implicit/newtoncontroller.hh%g; -s%dumux/implicit/2pnc/2pncproperties.hh%dumux/porousmediumflow/2pnc/implicit/properties.hh%g; -s%dumux/implicit/2pnc/2pncpropertydefaults.hh%dumux/porousmediumflow/2pnc/implicit/propertydefaults.hh%g; -s%dumux/implicit/2pnc/2pncvolumevariables.hh%dumux/porousmediumflow/2pnc/implicit/volumevariables.hh%g; -s%dumux/implicit/2pncmin/2pncminfluxvariables.hh%dumux/porousmediumflow/2pncmin/implicit/fluxvariables.hh%g; -s%dumux/implicit/2pncmin/2pncminindices.hh%dumux/porousmediumflow/2pncmin/implicit/indices.hh%g; -s%dumux/implicit/2pncmin/2pncminlocalresidual.hh%dumux/porousmediumflow/2pncmin/implicit/localresidual.hh%g; -s%dumux/implicit/2pncmin/2pncminmodel.hh%dumux/porousmediumflow/2pncmin/implicit/model.hh%g; -s%dumux/implicit/2pncmin/2pncminproperties.hh%dumux/porousmediumflow/2pncmin/implicit/properties.hh%g; -s%dumux/implicit/2pncmin/2pncminpropertydefaults.hh%dumux/porousmediumflow/2pncmin/implicit/propertydefaults.hh%g; -s%dumux/implicit/2pncmin/2pncminvolumevariables.hh%dumux/porousmediumflow/2pncmin/implicit/volumevariables.hh%g; -s%dumux/implicit/2pdfm/2pdfmfluxvariables.hh%dumux/porousmediumflow/2pdfm/implicit/fluxvariables.hh%g; -s%dumux/implicit/2pdfm/2pdfmindices.hh%dumux/porousmediumflow/2pdfm/implicit/indices.hh%g; -s%dumux/implicit/2pdfm/2pdfmlocalresidual.hh%dumux/porousmediumflow/2pdfm/implicit/localresidual.hh%g; -s%dumux/implicit/2pdfm/2pdfmmodel.hh%dumux/porousmediumflow/2pdfm/implicit/model.hh%g; -s%dumux/implicit/2pdfm/2pdfmproblem.hh%dumux/porousmediumflow/2pdfm/implicit/problem.hh%g; -s%dumux/implicit/2pdfm/2pdfmproperties.hh%dumux/porousmediumflow/2pdfm/implicit/properties.hh%g; -s%dumux/implicit/2pdfm/2pdfmpropertydefaults.hh%dumux/porousmediumflow/2pdfm/implicit/propertydefaults.hh%g; -s%dumux/implicit/2pdfm/2pdfmvolumevariables.hh%dumux/porousmediumflow/2pdfm/implicit/volumevariables.hh%g; -s%dumux/implicit/2pminc/2pmincfluxvariables.hh%dumux/porousmediumflow/2pminc/implicit/fluxvariables.hh%g; -s%dumux/implicit/2pminc/2pmincindices.hh%dumux/porousmediumflow/2pminc/implicit/indices.hh%g; -s%dumux/implicit/2pminc/2pminclocalresidual.hh%dumux/porousmediumflow/2pminc/implicit/localresidual.hh%g; -s%dumux/implicit/2pminc/2pmincmodel.hh%dumux/porousmediumflow/2pminc/implicit/model.hh%g; -s%dumux/implicit/2pminc/2pmincproperties.hh%dumux/porousmediumflow/2pminc/implicit/properties.hh%g; -s%dumux/implicit/2pminc/2pmincpropertydefaults.hh%dumux/porousmediumflow/2pminc/implicit/propertydefaults.hh%g; -s%dumux/implicit/2pminc/2pmincvolumevariables.hh%dumux/porousmediumflow/2pminc/implicit/volumevariables.hh%g; -s%dumux/implicit/co2/co2model.hh%dumux/porousmediumflow/co2/implicit/model.hh%g; -s%dumux/implicit/co2/co2volumevariables.hh%dumux/porousmediumflow/co2/implicit/volumevariables.hh%g; -s%dumux/implicit/richards/richardsfluxvariables.hh%dumux/porousmediumflow/richards/implicit/fluxvariables.hh%g; -s%dumux/implicit/richards/richardsindices.hh%dumux/porousmediumflow/richards/implicit/indices.hh%g; -s%dumux/implicit/richards/richardslocalresidual.hh%dumux/porousmediumflow/richards/implicit/localresidual.hh%g; -s%dumux/implicit/richards/richardsmodel.hh%dumux/porousmediumflow/richards/implicit/model.hh%g; -s%dumux/implicit/richards/richardsnewtoncontroller.hh%dumux/porousmediumflow/richards/implicit/newtoncontroller.hh%g; -s%dumux/implicit/richards/richardsproblem.hh%dumux/porousmediumflow/richards/implicit/problem.hh%g; -s%dumux/implicit/richards/richardsproperties.hh%dumux/porousmediumflow/richards/implicit/properties.hh%g; -s%dumux/implicit/richards/richardspropertydefaults.hh%dumux/porousmediumflow/richards/implicit/propertydefaults.hh%g; -s%dumux/implicit/richards/richardsvolumevariables.hh%dumux/porousmediumflow/richards/implicit/volumevariables.hh%g; -s%dumux/implicit/mpnc/mpncfluxvariables.hh%dumux/porousmediumflow/mpnc/implicit/fluxvariables.hh%g; -s%dumux/implicit/mpnc/mpncindices.hh%dumux/porousmediumflow/mpnc/implicit/indices.hh%g; -s%dumux/implicit/mpnc/mpnclocalresidual.hh%dumux/porousmediumflow/mpnc/implicit/localresidual.hh%g; -s%dumux/implicit/mpnc/mpncmodel.hh%dumux/porousmediumflow/mpnc/implicit/model.hh%g; -s%dumux/implicit/mpnc/mpncmodelkinetic.hh%dumux/porousmediumflow/mpnc/implicit/modelkinetic.hh%g; -s%dumux/implicit/mpnc/mpncnewtoncontroller.hh%dumux/porousmediumflow/mpnc/implicit/newtoncontroller.hh%g; -s%dumux/implicit/mpnc/mpncproperties.hh%dumux/porousmediumflow/mpnc/implicit/properties.hh%g; -s%dumux/implicit/mpnc/mpncpropertieskinetic.hh%dumux/porousmediumflow/mpnc/implicit/propertieskinetic.hh%g; -s%dumux/implicit/mpnc/mpncpropertydefaults.hh%dumux/porousmediumflow/mpnc/implicit/propertydefaults.hh%g; -s%dumux/implicit/mpnc/mpncpropertydefaultskinetic.hh%dumux/porousmediumflow/mpnc/implicit/propertydefaultskinetic.hh%g; -s%dumux/implicit/mpnc/mpncvolumevariables%dumux/porousmediumflow/mpnc/implicit/volumevariables%g; -s%dumux/implicit/mpnc/mpncvtkwriter%dumux/porousmediumflow/mpnc/implicit/vtkwriter%g; -s%dumux/implicit/mpnc/velomodelnewtoncontroller.hh%dumux/porousmediumflow/mpnc/implicit/velomodelnewtoncontroller.hh%g; -s%dumux/implicit/mpnc/diffusion%dumux/porousmediumflow/mpnc/implicit/diffusion%g; -s%dumux/implicit/mpnc/energy/mpncfluxvariablesenergy%dumux/porousmediumflow/mpnc/implicit/energy/fluxvariables%g; -s%dumux/implicit/mpnc/energy/mpncindicesenergy%dumux/porousmediumflow/mpnc/implicit/energy/indices%g; -s%dumux/implicit/mpnc/energy/mpnclocalresidualenergy%dumux/porousmediumflow/mpnc/implicit/energy/localresidual%g; -s%dumux/implicit/mpnc/energy/mpncvolumevariablesenergy%dumux/porousmediumflow/mpnc/implicit/energy/volumevariables%g; -s%dumux/implicit/mpnc/energy/mpncvtkwriterenergy%dumux/porousmediumflow/mpnc/implicit/energy/vtkwriter%g; -s%dumux/implicit/mpnc/mass/mpncindicesmass%dumux/porousmediumflow/mpnc/implicit/mass/indices%g; -s%dumux/implicit/mpnc/mass/mpnclocalresidualmass%dumux/porousmediumflow/mpnc/implicit/mass/localresidual%g; -s%dumux/implicit/mpnc/mass/mpncvolumevariablesmass%dumux/porousmediumflow/mpnc/implicit/mass/volumevariables%g; -s%dumux/implicit/mpnc/mass/mpncvtkwritermass%dumux/porousmediumflow/mpnc/implicit/mass/vtkwriter%g; -s%dumux/freeflow/stokes/stokesfluxvariables.hh%dumux/freeflow/stokes/fluxvariables.hh%g; -s%dumux/freeflow/stokes/stokesindices.hh%dumux/freeflow/stokes/indices.hh%g; -s%dumux/freeflow/stokes/stokeslocaljacobian.hh%dumux/freeflow/stokes/localjacobian.hh%g; -s%dumux/freeflow/stokes/stokeslocalresidual.hh%dumux/freeflow/stokes/localresidual.hh%g; -s%dumux/freeflow/stokes/stokesmodel.hh%dumux/freeflow/stokes/model.hh%g; -s%dumux/freeflow/stokes/stokesnewtoncontroller.hh%dumux/freeflow/stokes/newtoncontroller.hh%g; -s%dumux/freeflow/stokes/stokesproblem.hh%dumux/freeflow/stokes/problem.hh%g; -s%dumux/freeflow/stokes/stokesproperties.hh%dumux/freeflow/stokes/properties.hh%g; -s%dumux/freeflow/stokes/stokespropertydefaults.hh%dumux/freeflow/stokes/propertydefaults.hh%g; -s%dumux/freeflow/stokes/stokesvolumevariables.hh%dumux/freeflow/stokes/volumevariables.hh%g; -s%dumux/freeflow/stokesnc/stokesncfluxvariables.hh%dumux/freeflow/stokesnc/fluxvariables.hh%g; -s%dumux/freeflow/stokesnc/stokesncindices.hh%dumux/freeflow/stokesnc/indices.hh%g; -s%dumux/freeflow/stokesnc/stokesnclocalresidual.hh%dumux/freeflow/stokesnc/localresidual.hh%g; -s%dumux/freeflow/stokesnc/stokesncmodel.hh%dumux/freeflow/stokesnc/model.hh%g; -s%dumux/freeflow/stokesnc/stokesncproperties.hh%dumux/freeflow/stokesnc/properties.hh%g; -s%dumux/freeflow/stokesnc/stokesncpropertydefaults.hh%dumux/freeflow/stokesnc/propertydefaults.hh%g; -s%dumux/freeflow/stokesnc/stokesncvolumevariables.hh%dumux/freeflow/stokesnc/volumevariables.hh%g; -s%dumux/freeflow/stokesncni/stokesncnifluxvariables.hh%dumux/freeflow/stokesncni/fluxvariables.hh%g; -s%dumux/freeflow/stokesncni/stokesncniindices.hh%dumux/freeflow/stokesncni/indices.hh%g; -s%dumux/freeflow/stokesncni/stokesncnilocalresidual.hh%dumux/freeflow/stokesncni/localresidual.hh%g; -s%dumux/freeflow/stokesncni/stokesncnimodel.hh%dumux/freeflow/stokesncni/model.hh%g; -s%dumux/freeflow/stokesncni/stokesncniproperties.hh%dumux/freeflow/stokesncni/properties.hh%g; -s%dumux/freeflow/stokesncni/stokesncnipropertydefaults.hh%dumux/freeflow/stokesncni/propertydefaults.hh%g; -s%dumux/freeflow/stokesncni/stokesncnivolumevariables.hh%dumux/freeflow/stokesncni/volumevariables.hh%g; -s%dumux/freeflow/zeroeq/zeroeqfluxvariables.hh%dumux/freeflow/zeroeq/fluxvariables.hh%g; -s%dumux/freeflow/zeroeq/zeroeqindices.hh%dumux/freeflow/zeroeq/indices.hh%g; -s%dumux/freeflow/zeroeq/zeroeqmodel.hh%dumux/freeflow/zeroeq/model.hh%g; -s%dumux/freeflow/zeroeq/zeroeqproblem.hh%dumux/freeflow/zeroeq/problem.hh%g; -s%dumux/freeflow/zeroeq/zeroeqproperties.hh%dumux/freeflow/zeroeq/properties.hh%g; -s%dumux/freeflow/zeroeq/zeroeqpropertydefaults.hh%dumux/freeflow/zeroeq/propertydefaults.hh%g; -s%dumux/freeflow/zeroeqnc/zeroeqncfluxvariables.hh%dumux/freeflow/zeroeqnc/fluxvariables.hh%g; -s%dumux/freeflow/zeroeqnc/zeroeqncindices.hh%dumux/freeflow/zeroeqnc/indices.hh%g; -s%dumux/freeflow/zeroeqnc/zeroeqncmodel.hh%dumux/freeflow/zeroeqnc/model.hh%g; -s%dumux/freeflow/zeroeqnc/zeroeqncproperties.hh%dumux/freeflow/zeroeqnc/properties.hh%g; -s%dumux/freeflow/zeroeqnc/zeroeqncpropertydefaults.hh%dumux/freeflow/zeroeqnc/propertydefaults.hh%g; -s%dumux/freeflow/zeroeqncni/zeroeqncnifluxvariables.hh%dumux/freeflow/zeroeqncni/fluxvariables.hh%g; -s%dumux/freeflow/zeroeqncni/zeroeqncniindices.hh%dumux/freeflow/zeroeqncni/indices.hh%g; -s%dumux/freeflow/zeroeqncni/zeroeqncnimodel.hh%dumux/freeflow/zeroeqncni/model.hh%g; -s%dumux/freeflow/zeroeqncni/zeroeqncniproperties.hh%dumux/freeflow/zeroeqncni/properties.hh%g; -s%dumux/freeflow/zeroeqncni/zeroeqncnipropertydefaults.hh%dumux/freeflow/zeroeqncni/propertydefaults.hh%g; -s%dumux/geomechanics/elastic/elasticfluxvariables.hh%dumux/geomechanics/elastic/fluxvariables.hh%g; -s%dumux/geomechanics/elastic/elasticindices.hh%dumux/geomechanics/elastic/indices.hh%g; -s%dumux/geomechanics/elastic/elasticlocalresidual.hh%dumux/geomechanics/elastic/localresidual.hh%g; -s%dumux/geomechanics/elastic/elasticmodel.hh%dumux/geomechanics/elastic/model.hh%g; -s%dumux/geomechanics/elastic/elasticproperties.hh%dumux/geomechanics/elastic/properties.hh%g; -s%dumux/geomechanics/elastic/elasticpropertydefaults.hh%dumux/geomechanics/elastic/propertydefaults.hh%g; -s%dumux/geomechanics/elastic/elasticvolumevariables.hh%dumux/geomechanics/elastic/volumevariables.hh%g; -s%dumux/geomechanics/el1p2c/el1p2celementvolumevariables.hh%dumux/geomechanics/el1p2c/elementvolumevariables.hh%g; -s%dumux/geomechanics/el1p2c/el1p2cfluxvariables.hh%dumux/geomechanics/el1p2c/fluxvariables.hh%g; -s%dumux/geomechanics/el1p2c/el1p2cindices.hh%dumux/geomechanics/el1p2c/indices.hh%g; -s%dumux/geomechanics/el1p2c/el1p2clocaljacobian.hh%dumux/geomechanics/el1p2c/localjacobian.hh%g; -s%dumux/geomechanics/el1p2c/el1p2clocalresidual.hh%dumux/geomechanics/el1p2c/localresidual.hh%g; -s%dumux/geomechanics/el1p2c/el1p2cmodel.hh%dumux/geomechanics/el1p2c/model.hh%g; -s%dumux/geomechanics/el1p2c/el1p2cproperties.hh%dumux/geomechanics/el1p2c/properties.hh%g; -s%dumux/geomechanics/el1p2c/el1p2cpropertydefaults.hh%dumux/geomechanics/el1p2c/propertydefaults.hh%g; -s%dumux/geomechanics/el1p2c/el1p2cvolumevariables.hh%dumux/geomechanics/el1p2c/volumevariables.hh%g; -s%dumux/geomechanics/el2p/el2pamgbackend.hh%dumux/geomechanics/el2p/amgbackend.hh%g; -s%dumux/geomechanics/el2p/el2passembler.hh%dumux/geomechanics/el2p/assembler.hh%g; -s%dumux/geomechanics/el2p/el2pbasemodel.hh%dumux/geomechanics/el2p/basemodel.hh%g; -s%dumux/geomechanics/el2p/el2pelementvolumevariables.hh%dumux/geomechanics/el2p/elementvolumevariables.hh%g; -s%dumux/geomechanics/el2p/el2pfluxvariables.hh%dumux/geomechanics/el2p/fluxvariables.hh%g; -s%dumux/geomechanics/el2p/el2pindices.hh%dumux/geomechanics/el2p/indices.hh%g; -s%dumux/geomechanics/el2p/el2plocaljacobian.hh%dumux/geomechanics/el2p/localjacobian.hh%g; -s%dumux/geomechanics/el2p/el2plocaloperator.hh%dumux/geomechanics/el2p/localoperator.hh%g; -s%dumux/geomechanics/el2p/el2plocalresidual.hh%dumux/geomechanics/el2p/localresidual.hh%g; -s%dumux/geomechanics/el2p/el2pmodel.hh%dumux/geomechanics/el2p/model.hh%g; -s%dumux/geomechanics/el2p/el2pnewtoncontroller.hh%dumux/geomechanics/el2p/newtoncontroller.hh%g; -s%dumux/geomechanics/el2p/el2pproperties.hh%dumux/geomechanics/el2p/properties.hh%g; -s%dumux/geomechanics/el2p/el2ppropertydefaults.hh%dumux/geomechanics/el2p/propertydefaults.hh%g; -s%dumux/geomechanics/el2p/el2pvolumevariables.hh%dumux/geomechanics/el2p/volumevariables.hh%g; -s%dumux/geomechanics/el2p/el2pamgbackend.hh%dumux/geomechanics/el2p/amgbackend.hh%g; -s%dumux/multidomain/common/multidomainassembler.hh%dumux/multidomain/assembler.hh%g; -s%dumux/multidomain/common/multidomainconvergencewriter.hh%dumux/multidomain/convergencewriter.hh%g; -s%dumux/multidomain/common/multidomainlocaloperator.hh%dumux/multidomain/localoperator.hh%g; -s%dumux/multidomain/common/multidomainmodel.hh%dumux/multidomain/model.hh%g; -s%dumux/multidomain/common/multidomainnewtoncontroller.hh%dumux/multidomain/newtoncontroller.hh%g; -s%dumux/multidomain/common/multidomainproblem.hh%dumux/multidomain/problem.hh%g; -s%dumux/multidomain/common/multidomainproperties.hh%dumux/multidomain/properties.hh%g; -s%dumux/multidomain/common/multidomainpropertydefaults.hh%dumux/multidomain/propertydefaults.hh%g; -s%dumux/multidomain/common/boxcouplinglocalresidual.hh%dumux/multidomain/boxcouplinglocalresidual.hh%g; -s%dumux/multidomain/common/splitandmerge.hh%dumux/multidomain/splitandmerge.hh%g; -s%dumux/multidomain/common/subdomainproperties.hh%dumux/multidomain/subdomainproperties.hh%g; -s%dumux/multidomain/common/subdomainpropertydefaults.hh%dumux/multidomain/subdomainpropertydefaults.hh%g; -s%dumux/multidomain/2cnistokes2p2cni/2cnistokes2p2cnilocaloperator.hh%dumux/multidomain/2cnistokes2p2cni/localoperator.hh%g; -s%dumux/multidomain/2cnistokes2p2cni/2cnistokes2p2cniproperties.hh%dumux/multidomain/2cnistokes2p2cni/properties.hh%g; -s%dumux/multidomain/2cnistokes2p2cni/2cnistokes2p2cnipropertydefaults.hh%dumux/multidomain/2cnistokes2p2cni/propertydefaults.hh%g; -s%dumux/multidomain/2cstokes2p2c/2cstokes2p2clocaloperator.hh%dumux/multidomain/2cstokes2p2c/localoperator.hh%g; -s%dumux/multidomain/2cstokes2p2c/2cstokes2p2cnewtoncontroller.hh%dumux/multidomain/2cstokes2p2c/newtoncontroller.hh%g; -s%dumux/multidomain/2cstokes2p2c/2cstokes2p2cproperties.hh%dumux/multidomain/2cstokes2p2c/properties.hh%g; -s%dumux/multidomain/2cstokes2p2c/2cstokes2p2cpropertydefaults.hh%dumux/multidomain/2cstokes2p2c/propertydefaults.hh%g; -s%dumux/material/fluidstates/2p2cfluidstate.hh%dumux/material/fluidstates/2p2c.hh%g; -s%dumux/material/fluidstates/compositionalfluidstate.hh%dumux/material/fluidstates/compositional.hh%g; -s%dumux/material/fluidstates/immisciblefluidstate.hh%dumux/material/fluidstates/immiscible.hh%g; -s%dumux/material/fluidstates/isothermalimmisciblefluidstate.hh%dumux/material/fluidstates/isothermalimmiscible.hh%g; -s%dumux/material/fluidstates/nonequilibriumenergyfluidstate.hh%dumux/material/fluidstates/nonequilibriumenergy.hh%g; -s%dumux/material/fluidstates/nonequilibriumfluidstate.hh%dumux/material/fluidstates/nonequilibrium.hh%g; -s%dumux/material/fluidstates/nonequilibriummassfluidstate.hh%dumux/material/fluidstates/nonequilibriummass.hh%g; -s%dumux/material/fluidstates/pressureoverlayfluidstate.hh%dumux/material/fluidstates/pressureoverlay.hh%g; -s%dumux/material/fluidstates/pseudo1p2cfluidstate.hh%dumux/material/fluidstates/pseudo1p2c.hh%g; -s%dumux/material/fluidstates/saturationoverlayfluidstate.hh%dumux/material/fluidstates/saturationoverlay.hh%g; -s%dumux/material/fluidstates/temperatureoverlayfluidstate.hh%dumux/material/fluidstates/temperatureoverlay.hh%g; -s%dumux/material/fluidsystems/1pfluidsystem.hh%dumux/material/fluidsystems/1p.hh%g; -s%dumux/material/fluidsystems/2pimmisciblefluidsystem.hh%dumux/material/fluidsystems/2pimmiscible.hh%g; -s%dumux/material/fluidsystems/basefluidsystem.hh%dumux/material/fluidsystems/base.hh%g; -s%dumux/material/fluidsystems/brineairfluidsystem.hh%dumux/material/fluidsystems/brineair.hh%g; -s%dumux/material/fluidsystems/brineco2fluidsystem.hh%dumux/material/fluidsystems/brineco2.hh%g; -s%dumux/material/fluidsystems/h2oairfluidsystem.hh%dumux/material/fluidsystems/h2oair.hh%g; -s%dumux/material/fluidsystems/h2oairmesitylenefluidsystem.hh%dumux/material/fluidsystems/h2oairmesitylene.hh%g; -s%dumux/material/fluidsystems/h2oairxylenefluidsystem.hh%dumux/material/fluidsystems/h2oairxylene.hh%g; -s%dumux/material/fluidsystems/h2on2fluidsystem.hh%dumux/material/fluidsystems/h2on2.hh%g; -s%dumux/material/fluidsystems/h2on2liquidphasefluidsystem.hh%dumux/material/fluidsystems/h2on2liquidphase.hh%g; -s%dumux/material/fluidsystems/h2on2o2fluidsystem.hh%dumux/material/fluidsystems/h2on2o2.hh%g; -s%dumux/material/fluidsystems/purewatersimplefluidsystem.hh%dumux/material/fluidsystems/purewatersimple.hh%g; -s%dumux/material/fluidsystems/spe5fluidsystem.hh%dumux/material/fluidsystems/spe5.hh%g; -s%dumux/material/fluidsystems/h2on2fluidsystemkinetic.hh%dumux/material/fluidsystems/h2on2kinetic.hh%g; -s%dumux/material/spatialparams/fvspatialparams.hh%dumux/material/spatialparams/fv.hh%g; -s%dumux/material/spatialparams/implicitspatialparams.hh%dumux/material/spatialparams/implicit.hh%g; -s%dumux/material/spatialparams/fvspatialparams1p.hh%dumux/material/spatialparams/fv1p.hh%g; -s%dumux/material/spatialparams/implicitspatialparams1p.hh%dumux/material/spatialparams/implicit1p.hh%g; -s%dumux/decoupled/1p/1pindices.hh%dumux/porousmediumflow/1p/sequential/indices.hh%g; -s%dumux/decoupled/1p/1pproperties.hh%dumux/porousmediumflow/1p/sequential/properties.hh%g; -s%dumux/decoupled/1p/celldata1p.hh%dumux/porousmediumflow/1p/sequential/celldata.hh%g; -s%dumux/decoupled/1p/fluxdata1p.hh%dumux/porousmediumflow/1p/sequential/fluxdata.hh%g; -s%dumux/decoupled/1p/diffusion/diffusionproperties1p.hh%dumux/porousmediumflow/1p/sequential/diffusion/properties.hh%g; -s%dumux/decoupled/1p/diffusion/diffusionproblem1p.hh%dumux/porousmediumflow/1p/sequential/diffusion/problem.hh%g; -s%dumux/decoupled/1p/diffusion/fv/fvpressure1p.hh%dumux/porousmediumflow/1p/sequential/diffusion/cellcentered/pressure.hh%g; -s%dumux/decoupled/1p/diffusion/fv/fvpressureproperties1p.hh%dumux/porousmediumflow/1p/sequential/diffusion/cellcentered/pressureproperties.hh%g; -s%dumux/decoupled/1p/diffusion/fv/fvpressurevelocity1p.hh%dumux/porousmediumflow/1p/sequential/diffusion/cellcentered/pressurevelocity.hh%g; -s%dumux/decoupled/1p/diffusion/fv/fvpressurevelocityproperties1p.hh%dumux/porousmediumflow/1p/sequential/diffusion/cellcentered/pressurevelocityproperties.hh%g; -s%dumux/decoupled/1p/diffusion/fv/fvvelocity1p.hh%dumux/porousmediumflow/1p/sequential/diffusion/cellcentered/velocity.hh%g; -s%dumux/decoupled/common/gridadapt.hh%dumux/porousmediumflow/sequential/gridadapt.hh%g; -s%dumux/decoupled/common/gridadaptinitializationindicatordefault.hh%dumux/porousmediumflow/sequential/gridadaptinitializationindicatordefault.hh%g; -s%dumux/decoupled/common/gridadaptinitializationindicator.hh%dumux/porousmediumflow/sequential/gridadaptinitializationindicator.hh%g; -s%dumux/decoupled/common/gridadaptproperties.hh%dumux/porousmediumflow/sequential/gridadaptproperties.hh%g; -s%dumux/decoupled/common/impet.hh%dumux/porousmediumflow/sequential/impet.hh%g; -s%dumux/decoupled/common/impetproblem.hh%dumux/porousmediumflow/sequential/impetproblem.hh%g; -s%dumux/decoupled/common/impetproperties.hh%dumux/porousmediumflow/sequential/impetproperties.hh%g; -s%dumux/decoupled/common/onemodelproblem.hh%dumux/porousmediumflow/sequential/onemodelproblem.hh%g; -s%dumux/decoupled/common/pressureproperties.hh%dumux/porousmediumflow/sequential/pressureproperties.hh%g; -s%dumux/decoupled/common/decoupledproperties.hh%dumux/porousmediumflow/sequential/properties.hh%g; -s%dumux/decoupled/common/transportproperties.hh%dumux/porousmediumflow/sequential/transportproperties.hh%g; -s%dumux/decoupled/common/variableclassadaptive.hh%dumux/porousmediumflow/sequential/variableclassadaptive.hh%g; -s%dumux/decoupled/common/variableclass.hh%dumux/porousmediumflow/sequential/variableclass.hh%g; -s%dumux/decoupled/common/fv/fvpressure.hh%dumux/porousmediumflow/sequential/cellcentered/pressure.hh%g; -s%dumux/decoupled/common/fv/fvtransport.hh%dumux/porousmediumflow/sequential/cellcentered/transport.hh%g; -s%dumux/decoupled/common/fv/fvvelocitydefault.hh%dumux/porousmediumflow/sequential/cellcentered/velocitydefault.hh%g; -s%dumux/decoupled/common/fv/fvvelocity.hh%dumux/porousmediumflow/sequential/cellcentered/velocity.hh%g; -s%dumux/decoupled/common/fv/mpfa/fvmpfaproperties.hh%dumux/porousmediumflow/sequential/cellcentered/mpfa/properties.hh%g; -s%dumux/decoupled/common/fv/mpfa/fvmpfavelocityintransport.hh%dumux/porousmediumflow/sequential/cellcentered/mpfa/velocityintransport.hh%g; -s%dumux/decoupled/common/fv/mpfa/mpfalinteractionvolume3dadaptive.hh%dumux/porousmediumflow/sequential/cellcentered/mpfa/linteractionvolume3dadaptive.hh%g; -s%dumux/decoupled/common/fv/mpfa/mpfalinteractionvolume3d.hh%dumux/porousmediumflow/sequential/cellcentered/mpfa/linteractionvolume3d.hh%g; -s%dumux/decoupled/common/fv/mpfa/mpfalinteractionvolume.hh%dumux/porousmediumflow/sequential/cellcentered/mpfa/linteractionvolume.hh%g; -s%dumux/decoupled/common/fv/mpfa/mpfaointeractionvolume.hh%dumux/porousmediumflow/sequential/cellcentered/mpfa/ointeractionvolume.hh%g; -s%dumux/decoupled/common/mimetic/mimeticproperties.hh%dumux/porousmediumflow/sequential/mimetic/properties.hh%g; -s%dumux/decoupled/2p2c/2p2cadaptiveproperties.hh%dumux/porousmediumflow/2p2c/sequential/adaptiveproperties.hh%g; -s%dumux/decoupled/2p2c/2p2cfluidstate.hh%dumux/porousmediumflow/2p2c/sequential/fluidstate.hh%g; -s%dumux/decoupled/2p2c/2p2cproblem.hh%dumux/porousmediumflow/2p2c/sequential/problem.hh%g; -s%dumux/decoupled/2p2c/2p2cproperties.hh%dumux/porousmediumflow/2p2c/sequential/properties.hh%g; -s%dumux/decoupled/2p2c/celldata2p2cadaptive.hh%dumux/porousmediumflow/2p2c/sequential/celldataadaptive.hh%g; -s%dumux/decoupled/2p2c/celldata2p2c.hh%dumux/porousmediumflow/2p2c/sequential/celldata.hh%g; -s%dumux/decoupled/2p2c/celldata2p2cmultiphysics.hh%dumux/porousmediumflow/2p2c/sequential/celldatamultiphysics.hh%g; -s%dumux/decoupled/2p2c/fluxdata2p2c.hh%dumux/porousmediumflow/2p2c/sequential/fluxdata.hh%g; -s%dumux/decoupled/2p2c/fv2dpressure2p2cadaptive.hh%dumux/porousmediumflow/2p2c/sequential/fv2dpressureadaptive.hh%g; -s%dumux/decoupled/2p2c/fv2dtransport2p2cadaptive.hh%dumux/porousmediumflow/2p2c/sequential/fv2dtransportadaptive.hh%g; -s%dumux/decoupled/2p2c/fv3dpressure2p2cadaptive.hh%dumux/porousmediumflow/2p2c/sequential/fv3dpressureadaptive.hh%g; -s%dumux/decoupled/2p2c/fv3dtransport2p2cadaptive.hh%dumux/porousmediumflow/2p2c/sequential/fv3dtransportadaptive.hh%g; -s%dumux/decoupled/2p2c/fvmpfal3d2p2cinteractionvolumecontaineradaptive.hh%dumux/porousmediumflow/2p2c/sequential/fvmpfal3dinteractionvolumecontaineradaptive.hh%g; -s%dumux/decoupled/2p2c/fvpressure2p2c.hh%dumux/porousmediumflow/2p2c/sequential/fvpressure.hh%g; -s%dumux/decoupled/2p2c/fvpressure2p2cmultiphysics.hh%dumux/porousmediumflow/2p2c/sequential/fvpressuremultiphysics.hh%g; -s%dumux/decoupled/2p2c/fvpressurecompositional.hh%dumux/porousmediumflow/2p2c/sequential/fvpressurecompositional.hh%g; -s%dumux/decoupled/2p2c/fvtransport2p2c.hh%dumux/porousmediumflow/2p2c/sequential/fvtransport.hh%g; -s%dumux/decoupled/2p2c/fvtransport2p2cmultiphysics.hh%dumux/porousmediumflow/2p2c/sequential/fvtransportmultiphysics.hh%g; -s%dumux/decoupled/2p2c/pseudo1p2cfluidstate.hh%dumux/porousmediumflow/2p2c/sequential/pseudo1p2cfluidstate.hh%g; -s%dumux/decoupled/2p2c/variableclass2p2cadaptive.hh%dumux/porousmediumflow/2p2c/sequential/variableclassadaptive.hh%g; -s%dumux/decoupled/2p/2pindices.hh%dumux/porousmediumflow/2p/sequential/indices.hh%g; -s%dumux/decoupled/2p/2pproperties.hh%dumux/porousmediumflow/2p/sequential/properties.hh%g; -s%dumux/decoupled/2p/celldata2padaptive.hh%dumux/porousmediumflow/2p/sequential/celldataadaptive.hh%g; -s%dumux/decoupled/2p/celldata2p.hh%dumux/porousmediumflow/2p/sequential/celldata.hh%g; -s%dumux/decoupled/2p/fluxdata2p.hh%dumux/porousmediumflow/2p/sequential/fluxdata.hh%g; -s%dumux/decoupled/2p/diffusion/diffusionproblem2p.hh%dumux/porousmediumflow/2p/sequential/diffusion/problem.hh%g; -s%dumux/decoupled/2p/diffusion/diffusionproperties2p.hh%dumux/porousmediumflow/2p/sequential/diffusion/properties.hh%g; -s%dumux/decoupled/2p/diffusion/fv/fvpressure2padaptive.hh%dumux/porousmediumflow/2p/sequential/diffusion/cellcentered/pressureadaptive.hh%g; -s%dumux/decoupled/2p/diffusion/fv/fvpressure2p.hh%dumux/porousmediumflow/2p/sequential/diffusion/cellcentered/pressure.hh%g; -s%dumux/decoupled/2p/diffusion/fv/fvpressureproperties2padaptive.hh%dumux/porousmediumflow/2p/sequential/diffusion/cellcentered/pressurepropertiesadaptive.hh%g; -s%dumux/decoupled/2p/diffusion/fv/fvpressureproperties2p.hh%dumux/porousmediumflow/2p/sequential/diffusion/cellcentered/pressureproperties.hh%g; -s%dumux/decoupled/2p/diffusion/fv/fvpressurevelocity2p.hh%dumux/porousmediumflow/2p/sequential/diffusion/cellcentered/pressurevelocity.hh%g; -s%dumux/decoupled/2p/diffusion/fv/fvpressurevelocityproperties2p.hh%dumux/porousmediumflow/2p/sequential/diffusion/cellcentered/pressurevelocityproperties.hh%g; -s%dumux/decoupled/2p/diffusion/fv/fvvelocity2padaptive.hh%dumux/porousmediumflow/2p/sequential/diffusion/cellcentered/velocityadaptive.hh%g; -s%dumux/decoupled/2p/diffusion/fv/fvvelocity2p.hh%dumux/porousmediumflow/2p/sequential/diffusion/cellcentered/velocity.hh%g; -s%dumux/decoupled/2p/diffusion/fvmpfa/lmethod/fvmpfal2dpressure2p%dumux/porousmediumflow/2p/sequential/diffusion/mpfa/lmethod/2dpressure%g; -s%dumux/decoupled/2p/diffusion/fvmpfa/lmethod/fvmpfal2dpressureproperties2p%dumux/porousmediumflow/2p/sequential/diffusion/mpfa/lmethod/2dpressureproperties%g; -s%dumux/decoupled/2p/diffusion/fvmpfa/lmethod/fvmpfal2dpressurevelocity2p%dumux/porousmediumflow/2p/sequential/diffusion/mpfa/lmethod/2dpressurevelocity%g; -s%dumux/decoupled/2p/diffusion/fvmpfa/lmethod/fvmpfal2dtransmissibilitycalculator.hh%dumux/porousmediumflow/2p/sequential/diffusion/mpfa/lmethod/2dtransmissibilitycalculator.hh%g; -s%dumux/decoupled/2p/diffusion/fvmpfa/lmethod/fvmpfal2dvelocity2p%dumux/porousmediumflow/2p/sequential/diffusion/mpfa/lmethod/2dvelocity%g; -s%dumux/decoupled/2p/diffusion/fvmpfa/lmethod/fvmpfal3dinteractionvolumecontainerad%dumux/porousmediumflow/2p/sequential/diffusion/mpfa/lmethod/3dinteractionvolumecontainer%g; -s%dumux/decoupled/2p/diffusion/fvmpfa/lmethod/fvmpfal3dpressure2p%dumux/porousmediumflow/2p/sequential/diffusion/mpfa/lmethod/3dpressure%g; -s%dumux/decoupled/2p/diffusion/fvmpfa/lmethod/fvmpfal3dpressureproperties2p%dumux/porousmediumflow/2p/sequential/diffusion/mpfa/lmethod/3dpressureproperties%g; -s%dumux/decoupled/2p/diffusion/fvmpfa/lmethod/fvmpfal3dpressurevelocity2p%dumux/porousmediumflow/2p/sequential/diffusion/mpfa/lmethod/3dpressurevelocity%g; -s%dumux/decoupled/2p/diffusion/fvmpfa/lmethod/fvmpfal3dtransmissibilitycalculator.hh%dumux/porousmediumflow/2p/sequential/diffusion/mpfa/lmethod/3dtransmissibilitycalculator.hh%g; -s%dumux/decoupled/2p/diffusion/fvmpfa/lmethod/fvmpfal3dvelocity2p%dumux/porousmediumflow/2p/sequential/diffusion/mpfa/lmethod/3dvelocity%g; -s%dumux/decoupled/2p/diffusion/fvmpfa/omethod/fvmpfao2dpressure2p.hh%dumux/porousmediumflow/2p/sequential/diffusion/mpfa/omethod/2dpressure.hh%g; -s%dumux/decoupled/2p/diffusion/fvmpfa/omethod/fvmpfao2dpressureproperties2p.hh%dumux/porousmediumflow/2p/sequential/diffusion/mpfa/omethod/2dpressureproperties.hh%g; -s%dumux/decoupled/2p/diffusion/fvmpfa/omethod/fvmpfao2dpressurevelocity2p.hh%dumux/porousmediumflow/2p/sequential/diffusion/mpfa/omethod/2dpressurevelocity.hh%g; -s%dumux/decoupled/2p/diffusion/fvmpfa/omethod/fvmpfao2dvelocity2p.hh%dumux/porousmediumflow/2p/sequential/diffusion/mpfa/omethod/2dvelocity.hh%g; -s%dumux/decoupled/2p/diffusion/mimetic/croperator2p%dumux/porousmediumflow/2p/sequential/diffusion/mimetic/croperator%g; -s%dumux/decoupled/2p/diffusion/mimetic/localstiffness.hh%dumux/porousmediumflow/2p/sequential/diffusion/mimetic/localstiffness.hh%g; -s%dumux/decoupled/2p/diffusion/mimetic/mimetic2p%dumux/porousmediumflow/2p/sequential/diffusion/mimetic/mimetic%g; -s%dumux/decoupled/2p/diffusion/mimetic/mimeticoperator2p%dumux/porousmediumflow/2p/sequential/diffusion/mimetic/operator%g; -s%dumux/decoupled/2p/diffusion/mimetic/mimeticpressure2p%dumux/porousmediumflow/2p/sequential/diffusion/mimetic/pressure%g; -s%dumux/decoupled/2p/diffusion/mimetic/mimeticpressureproperties2p%dumux/porousmediumflow/2p/sequential/diffusion/mimetic/pressureproperties%g; -s%dumux/decoupled/2p/impes/gridadaptionindicator2p.hh%dumux/porousmediumflow/2p/sequential/impes/gridadaptionindicator.hh%g; -s%dumux/decoupled/2p/impes/gridadaptionindicator2plocalflux.hh%dumux/porousmediumflow/2p/sequential/impes/gridadaptionindicatorlocalflux.hh%g; -s%dumux/decoupled/2p/impes/gridadaptionindicator2plocal.hh%dumux/porousmediumflow/2p/sequential/impes/gridadaptionindicatorlocal.hh%g; -s%dumux/decoupled/2p/impes/impesproblem2p.hh%dumux/porousmediumflow/2p/sequential/impes/problem.hh%g; -s%dumux/decoupled/2p/impes/impesproperties2padaptive.hh%dumux/porousmediumflow/2p/sequential/impes/propertiesadaptive.hh%g; -s%dumux/decoupled/2p/impes/impesproperties2p.hh%dumux/porousmediumflow/2p/sequential/impes/properties.hh%g; -s%dumux/decoupled/2p/transport/transportproblem2p.hh%dumux/porousmediumflow/2p/sequential/transport/problem.hh%g; -s%dumux/decoupled/2p/transport/transportproperties2p.hh%dumux/porousmediumflow/2p/sequential/transport/properties.hh%g; -s%dumux/decoupled/2p/transport/fv/capillarydiffusion.hh%dumux/porousmediumflow/2p/sequential/transport/cellcentered/capillarydiffusion.hh%g; -s%dumux/decoupled/2p/transport/fv/convectivepart.hh%dumux/porousmediumflow/2p/sequential/transport/cellcentered/convectivepart.hh%g; -s%dumux/decoupled/2p/transport/fv/diffusivepart.hh%dumux/porousmediumflow/2p/sequential/transport/cellcentered/diffusivepart.hh%g; -s%dumux/decoupled/2p/transport/fv/evalcflfluxcoats.hh%dumux/porousmediumflow/2p/sequential/transport/cellcentered/evalcflfluxcoats.hh%g; -s%dumux/decoupled/2p/transport/fv/evalcflfluxdefault.hh%dumux/porousmediumflow/2p/sequential/transport/cellcentered/evalcflfluxdefault.hh%g; -s%dumux/decoupled/2p/transport/fv/evalcflflux.hh%dumux/porousmediumflow/2p/sequential/transport/cellcentered/evalcflflux.hh%g; -s%dumux/decoupled/2p/transport/fv/fvsaturation2p.hh%dumux/porousmediumflow/2p/sequential/transport/cellcentered/saturation.hh%g; -s%dumux/decoupled/2p/transport/fv/fvtransportproperties2p.hh%dumux/porousmediumflow/2p/sequential/transport/cellcentered/properties.hh%g; -s%dumux/decoupled/2p/transport/fv/gravitypart.hh%dumux/porousmediumflow/2p/sequential/transport/cellcentered/gravitypart.hh%g; -" \ -$TMP -done diff --git a/bin/moduleutil/extractmodulepart.sh b/bin/moduleutil/extractmodulepart.sh new file mode 100755 index 0000000000000000000000000000000000000000..0ee074e126266bb3318937c4b7eff1de9227a88c --- /dev/null +++ b/bin/moduleutil/extractmodulepart.sh @@ -0,0 +1,417 @@ +#! /bin/bash + +# check if help is needed +if test "$1" = "--help" || test "$1" = "-help" \ + || test "$1" = "help" || test "$1" = ""; then + echo "" + echo "USAGE: $0 MODULE_DIR PATH_1 [PATH_2 ...]" + echo "" + echo "MODULE_DIR is the folder containing the DUNE module from which you" + echo "want to extract. The script has to be called one level above it." + echo "" + echo "The PATHs need to indicate subfolders of MODULE_DIR. At least one" + echo "of them has to contain a source file *.cc of an executable for which" + echo "you would like to timber a table in dumux-pub." + exit 0 +fi + +MODULE_DIR=$1 +# if MODULE_DIR contains a slash as last character, delete it +MODULE_DIR=$(echo $MODULE_DIR | sed s'/\/$//') +# check if we are above MODULE_DIR +if (! [ -d $MODULE_DIR ]); then + echo "ERROR: you need to run the script one level above the folder $MODULE_DIR." + echo "Run \"$0 --help\" for details." + exit 1 +fi + +# determine all source files in the paths passed as arguments +cd $MODULE_DIR +MODULE_FULL_PATH=$(pwd) +ALL_SOURCES="" +ALL_DIRECTORIES="" +for DIR_PATH in ${*:2}; do + STRIPPED_PATH=$(sed 's%.*'"$MODULE_DIR"'/%%g' <(echo "$DIR_PATH")) + ALL_DIRECTORIES="$ALL_DIRECTORIES $STRIPPED_PATH" + ALL_SOURCES="$ALL_SOURCES $(find $STRIPPED_PATH -name '*.cc' 2>/dev/null)" +done +cd .. + +# check if sources have been obtained +CONTRACTED="$(echo "$ALL_SOURCES" | tr -d " \t\n\r")" +if test "$CONTRACTED" = ""; then + echo "ERROR: no source files *.cc found in the directories ${*:2}." + echo "Be sure to provide a list of paths as arguments to this script." + echo "Run \"$0 --help\" for details." + exit 1; +fi + +# try to find the duneproject script +if hash duneproject 2>/dev/null; then + DUNE_PROJECT="duneproject" +else + DUNE_PROJECT=$(find . -name 'duneproject') +fi +if test "$DUNE_PROJECT" = ""; then + echo "ERROR: Could not find duneproject." + echo "Be sure to either have duneproject in your search path" + echo "or to run this script from a directory that contains duneproject." + exit 1; +fi + +# give explanations +echo "" +echo "This script will" +echo "- extract the following sub-folders of $MODULE_DIR:" +echo "" +for DIR_PATH in $ALL_DIRECTORIES; do + echo " $DIR_PATH," +done +echo "" +echo " and all headers in $MODULE_DIR that are required to build the" +echo " executables from the sources" +echo "" +for SOURCE in $ALL_SOURCES; do + echo " $SOURCE," +done +echo "" +echo "- copy the extracted files into a freshly created DUNE module, retaining the" +echo " directory structure," +echo "" +echo "- update/create all required files like CMakeLists.txt," +echo "" +echo "- store the versions of all used Dune module" +echo "" +echo "- and extract their modifications as patches." +echo "" +echo "Thus, you receive a fully-working DUNE module containing the subset of" +echo "$MODULE_DIR that is required to run your application." +echo "" +echo "duneproject will be run now. The new module should NOT depend on the" +echo "module in $MODULE_DIR." +echo "" +read -p "Read the above and press [Enter] to proceed..." + +# run duneproject +OLD_LS="$(ls)" +$DUNE_PROJECT +NEW_LS="$(ls)" + +# determine the new module/directory name +DIFF_OUTPUT=$(diff <(echo "$OLD_LS" ) <(echo "$NEW_LS")) +FOUND="0" +MODULE_NAME="" +for WORD in $DIFF_OUTPUT; do + if test "$FOUND" = "1"; then + MODULE_NAME=$WORD + fi + if test "$WORD" = ">"; then + FOUND="1" + fi +done +if test "$MODULE_NAME" = ""; then + echo "ERROR: could not find new module. Aborting." + exit 1 +else + echo "" + echo "$(basename $0): Found new module $MODULE_NAME" +fi + +echo -n "Determining required headers..." +cd $MODULE_DIR + +# initialize lists to hold required headers +LAST_REQUIRED_HEADERS="" +REQUIRED_HEADERS="$ALL_SOURCES" + +while test "$LAST_REQUIRED_HEADERS" != "$REQUIRED_HEADERS"; do + echo -n "." + LAST_REQUIRED_HEADERS="$REQUIRED_HEADERS" + + # remove the file that stores all required headers line by line + rm -f tmp_header_file + + for HEADER in $REQUIRED_HEADERS; do + # if tmp_header_file does not exist, create it + if test "$(ls tmp_header_file 2>/dev/null)" = ""; then + touch tmp_header_file + fi + + # append header name to tmp_header_file + echo "$HEADER" >> tmp_header_file + + # obtain the base name and the directory name of the header that is considered + HEADER_BASE_NAME=$(basename $HEADER) + HEADER_DIR_NAME=$(dirname $HEADER) + + # create a list of all files that are included from the header + sed -i 's/#include/#include /' $HEADER + INCLUDE_LIST=$(tr -s " " < $HEADER | tr -d '><"' | awk '/#include/{print $2}') + sed -i 's/#include /#include/' $HEADER + + # look at each of the included files + for INCLUDED_HEADER in $INCLUDE_LIST; do + # don't include config.h + if test "$INCLUDED_HEADER" = "config.h"; then + continue + fi + + INCLUDED_BASE_NAME=$(basename $INCLUDED_HEADER) + INCLUDED_DIR_NAME=$(dirname $INCLUDED_HEADER) + + # if the header file exists, add it + if test "$(ls $INCLUDED_HEADER 2>/dev/null)" = "$INCLUDED_HEADER"; then + echo "$INCLUDED_HEADER" >> tmp_header_file + continue + fi + + # try the header preceded by its path + INCLUDED_HEADER_WITH_PATH="${HEADER_DIR_NAME}/${INCLUDED_HEADER}" + + # if the header file actually exists, add it + if test "$(ls $INCLUDED_HEADER_WITH_PATH 2>/dev/null)" = "$INCLUDED_HEADER_WITH_PATH"; then + # remove "../" from the path + cd $(dirname $INCLUDED_HEADER_WITH_PATH) + HEADER_FULL_PATH=$(pwd) + HEADER_RELATIVE_PATH=${HEADER_FULL_PATH#$MODULE_FULL_PATH} + HEADER_RELATIVE_PATH=$(echo $HEADER_RELATIVE_PATH | sed 's/^.//') + INCLUDED_HEADER_WITH_PATH="${HEADER_RELATIVE_PATH}/${INCLUDED_BASE_NAME}" + cd $MODULE_FULL_PATH + echo "$INCLUDED_HEADER_WITH_PATH" >> tmp_header_file + fi + done + done + + # sort the required headers, eliminate copies + REQUIRED_HEADERS=$(sort -u tmp_header_file) +done + +# remove the file that stores all required headers line by line +rm -f tmp_header_file + +# provide some output and copy everything to the new module +echo "" +echo -n "Number of required headers: " +echo "$REQUIRED_HEADERS" | wc -w +for HEADER in $REQUIRED_HEADERS; do + echo $HEADER + rsync -R $HEADER ../$MODULE_NAME +done +for DIR_PATH in $ALL_DIRECTORIES; do + rsync -rR $DIR_PATH ../$MODULE_NAME +done + +# delete all architecture-dependent files +cd ../$MODULE_NAME +find . -name Makefile.in -delete +find . -name Makefile -delete +find . -name '*.o' -delete +find . -wholename '*.deps/*' -delete +find . -path '*.deps' -delete +echo "Removed architecture-dependent files." + +# remove directories that are not required +sed -i '/"dune"/d' CMakeLists.txt +sed -i '/"src"/d' CMakeLists.txt +sed -i '/"m4"/d' CMakeLists.txt +rm -rf dune/ +rm -rf src/ +rm -rf m4/ + +# create a list of the subfolders +EMPTY_DIR_NAME="." +rm -f tmp_subdir_file +for HEADER in $REQUIRED_HEADERS; do + + # move through every header, cutting off the last folder + while test "$HEADER" != $EMPTY_DIR_NAME; do + if test "$(dirname $HEADER)" != $EMPTY_DIR_NAME; then + dirname $HEADER >> tmp_subdir_file + fi + + HEADER=$(dirname $HEADER) + done + + # finally add the topmost folder + if test "$(basename $HEADER)" != $EMPTY_DIR_NAME; then + basename $HEADER >> tmp_subdir_file + fi +done +SUBDIR_LIST=$(sort -u tmp_subdir_file) +rm -f tmp_subdir_file + +# treat every subfolder +START_DIR=$PWD +INITIAL_SUBDIR_LIST="" +for SUBDIR in $SUBDIR_LIST; do + if test "$SUBDIR" = "$(basename $SUBDIR)"; then + INITIAL_SUBDIR_LIST="$INITIAL_SUBDIR_LIST $SUBDIR" + fi + + cd $SUBDIR + + # create lists of files and folders + FILE_LIST="" + DIR_LIST="" + for FILE_OR_FOLDER in $( ls ); do + if ([ -f $FILE_OR_FOLDER ]); then + FILE_LIST="$FILE_LIST $FILE_OR_FOLDER" + fi + + if ([ -d $FILE_OR_FOLDER ]); then + DIR_LIST="$DIR_LIST $FILE_OR_FOLDER" + fi + done + + # create CMakeLists.txt if not present + if ([ ! -f CMakeLists.txt ]); then + # add subfolder information + for DIR in $DIR_LIST; do + echo "add_subdirectory(\"$DIR\")" >> CMakeLists.txt + done + + # determine whether to add file information + ADD_FILE_INFO="0" + for FILE in $FILE_LIST; do + if ([ -f $FILE ]); then + ADD_FILE_INFO="1" + fi + done + + # add file information + if test "$ADD_FILE_INFO" = "1"; then + echo "" >> CMakeLists.txt + echo "install(FILES" >> CMakeLists.txt + + for FILE in $FILE_LIST; do + echo " $FILE" >> CMakeLists.txt + done + + echo " DESTINATION \${CMAKE_INSTALL_INCLUDEDIR}/$SUBDIR)" >> CMakeLists.txt + fi + fi + + cd $START_DIR + +done + +# update top CMakeLists.txt +for INITIAL_SUBDIR in $INITIAL_SUBDIR_LIST; do + sed -i '/add_subdirectory("doc")/a add_subdirectory('"$INITIAL_SUBDIR"')' CMakeLists.txt +done +echo "Updated and created CMakeLists.txt's." +cd .. + +# add includes to the automatically generated file *Macros.cmake +MACROS_FILE="$(find $MODULE_NAME -name '*Macros.cmake')" +if test "$(find $MODULE_NAME -type f -name 'CMakeLists.txt' -exec grep add_csv_file_links {} \; 2>/dev/null)" != ""; then + cp dumux-devel/cmake/modules/AddCSVFileLinks.cmake $MODULE_NAME/cmake/modules/. + echo "include(AddCSVFileLinks)" >>$MACROS_FILE +fi +if test "$(find $MODULE_NAME -type f -name 'CMakeLists.txt' -exec grep add_executable_all {} \; 2>/dev/null)" != ""; then + cp dumux-devel/cmake/modules/AddExecutableAll.cmake $MODULE_NAME/cmake/modules/. + echo "include(AddExecutableAll)" >>$MACROS_FILE +fi +if test "$(find $MODULE_NAME -type f -name 'CMakeLists.txt' -exec grep add_file_link {} \; 2>/dev/null)" != ""; then + cp dumux-devel/cmake/modules/AddFileLink.cmake $MODULE_NAME/cmake/modules/. + echo "include(AddFileLink)" >>$MACROS_FILE +fi +if test "$(find $MODULE_NAME -type f -name 'CMakeLists.txt' -exec grep add_folder_link {} \; 2>/dev/null)" != ""; then + cp dumux-devel/cmake/modules/AddFolderLink.cmake $MODULE_NAME/cmake/modules/. + echo "include(AddFolderLink)" >>$MACROS_FILE +fi +if test "$(find $MODULE_NAME -type f -name 'CMakeLists.txt' -exec grep add_gnuplot_file_links {} \; 2>/dev/null)" != ""; then + cp dumux-devel/cmake/modules/AddGnuplotFileLinks.cmake $MODULE_NAME/cmake/modules/. + echo "include(AddGnuplotFileLinks)" >>$MACROS_FILE +fi + +# create $README_FILE +README_FILE="README.md" +mv $MODULE_NAME/README $MODULE_NAME/$README_FILE +echo "This file has been created automatically. Please adapt it to your needs." >$MODULE_NAME/$README_FILE +echo "" >>$MODULE_NAME/$README_FILE +echo "===============================" >>$MODULE_NAME/$README_FILE +echo "" >>$MODULE_NAME/$README_FILE +echo "The content of this DUNE module was extracted from the module $MODULE_DIR." >>$MODULE_NAME/$README_FILE +echo "In particular, the following subfolders of $MODULE_DIR have been extracted:" >>$MODULE_NAME/$README_FILE +echo "" >>$MODULE_NAME/$README_FILE +for DIR_PATH in $ALL_DIRECTORIES; do + echo " $DIR_PATH," >>$MODULE_NAME/$README_FILE +done +echo "" >>$MODULE_NAME/$README_FILE +echo "Additionally, all headers in $MODULE_DIR that are required to build the" >>$MODULE_NAME/$README_FILE +echo "executables from the sources" >>$MODULE_NAME/$README_FILE +echo "" >>$MODULE_NAME/$README_FILE +for SOURCE in $ALL_SOURCES; do + echo " $SOURCE," >>$MODULE_NAME/$README_FILE +done +echo "" >>$MODULE_NAME/$README_FILE +echo "have been extracted. You can build the module just like any other DUNE" >>$MODULE_NAME/$README_FILE +echo "module. For building and running the executables, please go to the folders" >>$MODULE_NAME/$README_FILE +echo "containing the sources listed above." >>$MODULE_NAME/$README_FILE +echo "" >>$MODULE_NAME/$README_FILE +echo "" >>$MODULE_NAME/$README_FILE +echo "" >>$MODULE_NAME/$README_FILE +echo "" >>$MODULE_NAME/$README_FILE + +# get versions from modules we are depeding on +# create patches for un-pushed commits and uncomitted changes + +# try to find the dunecontrol script +if hash dunecontrol 2>/dev/null; then + DUNE_CONTROL="dunecontrol" +else + DUNE_CONTROL=$(find . -type f -executable -name 'dunecontrol') +fi +if test "$DUNE_CONTROL" = ""; then + echo "ERROR: Could not find dunecontrol." + echo "Be sure to either have dunecontrol in your search path" + echo "or to run this script from a directory that contains dunecontrol." + exit +fi +# get names of all modules we are depeding on +echo "Extracting dependencies to other Dune modules" +DEPENDING_MODULE_NAMES=$($DUNE_CONTROL --module=$MODULE_NAME 2>/dev/null | head -n 1) +DEPENDING_MODULE_NAMES=$(sed 's/--- going to build //' <<< "$DEPENDING_MODULE_NAMES") +DEPENDING_MODULE_NAMES=$(sed 's/ ---//' <<< "$DEPENDING_MODULE_NAMES") +# load script +CALL_FROM_EXTERNAL_SCRIPT="yes" +SCRIPT_DIR="${BASH_SOURCE%/*}" +if [[ ! -d "$SCRIPT_DIR" ]]; then + SCRIPT_DIR="$PWD"; +fi +# create install script +touch $MODULE_NAME/install$MODULE_NAME.sh +. "$SCRIPT_DIR/getusedversions.sh" +# execute function from script +echo "Extracting Git status of dependencies and creating patches" +for MOD in $DEPENDING_MODULE_NAMES +do + if [ $MOD != $MODULE_NAME ]; then + MODULE_DIR=${MOD%*/} + getVersionGit $MODULE_DIR $(pwd)/$MODULE_NAME/install$MODULE_NAME.sh >>$MODULE_NAME/$README_FILE + fi +done + +# move patches folder into module if existing +if [[ -d patches ]]; then + mv patches $MODULE_NAME +fi + +# output guidence for users +echo "" +echo "*************************************************************************" +echo "The extracted module is contained in the subfolder \"$MODULE_NAME\"." +echo "You can build it using \"dunecontrol ... --only=$MODULE_NAME all\"." +echo "*************************************************************************" +echo "BEFORE building, you can add the module to dumux-pub by something like:" +echo "(Rename module name if it does not match the AuthorLastNameYearx scheme" +echo "and commit it to the Git repository dumux-pub)" +echo "git clone https://git.iws.uni-stuttgart.de/dumux-pub/AuthorLastNameYearx.git" +echo "sed -i '/Module:/c\Module: AuthorLastNameYearx' $MODULE_NAME/dune.module" +echo "mv $MODULE_NAME/* dumux-pub/AuthorLastNameYearx/." +echo "cd AuthorLastNameYearx" +echo "git commit -a" +echo "git push" + +exit 0 diff --git a/bin/moduleutil/getusedversions.sh b/bin/moduleutil/getusedversions.sh new file mode 100755 index 0000000000000000000000000000000000000000..6dc2c1d9d4b3593a91eeafe8c3773ebde5e2fb54 --- /dev/null +++ b/bin/moduleutil/getusedversions.sh @@ -0,0 +1,105 @@ +# !/bin/bash + +# skript to extract Git version information +# including automating patch extraction and handling of uncommitted changes +# +# (c) 2016 Thomas Fetzer +# (c) 2016 Christoph Grüninger +# + +if [ "${args[1]}" = "-h" ]; then + echo "USAGE: ./getDumuxDuneVersions.sh" + echo; exit +fi + +OUTFILE=versionNumbers.txt + +# create patches from get local commits +# $1 directory /which is local copy of Git repository to check, assumed to be identical with module name +# $2 script file to append command for checking out Git repository +function getPatchesGit +{ + # if not yet existing, create common patch directory + if [ ! -d ../patches ]; then + mkdir ../patches + fi + # create directory for patches of module + mkdir ../patches-$1 + + # create patch for local commits + git format-patch --output-directory ../patches-$1 @{upstream} + # create extra patch for uncommitted changes if necessary + if [[ `git status --porcelain | grep -v "build.*"` ]]; then + git diff > ../patches-$1/9999-uncommitted-changes.patch + fi + + # move and rename all patches to common patch directory + MODULE_PWD=$PWD + cd ../patches-$1 ; + for file in *.patch + do + mv $file ../patches/$1_$file + printf "Created patch %s\n" $1_$file + echo "patch -p1 < ../patches/$1_$file" >> $2 + done + cd $MODULE_PWD + # remove helper dirctory + rm -r ../patches-$1 +} + +# get version from Git, output and write to file +# $1 directory which is local copy of Git repository to check, assumed to be identical with module name +# $2 script file to append command for checking out Git repository +function getVersionGit +{ + # enter directory + cd $1 + # get URL from remote a.k.a. the repository + GIT_REMOTE="$(git ls-remote --get-url)" + # get revision, date, author and branch of last remote/upstream commit + GIT_UPSTREAM_REVISION="$(git log -n 1 --format=%H @{upstream})" + GIT_UPSTREAM_DATE="$(git log -n 1 --format=%ai @{upstream})" + GIT_UPSTREAM_AUTHOR="$(git log -n 1 --format=%an @{upstream})" + GIT_UPSTREAM_BRANCH="$(git rev-parse --abbrev-ref HEAD)" + printf "%-25s %-15s %-15s\n" $1 $GIT_UPSTREAM_BRANCH $GIT_UPSTREAM_REVISION + echo "# $1" >> $2 + echo "# $GIT_UPSTREAM_BRANCH # $GIT_UPSTREAM_REVISION # $GIT_UPSTREAM_DATE # $GIT_UPSTREAM_AUTHOR" >> $2 + echo "git clone $GIT_REMOTE" >> $2 + echo "cd $1" >> $2 + echo "git checkout $GIT_UPSTREAM_BRANCH" >> $2 + echo "git reset --hard $GIT_UPSTREAM_REVISION" >> $2 + # check for untracked files and error out if found, but ignore build* + if [[ `git ls-files --others --exclude-standard | grep -v "build*" | grep -v "\.[A-Za-z]*"` ]]; then + echo "Error: Found untracked files in module $1. Please commit, stash or remove them." + echo "You might want to delete the folder patches/ and the module just created." + exit + fi + # create patches if number of commits is not zero + if [[ "$(git rev-list HEAD ^@{upstream} --count)" > 0 ]] || [[ `git status --porcelain | grep -v "build.*" | grep -v "\.[A-Za-z]*"` ]]; then + getPatchesGit $1 $2 + fi + echo "cd .." >> $2 + echo "" >> $2 + cd .. +} + +# run script from comand line +# suppressed for use of external script when variable set accordingly +if [ "$CALL_FROM_EXTERNAL_SCRIPT" == "no" ]; then + echo "# DUNE/DUMUX VERSIONS" > $OUTFILE + + echo "Creating file containing the version numbers:" + for dir in dune-* dumux* + do + DIR=${dir%*/} + # echo $DIR + # skip folders that are no Git repository + if [ -d $DIR/.git ]; then + getVersionGit $DIR ../$OUTFILE + fi + done + + echo "done" + + exit +fi